All classes:
- botocore.NullHandler
- botocore.UNSIGNED
- botocore.vendored.requests.packages.urllib3.exceptions.HTTPError
- botocore.vendored.requests.packages.urllib3.exceptions.HTTPWarning
- botocore.vendored.requests.packages.urllib3.exceptions.PoolError
- botocore.vendored.requests.packages.urllib3.exceptions.RequestError
- botocore.vendored.requests.packages.urllib3.exceptions.SSLError
- botocore.vendored.requests.packages.urllib3.exceptions.ProxyError
- botocore.vendored.requests.packages.urllib3.exceptions.DecodeError
- botocore.vendored.requests.packages.urllib3.exceptions.ProtocolError
- botocore.vendored.requests.packages.urllib3.exceptions.MaxRetryError
- botocore.vendored.requests.packages.urllib3.exceptions.HostChangedError
- botocore.vendored.requests.packages.urllib3.exceptions.TimeoutStateError
- botocore.vendored.requests.packages.urllib3.exceptions.TimeoutError
- botocore.vendored.requests.packages.urllib3.exceptions.ReadTimeoutError
- botocore.vendored.requests.packages.urllib3.exceptions.ConnectTimeoutError
- botocore.vendored.requests.packages.urllib3.exceptions.EmptyPoolError
- botocore.vendored.requests.packages.urllib3.exceptions.ClosedPoolError
- botocore.vendored.requests.packages.urllib3.exceptions.LocationValueError
- botocore.vendored.requests.packages.urllib3.exceptions.LocationParseError
- botocore.vendored.requests.packages.urllib3.exceptions.ResponseError
- botocore.vendored.requests.packages.urllib3.exceptions.SecurityWarning
- botocore.vendored.requests.packages.urllib3.exceptions.InsecureRequestWarning
- botocore.vendored.requests.packages.urllib3.exceptions.SystemTimeWarning
- botocore.vendored.requests.packages.urllib3.exceptions.InsecurePlatformWarning
- botocore.vendored.requests.packages.urllib3.exceptions.ResponseNotChunked
- botocore.vendored.requests.exceptions.RequestException
- botocore.vendored.requests.exceptions.HTTPError
- botocore.vendored.requests.exceptions.ConnectionError
- botocore.vendored.requests.exceptions.ProxyError
- botocore.vendored.requests.exceptions.SSLError
- botocore.vendored.requests.exceptions.Timeout
- botocore.vendored.requests.exceptions.ConnectTimeout
- botocore.vendored.requests.exceptions.ReadTimeout
- botocore.vendored.requests.exceptions.URLRequired
- botocore.vendored.requests.exceptions.TooManyRedirects
- botocore.vendored.requests.exceptions.MissingSchema
- botocore.vendored.requests.exceptions.InvalidSchema
- botocore.vendored.requests.exceptions.InvalidURL
- botocore.vendored.requests.exceptions.ChunkedEncodingError
- botocore.vendored.requests.exceptions.ContentDecodingError
- botocore.vendored.requests.exceptions.StreamConsumedError
- botocore.vendored.requests.exceptions.RetryError
- botocore.exceptions.BotoCoreError
- botocore.exceptions.DataNotFoundError
- botocore.exceptions.UnknownServiceError
- botocore.exceptions.UnknownRegionError
- botocore.exceptions.ApiVersionNotFoundError
- botocore.exceptions.HTTPClientError
- botocore.exceptions.ConnectionError
- botocore.exceptions.InvalidIMDSEndpointError
- botocore.exceptions.InvalidIMDSEndpointModeError
- botocore.exceptions.EndpointConnectionError
- botocore.exceptions.SSLError
- botocore.exceptions.ConnectionClosedError
- botocore.exceptions.ReadTimeoutError
- botocore.exceptions.ConnectTimeoutError
- botocore.exceptions.ProxyConnectionError
- botocore.exceptions.ResponseStreamingError
- botocore.exceptions.NoCredentialsError
- botocore.exceptions.NoAuthTokenError
- botocore.exceptions.TokenRetrievalError
- botocore.exceptions.PartialCredentialsError
- botocore.exceptions.CredentialRetrievalError
- botocore.exceptions.UnknownSignatureVersionError
- botocore.exceptions.ServiceNotInRegionError
- botocore.exceptions.BaseEndpointResolverError
- botocore.exceptions.NoRegionError
- botocore.exceptions.EndpointVariantError
- botocore.exceptions.UnknownEndpointError
- botocore.exceptions.UnknownFIPSEndpointError
- botocore.exceptions.ProfileNotFound
- botocore.exceptions.ConfigParseError
- botocore.exceptions.ConfigNotFound
- botocore.exceptions.MissingParametersError
- botocore.exceptions.ValidationError
- botocore.exceptions.ParamValidationError
- botocore.exceptions.UnknownKeyError
- botocore.exceptions.RangeError
- botocore.exceptions.UnknownParameterError
- botocore.exceptions.InvalidRegionError
- botocore.exceptions.AliasConflictParameterError
- botocore.exceptions.UnknownServiceStyle
- botocore.exceptions.PaginationError
- botocore.exceptions.OperationNotPageableError
- botocore.exceptions.ChecksumError
- botocore.exceptions.UnseekableStreamError
- botocore.exceptions.WaiterError
- botocore.exceptions.IncompleteReadError
- botocore.exceptions.InvalidExpressionError
- botocore.exceptions.UnknownCredentialError
- botocore.exceptions.WaiterConfigError
- botocore.exceptions.UnknownClientMethodError
- botocore.exceptions.UnsupportedSignatureVersionError
- botocore.exceptions.ClientError
- botocore.exceptions.EventStreamError
- botocore.exceptions.UnsupportedTLSVersionWarning
- botocore.exceptions.ImminentRemovalWarning
- botocore.exceptions.InvalidDNSNameError
- botocore.exceptions.InvalidS3AddressingStyleError
- botocore.exceptions.UnsupportedS3ArnError
- botocore.exceptions.UnsupportedS3ControlArnError
- botocore.exceptions.InvalidHostLabelError
- botocore.exceptions.UnsupportedOutpostResourceError
- botocore.exceptions.UnsupportedS3ConfigurationError
- botocore.exceptions.UnsupportedS3AccesspointConfigurationError
- botocore.exceptions.InvalidEndpointDiscoveryConfigurationError
- botocore.exceptions.UnsupportedS3ControlConfigurationError
- botocore.exceptions.InvalidRetryConfigurationError
- botocore.exceptions.InvalidMaxRetryAttemptsError
- botocore.exceptions.InvalidRetryModeError
- botocore.exceptions.InvalidS3UsEast1RegionalEndpointConfigError
- botocore.exceptions.InvalidSTSRegionalEndpointsConfigError
- botocore.exceptions.StubResponseError
- botocore.exceptions.StubAssertionError
- botocore.exceptions.UnStubbedResponseError
- botocore.exceptions.InvalidConfigError
- botocore.exceptions.InfiniteLoopConfigError
- botocore.exceptions.RefreshWithMFAUnsupportedError
- botocore.exceptions.MD5UnavailableError
- botocore.exceptions.MissingDependencyException
- botocore.exceptions.MetadataRetrievalError
- botocore.exceptions.UndefinedModelAttributeError
- botocore.exceptions.MissingServiceIdError
- botocore.exceptions.SSOError
- botocore.exceptions.SSOTokenLoadError
- botocore.exceptions.UnauthorizedSSOTokenError
- botocore.exceptions.CapacityNotAvailableError
- botocore.exceptions.InvalidProxiesConfigError
- botocore.exceptions.InvalidDefaultsMode
- botocore.exceptions.AwsChunkedWrapperError
- botocore.exceptions.FlexibleChecksumError
- botocore.exceptions.InvalidEndpointConfigurationError
- botocore.exceptions.EndpointProviderError
- botocore.exceptions.EndpointResolutionError
- botocore.exceptions.UnknownEndpointResolutionBuiltInName
- botocore.vendored.six.X
- botocore.vendored.six._LazyDescr
- botocore.vendored.six.MovedModule
- botocore.vendored.six._LazyModule
- botocore.vendored.six.MovedAttribute
- botocore.vendored.six._SixMetaPathImporter
- botocore.vendored.six._MovedItems
- botocore.vendored.six.Module_six_moves_urllib_parse
- botocore.vendored.six.Module_six_moves_urllib_error
- botocore.vendored.six.Module_six_moves_urllib_request
- botocore.vendored.six.Module_six_moves_urllib_response
- botocore.vendored.six.Module_six_moves_urllib_robotparser
- botocore.vendored.six.Module_six_moves_urllib
- botocore.vendored.six.Iterator
- botocore.vendored.six.with_metaclass.metaclass
- botocore.compat.HTTPHeaders
- botocore.awsrequest.AWSHTTPResponse
- botocore.awsrequest.AWSConnection
- botocore.awsrequest.AWSHTTPConnection
- botocore.awsrequest.AWSHTTPSConnection
- botocore.awsrequest.AWSHTTPConnectionPool
- botocore.awsrequest.AWSHTTPSConnectionPool
- botocore.awsrequest.AWSRequestPreparer
- botocore.awsrequest.AWSRequest
- botocore.awsrequest.AWSPreparedRequest
- botocore.awsrequest.AWSResponse
- botocore.awsrequest._HeaderKey
- botocore.awsrequest.HeadersDict
- botocore.httpsession.ProxyConfiguration
- botocore.httpsession.URLLib3Session
- botocore.utils._RetriesExceededError
- botocore.utils.BadIMDSRequestError
- botocore.utils.IMDSFetcher
- botocore.utils.InstanceMetadataFetcher
- botocore.utils.IMDSRegionProvider
- botocore.utils.InstanceMetadataRegionFetcher
- botocore.utils.CachedProperty
- botocore.utils.ArgumentGenerator
- botocore.utils.S3RegionRedirectorv2
- botocore.utils.S3RegionRedirector
- botocore.utils.InvalidArnException
- botocore.utils.ArnParser
- botocore.utils.S3ArnParamHandler
- botocore.utils.S3EndpointSetter
- botocore.utils.S3ControlEndpointSetter
- botocore.utils.S3ControlArnParamHandler
- botocore.utils.S3ControlArnParamHandlerv2
- botocore.utils.ContainerMetadataFetcher
- botocore.utils.FileWebIdentityTokenLoader
- botocore.utils.SSOTokenLoader
- botocore.utils.EventbridgeSignerSetter
- botocore.utils.JSONFileCache
- botocore.validate.ValidationErrors
- botocore.validate.ParamValidator
- botocore.validate.ParamValidationDecorator
- botocore.serialize.Serializer
- botocore.serialize.QuerySerializer
- botocore.serialize.EC2Serializer
- botocore.serialize.JSONSerializer
- botocore.serialize.BaseRestSerializer
- botocore.serialize.RestJSONSerializer
- botocore.serialize.RestXMLSerializer
- botocore.model.NoShapeFoundError
- botocore.model.InvalidShapeError
- botocore.model.OperationNotFoundError
- botocore.model.InvalidShapeReferenceError
- botocore.model.ServiceId
- botocore.model.Shape
- botocore.model.StructureShape
- botocore.model.ListShape
- botocore.model.MapShape
- botocore.model.StringShape
- botocore.model.StaticContextParameter
- botocore.model.ContextParameter
- botocore.model.ClientContextParameter
- botocore.model.ServiceModel
- botocore.model.OperationModel
- botocore.model.ShapeResolver
- botocore.model.UnresolvableShapeMap
- botocore.model.DenormalizedStructureBuilder
- botocore.model.ShapeNameGenerator
- botocore.endpoint_provider.RuleSetStandardLibrary
- botocore.endpoint_provider.BaseRule
- botocore.endpoint_provider.RuleSetEndpoint
- botocore.endpoint_provider.EndpointRule
- botocore.endpoint_provider.ErrorRule
- botocore.endpoint_provider.TreeRule
- botocore.endpoint_provider.RuleCreator
- botocore.endpoint_provider.ParameterType
- botocore.endpoint_provider.ParameterDefinition
- botocore.endpoint_provider.RuleSet
- botocore.endpoint_provider.EndpointProvider
- botocore.eventstream.ParserError
- botocore.eventstream.DuplicateHeader
- botocore.eventstream.InvalidHeadersLength
- botocore.eventstream.InvalidPayloadLength
- botocore.eventstream.ChecksumMismatch
- botocore.eventstream.NoInitialResponseError
- botocore.eventstream.DecodeUtils
- botocore.eventstream.MessagePrelude
- botocore.eventstream.EventStreamMessage
- botocore.eventstream.EventStreamHeaderParser
- botocore.eventstream.EventStreamBuffer
- botocore.eventstream.EventStream
- botocore.paginate.TokenEncoder
- botocore.paginate.TokenDecoder
- botocore.paginate.PaginatorModel
- botocore.paginate.PageIterator
- botocore.paginate.Paginator
- botocore.paginate.ResultKeyIterator
- botocore.parsers.ResponseParserFactory
- botocore.parsers.ResponseParserError
- botocore.parsers.ResponseParser
- botocore.parsers.BaseXMLResponseParser
- botocore.parsers.QueryParser
- botocore.parsers.EC2QueryParser
- botocore.parsers.BaseJSONParser
- botocore.parsers.BaseEventStreamParser
- botocore.parsers.EventStreamJSONParser
- botocore.parsers.EventStreamXMLParser
- botocore.parsers.JSONParser
- botocore.parsers.BaseRestParser
- botocore.parsers.RestJSONParser
- botocore.parsers.RestXMLParser
- botocore.history.BaseHistoryHandler
- botocore.history.HistoryRecorder
- botocore.hooks.NodeList
- botocore.hooks.BaseEventHooks
- botocore.hooks.HierarchicalEmitter
- botocore.hooks.EventAliaser
- botocore.hooks._PrefixTrie
- botocore.response.StreamingBody
- botocore.httpchecksum.BaseChecksum
- botocore.httpchecksum.Crc32Checksum
- botocore.httpchecksum.CrtCrc32Checksum
- botocore.httpchecksum.CrtCrc32cChecksum
- botocore.httpchecksum.Sha1Checksum
- botocore.httpchecksum.Sha256Checksum
- botocore.httpchecksum.AwsChunkedWrapper
- botocore.httpchecksum.StreamingChecksumBody
- botocore.endpoint.Endpoint
- botocore.endpoint.EndpointCreator
- botocore.config.Config
- botocore.tokens.FrozenAuthToken
- botocore.tokens.DeferredRefreshableToken
- botocore.tokens.TokenProviderChain
- botocore.tokens.SSOTokenProvider
- botocore.stub._ANY
- botocore.stub.Stubber
- botocore.auth.BaseSigner
- botocore.auth.TokenSigner
- botocore.auth.SigV2Auth
- botocore.auth.SigV3Auth
- botocore.auth.SigV4Auth
- botocore.auth.S3SigV4Auth
- botocore.auth.SigV4QueryAuth
- botocore.auth.S3SigV4QueryAuth
- botocore.auth.S3SigV4PostAuth
- botocore.auth.HmacV1Auth
- botocore.auth.HmacV1QueryAuth
- botocore.auth.HmacV1PostAuth
- botocore.auth.BearerAuth
- botocore.crt.auth.CrtSigV4Auth
- botocore.crt.auth.CrtS3SigV4Auth
- botocore.crt.auth.CrtSigV4AsymAuth
- botocore.crt.auth.CrtS3SigV4AsymAuth
- botocore.crt.auth.CrtSigV4AsymQueryAuth
- botocore.crt.auth.CrtS3SigV4AsymQueryAuth
- botocore.crt.auth.CrtSigV4QueryAuth
- botocore.crt.auth.CrtS3SigV4QueryAuth
- botocore.signers.RequestSigner
- botocore.signers.CloudFrontSigner
- botocore.signers.S3PostPresigner
- botocore.errorfactory.BaseClientExceptions
- botocore.errorfactory.ClientExceptionsFactory
- botocore.docs.bcdoc.docstringparser.DocStringParser
- botocore.docs.bcdoc.docstringparser.HTMLTree
- botocore.docs.bcdoc.docstringparser.Node
- botocore.docs.bcdoc.docstringparser.StemNode
- botocore.docs.bcdoc.docstringparser.TagNode
- botocore.docs.bcdoc.docstringparser.DataNode
- botocore.docs.bcdoc.style.BaseStyle
- botocore.docs.bcdoc.style.ReSTStyle
- botocore.docs.bcdoc.restdoc.ReSTDocument
- botocore.docs.bcdoc.restdoc.DocumentStructure
- botocore.docs.shape.ShapeDocumenter
- botocore.docs.utils.DocumentedShape
- botocore.docs.utils.AutoPopulatedParam
- botocore.docs.utils.HideParamFromOperations
- botocore.docs.utils.AppendParamDocumentation
- botocore.docs.example.BaseExampleDocumenter
- botocore.docs.example.ResponseExampleDocumenter
- botocore.docs.example.RequestExampleDocumenter
- botocore.docs.params.BaseParamsDocumenter
- botocore.docs.params.ResponseParamsDocumenter
- botocore.docs.params.RequestParamsDocumenter
- botocore.docs.paginator.PaginatorDocumenter
- botocore.docs.waiter.WaiterDocumenter
- botocore.docs.docstring.LazyLoadedDocstring
- botocore.docs.docstring.ClientMethodDocstring
- botocore.docs.docstring.WaiterDocstring
- botocore.docs.docstring.PaginatorDocstring
- botocore.docs.sharedexample.SharedExampleDocumenter
- botocore.docs.client.ClientDocumenter
- botocore.docs.client.ClientExceptionsDocumenter
- botocore.docs.service.ServiceDocumenter
- botocore.waiter.NormalizedOperationMethod
- botocore.waiter.WaiterModel
- botocore.waiter.SingleWaiterConfig
- botocore.waiter.AcceptorConfig
- botocore.waiter.Waiter
- botocore.regions.BaseEndpointResolver
- botocore.regions.EndpointResolver
- botocore.regions.EndpointResolverBuiltins
- botocore.regions.EndpointRulesetResolver
- botocore.args.ClientArgsCreator
- botocore.discovery.EndpointDiscoveryException
- botocore.discovery.EndpointDiscoveryRequired
- botocore.discovery.EndpointDiscoveryRefreshFailed
- botocore.discovery.EndpointDiscoveryModel
- botocore.discovery.EndpointDiscoveryManager
- botocore.discovery.EndpointDiscoveryHandler
- botocore.retries.bucket.Clock
- botocore.retries.bucket.TokenBucket
- botocore.retries.quota.RetryQuota
- botocore.retries.base.BaseRetryBackoff
- botocore.retries.base.BaseRetryableChecker
- botocore.retries.special.RetryIDPCommunicationError
- botocore.retries.special.RetryDDBChecksumError
- botocore.retries.standard.RetryHandler
- botocore.retries.standard.RetryEventAdapter
- botocore.retries.standard.RetryContext
- botocore.retries.standard.RetryPolicy
- botocore.retries.standard.ExponentialBackoff
- botocore.retries.standard.MaxAttemptsChecker
- botocore.retries.standard.TransientRetryableChecker
- botocore.retries.standard.ThrottledRetryableChecker
- botocore.retries.standard.ModeledRetryableChecker
- botocore.retries.standard.ModeledRetryErrorDetector
- botocore.retries.standard.ThrottlingErrorDetector
- botocore.retries.standard.StandardRetryConditions
- botocore.retries.standard.OrRetryChecker
- botocore.retries.standard.RetryQuotaChecker
- botocore.retries.throttling.CubicCalculator
- botocore.retries.adaptive.ClientRateLimiter
- botocore.retries.adaptive.RateClocker
- botocore.client.ClientCreator
- botocore.client.ClientEndpointBridge
- botocore.client.BaseClient
- botocore.client.ClientMeta
- botocore.retryhandler.RetryHandler
- botocore.retryhandler.BaseChecker
- botocore.retryhandler.MaxAttemptsDecorator
- botocore.retryhandler.HTTPStatusCodeChecker
- botocore.retryhandler.ServiceErrorCodeChecker
- botocore.retryhandler.MultiChecker
- botocore.retryhandler.CRC32Checker
- botocore.retryhandler.ExceptionRaiser
- botocore.handlers.DeprecatedServiceDocumenter
- botocore.handlers.ParameterAlias
- botocore.handlers.ClientMethodAlias
- botocore.handlers.HeaderToHostHoister
- botocore.loaders.JSONFileLoader
- botocore.loaders.Loader
- botocore.loaders.ExtrasProcessor
- botocore.credentials.ProfileProviderBuilder
- botocore.credentials.create_mfa_serial_refresher._Refresher
- botocore.credentials.Credentials
- botocore.credentials.RefreshableCredentials
- botocore.credentials.DeferredRefreshableCredentials
- botocore.credentials.CachedCredentialFetcher
- botocore.credentials.BaseAssumeRoleCredentialFetcher
- botocore.credentials.AssumeRoleCredentialFetcher
- botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher
- botocore.credentials.CredentialProvider
- botocore.credentials.ProcessProvider
- botocore.credentials.InstanceMetadataProvider
- botocore.credentials.EnvProvider
- botocore.credentials.OriginalEC2Provider
- botocore.credentials.SharedCredentialProvider
- botocore.credentials.ConfigProvider
- botocore.credentials.BotoProvider
- botocore.credentials.AssumeRoleProvider
- botocore.credentials.AssumeRoleWithWebIdentityProvider
- botocore.credentials.CanonicalNameCredentialSourcer
- botocore.credentials.ContainerProvider
- botocore.credentials.CredentialResolver
- botocore.credentials.SSOCredentialFetcher
- botocore.credentials.SSOProvider
- botocore.monitoring.Monitor
- botocore.monitoring.MonitorEventAdapter
- botocore.monitoring.BaseMonitorEvent
- botocore.monitoring.APICallEvent
- botocore.monitoring.APICallAttemptEvent
- botocore.monitoring.CSMSerializer
- botocore.monitoring.SocketPublisher
- botocore.configprovider.DefaultConfigResolver
- botocore.configprovider.ConfigChainFactory
- botocore.configprovider.ConfigValueStore
- botocore.configprovider.SmartDefaultsConfigStoreFactory
- botocore.configprovider.BaseProvider
- botocore.configprovider.ChainProvider
- botocore.configprovider.InstanceVarProvider
- botocore.configprovider.ScopedConfigProvider
- botocore.configprovider.EnvironmentProvider
- botocore.configprovider.SectionConfigProvider
- botocore.configprovider.ConstantProvider
- botocore.session.Session
- botocore.session.ComponentLocator
- botocore.session.SessionVarDict
- botocore.session.SubsetChainConfigFactory
All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: '...fuzz_serialization'
    functionSourceFile: '...fuzz_serialization'
    functionUses: 0
    functionsReached:
    - atheris.instrument_all
    - atheris.Fuzz
    - '...fuzz_serialization.main'
    - atheris.Setup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 25
    functionName: '...fuzz_serialization.TestOneInput'
    functionSourceFile: '...fuzz_serialization'
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.serialize.create_serializer
    - <builtin>.enumerate
    - botocore.validate.ParamValidationDecorator.__init__
    - botocore.model.ServiceModel.__init__
    - <builtin>.getattr
    - fdp.ConsumeIntInRange
    - <builtin>.type
    - botocore.validate.ParamValidator._check_special_validation_cases
    - botocore.validate.ParamValidator.validate
    - shape.serialization.get
    - service_description.get
    - botocore.validate.ParamValidator._validate
    - botocore.validate.ValidationErrors.has_errors
    - <builtin>.hasattr
    - botocore.validate.ParamValidator._validate_jsonvalue_string
    - json.dumps
    - operation_model.get
    - botocore.validate.ParamValidationDecorator.serialize_to_request
    - botocore.model.ShapeResolver.__init__
    - botocore.model.ServiceModel.operation_model
    - botocore.validate.ValidationErrors.__init__
    - atheris.FuzzedDataProvider
    - <builtin>.str
    - botocore.utils.is_json_value_header
    - botocore.validate.ValidationErrors.report
    - io.BytesIO
    - botocore.validate.ParamValidator._validate_document
    - botocore.model.OperationModel.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.FuzzedDataProvider
    functionSourceFile: atheris
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.len
    functionSourceFile: <builtin>
    functionUses: 302
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeIntInRange
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - service_description
    - service_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 296
    functionName: botocore.model.ServiceModel.__init__
    functionSourceFile: botocore.model
    functionUses: 5
    functionsReached:
    - botocore.model.ShapeResolver.__init__
    - service_description.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - protocol_name
    - include_validation
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: botocore.serialize.create_serializer
    functionSourceFile: botocore.serialize
    functionUses: 4
    functionsReached:
    - botocore.validate.ParamValidationDecorator.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO
    functionSourceFile: io
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - operation_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 360
    functionName: botocore.model.ServiceModel.operation_model
    functionSourceFile: botocore.model
    functionUses: 9
    functionsReached:
    - operation_model.get
    - botocore.model.OperationModel.__init__
    linkageType: pythonLinkage
    raised:
    - OperationNotFoundError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - parameters
    - operation_model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 374
    functionName: botocore.validate.ParamValidationDecorator.serialize_to_request
    functionSourceFile: botocore.validate
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - <builtin>.isinstance
    - botocore.validate.ValidationErrors.has_errors
    - <builtin>.type
    - <builtin>.hasattr
    - botocore.validate.ParamValidator._validate_jsonvalue_string
    - botocore.utils.is_json_value_header
    - json.dumps
    - botocore.validate.ValidationErrors.report
    - botocore.validate.ParamValidator._check_special_validation_cases
    - botocore.validate.ParamValidator.validate
    - shape.serialization.get
    - botocore.validate.ParamValidationDecorator.serialize_to_request
    - botocore.validate.ValidationErrors.__init__
    - <builtin>.enumerate
    - botocore.validate.ParamValidator._validate_document
    - <builtin>.str
    - botocore.validate.ParamValidator._validate
    linkageType: pythonLinkage
    raised:
    - ParamValidationError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 73
    functionName: '...fuzz_serialization.main'
    functionSourceFile: '...fuzz_serialization'
    functionUses: 1
    functionsReached:
    - atheris.instrument_all
    - atheris.Fuzz
    - atheris.Setup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    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
    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
    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: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.serialize
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - param_validator
    - serializer
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 370
    functionName: botocore.validate.ParamValidationDecorator.__init__
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - parameters
    - operation_model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 81
    functionName: botocore.serialize.Serializer.serialize_to_request
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 119
    functionName: botocore.serialize.Serializer._create_default_request
    functionSourceFile: botocore.serialize
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 134
    functionName: botocore.serialize.Serializer._timestamp_iso8601
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - value.strftime
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.strftime
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 141
    functionName: botocore.serialize.Serializer._timestamp_unixtimestamp
    functionSourceFile: botocore.serialize
    functionUses: 1
    functionsReached:
    - calendar.timegm
    - <builtin>.int
    - value.timetuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.timetuple
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: calendar.timegm
    functionSourceFile: calendar
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.int
    functionSourceFile: <builtin>
    functionUses: 54
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 144
    functionName: botocore.serialize.Serializer._timestamp_rfc822
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - calendar.timegm
    - <builtin>.isinstance
    - value.timetuple
    - botocore.serialize.Serializer._timestamp_unixtimestamp
    - <builtin>.int
    - email.utils.formatdate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.isinstance
    functionSourceFile: <builtin>
    functionUses: 372
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: email.utils.formatdate
    functionSourceFile: email
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - value
    - timestamp_format
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 149
    functionName: botocore.serialize.Serializer._convert_timestamp_to_str
    functionSourceFile: botocore.serialize
    functionUses: 6
    functionsReached:
    - dateutil.parser.parse
    - <builtin>.getattr
    - <builtin>.isinstance
    - dateutil.tz.tzutc
    - botocore.utils.parse_timestamp
    - logger.debug
    - botocore.utils.parse_to_aware_datetime
    - datetime.datetime.fromtimestamp
    - botocore.utils._parse_timestamp_with_tzinfo
    - timestamp_format.lower
    - datetime_obj.astimezone
    - datetime_obj.replace
    - <builtin>.float
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: timestamp_format.lower
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 953
    functionName: botocore.utils.parse_to_aware_datetime
    functionSourceFile: botocore.utils
    functionUses: 9
    functionsReached:
    - dateutil.parser.parse
    - <builtin>.isinstance
    - dateutil.tz.tzutc
    - logger.debug
    - botocore.utils.parse_timestamp
    - datetime.datetime.fromtimestamp
    - botocore.utils._parse_timestamp_with_tzinfo
    - datetime_obj.astimezone
    - datetime_obj.replace
    - <builtin>.float
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.getattr
    functionSourceFile: <builtin>
    functionUses: 241
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - shape
    - default_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 158
    functionName: botocore.serialize.Serializer._get_serialized_name
    functionSourceFile: botocore.serialize
    functionUses: 4
    functionsReached:
    - shape.serialization.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: shape.serialization.get
    functionSourceFile: <builtin>
    functionUses: 72
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 163
    functionName: botocore.serialize.Serializer._get_base64
    functionSourceFile: botocore.serialize
    functionUses: 6
    functionsReached:
    - value.encode
    - <builtin>.isinstance
    - base64.b64encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.encode
    functionSourceFile: <builtin>
    functionUses: 46
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: base64.b64encode
    functionSourceFile: base64
    functionUses: 69
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - parameters
    - operation_model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 171
    functionName: botocore.serialize.Serializer._expand_host_prefix
    functionSourceFile: botocore.serialize
    functionUses: 3
    functionsReached:
    - host_prefix_expression.format
    - shape.serialization.get
    - input_members.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: input_members.items
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: host_prefix_expression.format
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - parameters
    - operation_model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 195
    functionName: botocore.serialize.QuerySerializer.serialize_to_request
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - host_prefix_expression.format
    - <builtin>.getattr
    - botocore.serialize.Serializer._expand_host_prefix
    - botocore.serialize.Serializer._create_default_request
    - operation_model.http.get
    - shape.serialization.get
    - botocore.serialize.QuerySerializer._serialize
    - input_members.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operation_model.http.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - serialized
    - value
    - shape
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 219
    functionName: botocore.serialize.QuerySerializer._serialize
    functionSourceFile: botocore.serialize
    functionUses: 5
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argNames:
    - self
    - serialized
    - value
    - shape
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 234
    functionName: botocore.serialize.QuerySerializer._serialize_type_structure
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - shape.serialization.get
    - botocore.serialize.QuerySerializer._serialize
    - botocore.serialize.Serializer._get_serialized_name
    - value.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.items
    functionSourceFile: <builtin>
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 5
    argNames:
    - self
    - serialized
    - value
    - shape
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 243
    functionName: botocore.serialize.QuerySerializer._serialize_type_list
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - botocore.serialize.QuerySerializer._is_shape_flattened
    - shape.member.serialization.get
    - shape.serialization.get
    - botocore.serialize.Serializer._get_serialized_name
    - botocore.serialize.QuerySerializer._serialize
    - prefix.split
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - shape
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 296
    functionName: botocore.serialize.QuerySerializer._is_shape_flattened
    functionSourceFile: botocore.serialize
    functionUses: 2
    functionsReached:
    - shape.serialization.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: shape.member.serialization.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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: prefix.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.enumerate
    functionSourceFile: <builtin>
    functionUses: 69
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 5
    argNames:
    - self
    - serialized
    - value
    - shape
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 262
    functionName: botocore.serialize.QuerySerializer._serialize_type_map
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - botocore.serialize.QuerySerializer._is_shape_flattened
    - template.format
    - shape.serialization.get
    - botocore.serialize.QuerySerializer._serialize
    - <builtin>.enumerate
    - botocore.serialize.Serializer._get_serialized_name
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: template.format
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - serialized
    - value
    - shape
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 278
    functionName: botocore.serialize.QuerySerializer._serialize_type_blob
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - value.encode
    - <builtin>.isinstance
    - base64.b64encode
    - botocore.serialize.Serializer._get_base64
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - serialized
    - value
    - shape
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 282
    functionName: botocore.serialize.QuerySerializer._serialize_type_timestamp
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - dateutil.parser.parse
    - <builtin>.getattr
    - <builtin>.isinstance
    - dateutil.tz.tzutc
    - botocore.utils.parse_timestamp
    - logger.debug
    - botocore.utils.parse_to_aware_datetime
    - datetime.datetime.fromtimestamp
    - botocore.utils._parse_timestamp_with_tzinfo
    - shape.serialization.get
    - timestamp_format.lower
    - datetime_obj.astimezone
    - datetime_obj.replace
    - <builtin>.float
    - botocore.serialize.Serializer._convert_timestamp_to_str
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argNames:
    - self
    - serialized
    - value
    - shape
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 287
    functionName: botocore.serialize.QuerySerializer._serialize_type_boolean
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - serialized
    - value
    - shape
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 293
    functionName: botocore.serialize.QuerySerializer._default_serialize
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - shape
    - default_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 310
    functionName: botocore.serialize.EC2Serializer._get_serialized_name
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - serialized
    - value
    - shape
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 323
    functionName: botocore.serialize.EC2Serializer._serialize_type_list
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - botocore.serialize.QuerySerializer._serialize
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - parameters
    - operation_model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 333
    functionName: botocore.serialize.JSONSerializer.serialize_to_request
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - host_prefix_expression.format
    - <builtin>.getattr
    - botocore.serialize.JSONSerializer._serialize
    - botocore.serialize.Serializer._create_default_request
    - operation_model.http.get
    - input_members.items
    - json.dumps
    - shape.serialization.get
    - botocore.serialize.Serializer._expand_host_prefix
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - serialized
    - value
    - shape
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 359
    functionName: botocore.serialize.JSONSerializer._serialize
    functionSourceFile: botocore.serialize
    functionUses: 5
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: json.dumps
    functionSourceFile: json
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 5
    argNames:
    - self
    - serialized
    - value
    - shape
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 367
    functionName: botocore.serialize.JSONSerializer._serialize_type_structure
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - botocore.serialize.JSONSerializer._serialize
    - value.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - serialized
    - value
    - shape
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 389
    functionName: botocore.serialize.JSONSerializer._serialize_type_map
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - botocore.serialize.JSONSerializer._serialize
    - value.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - serialized
    - value
    - shape
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 395
    functionName: botocore.serialize.JSONSerializer._serialize_type_list
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - list_obj.append
    - botocore.serialize.JSONSerializer._serialize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: list_obj.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - serialized
    - value
    - shape
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 407
    functionName: botocore.serialize.JSONSerializer._default_serialize
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - serialized
    - value
    - shape
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 410
    functionName: botocore.serialize.JSONSerializer._serialize_type_timestamp
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - dateutil.parser.parse
    - <builtin>.getattr
    - <builtin>.isinstance
    - dateutil.tz.tzutc
    - botocore.utils.parse_timestamp
    - logger.debug
    - botocore.utils.parse_to_aware_datetime
    - datetime.datetime.fromtimestamp
    - botocore.utils._parse_timestamp_with_tzinfo
    - shape.serialization.get
    - timestamp_format.lower
    - datetime_obj.astimezone
    - datetime_obj.replace
    - <builtin>.float
    - botocore.serialize.Serializer._convert_timestamp_to_str
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - serialized
    - value
    - shape
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 415
    functionName: botocore.serialize.JSONSerializer._serialize_type_blob
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - value.encode
    - <builtin>.isinstance
    - base64.b64encode
    - botocore.serialize.Serializer._get_base64
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 3
    argNames:
    - self
    - parameters
    - operation_model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 437
    functionName: botocore.serialize.BaseRestSerializer.serialize_to_request
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - host_prefix_expression.format
    - <builtin>.isinstance
    - dateutil.tz.tzutc
    - logger.debug
    - botocore.serialize.Serializer._create_default_request
    - member.serialization.get
    - datetime_obj.astimezone
    - botocore.serialize.BaseRestSerializer._serialize_body_params
    - botocore.serialize.BaseRestSerializer._serialize_payload
    - <builtin>.getattr
    - operation_model.http.get
    - parameters.get
    - botocore.serialize.BaseRestSerializer._do_serialize_header_map
    - botocore.utils.percent_encode
    - shape.serialization.get
    - timestamp_format.lower
    - botocore.serialize.BaseRestSerializer._serialize_content_type
    - base64.b64encode
    - datetime_obj.replace
    - botocore.serialize.BaseRestSerializer._serialize_empty_body
    - value.encode
    - datetime_obj.utctimetuple
    - input_members.items
    - <builtin>.float
    - <builtin>.hasattr
    - botocore.utils.parse_to_aware_datetime
    - datetime.datetime.fromtimestamp
    - json.dumps
    - botocore.utils._parse_timestamp_with_tzinfo
    - re.findall
    - botocore.serialize.BaseRestSerializer._has_streaming_payload
    - botocore.serialize.BaseRestSerializer._convert_header_value
    - user_input.items
    - urllib.parse.quote
    - botocore.serialize.Serializer._convert_timestamp_to_str
    - botocore.serialize.Serializer._get_base64
    - parameters.items
    - botocore.serialize.Serializer._expand_host_prefix
    - calendar.timegm
    - dateutil.parser.parse
    - <builtin>.str
    - body.encode
    - botocore.utils.parse_timestamp
    - botocore.utils.is_json_value_header
    - botocore.serialize.BaseRestSerializer._requires_empty_body
    - botocore.serialize.BaseRestSerializer._render_uri_template
    - urllib.parse.quote.encode
    - template_param.endswith
    - botocore.serialize.BaseRestSerializer._partition_parameters
    - botocore.serialize.BaseRestSerializer._encode_payload
    - uri_template.format
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parameters.items
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 2
    IfCount: 8
    argCount: 5
    argNames:
    - self
    - partitioned
    - param_name
    - param_value
    - shape_members
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 577
    functionName: botocore.serialize.BaseRestSerializer._partition_parameters
    functionSourceFile: botocore.serialize
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - dateutil.tz.tzutc
    - logger.debug
    - member.serialization.get
    - datetime_obj.astimezone
    - <builtin>.getattr
    - botocore.serialize.BaseRestSerializer._do_serialize_header_map
    - shape.serialization.get
    - timestamp_format.lower
    - base64.b64encode
    - datetime_obj.replace
    - value.encode
    - datetime_obj.utctimetuple
    - <builtin>.float
    - <builtin>.hasattr
    - botocore.utils.parse_to_aware_datetime
    - datetime.datetime.fromtimestamp
    - json.dumps
    - botocore.utils._parse_timestamp_with_tzinfo
    - botocore.serialize.BaseRestSerializer._convert_header_value
    - user_input.items
    - botocore.serialize.Serializer._convert_timestamp_to_str
    - botocore.serialize.Serializer._get_base64
    - <builtin>.str
    - calendar.timegm
    - dateutil.parser.parse
    - botocore.utils.parse_timestamp
    - botocore.utils.is_json_value_header
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - uri_template
    - params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 496
    functionName: botocore.serialize.BaseRestSerializer._render_uri_template
    functionSourceFile: botocore.serialize
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - botocore.utils.percent_encode
    - urllib.parse.quote.encode
    - template_param.endswith
    - re.findall
    - urllib.parse.quote
    - uri_template.format
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 6
    argNames:
    - self
    - partitioned
    - parameters
    - serialized
    - shape
    - shape_members
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 515
    functionName: botocore.serialize.BaseRestSerializer._serialize_payload
    functionSourceFile: botocore.serialize
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - body.encode
    - parameters.get
    - botocore.serialize.BaseRestSerializer._requires_empty_body
    - botocore.serialize.BaseRestSerializer._serialize_empty_body
    - shape.serialization.get
    - botocore.serialize.BaseRestSerializer._has_streaming_payload
    - botocore.serialize.BaseRestSerializer._serialize_body_params
    - botocore.serialize.BaseRestSerializer._encode_payload
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - serialized
    - shape
    - shape_members
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 550
    functionName: botocore.serialize.BaseRestSerializer._serialize_content_type
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.findall
    functionSourceFile: re
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: template_param.endswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argNames:
    - input_str
    - safe
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 887
    functionName: botocore.utils.percent_encode
    functionSourceFile: botocore.utils
    functionUses: 11
    functionsReached:
    - <builtin>.isinstance
    - urllib.parse.quote.encode
    - urllib.parse.quote
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: uri_template.format
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - payload
    - shape_members
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 565
    functionName: botocore.serialize.BaseRestSerializer._has_streaming_payload
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parameters.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - body
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 572
    functionName: botocore.serialize.BaseRestSerializer._encode_payload
    functionSourceFile: botocore.serialize
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - body.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - params
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 631
    functionName: botocore.serialize.BaseRestSerializer._serialize_body_params
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 547
    functionName: botocore.serialize.BaseRestSerializer._serialize_empty_body
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - shape
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 558
    functionName: botocore.serialize.BaseRestSerializer._requires_empty_body
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: body.encode
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: member.serialization.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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.str
    functionSourceFile: <builtin>
    functionUses: 123
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argNames:
    - self
    - shape
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 634
    functionName: botocore.serialize.BaseRestSerializer._convert_header_value
    functionSourceFile: botocore.serialize
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - dateutil.tz.tzutc
    - logger.debug
    - datetime_obj.astimezone
    - <builtin>.getattr
    - shape.serialization.get
    - timestamp_format.lower
    - base64.b64encode
    - datetime_obj.replace
    - value.encode
    - datetime_obj.utctimetuple
    - <builtin>.float
    - <builtin>.hasattr
    - botocore.utils.parse_to_aware_datetime
    - datetime.datetime.fromtimestamp
    - json.dumps
    - botocore.utils._parse_timestamp_with_tzinfo
    - botocore.serialize.BaseRestSerializer._convert_header_value
    - botocore.serialize.Serializer._convert_timestamp_to_str
    - botocore.serialize.Serializer._get_base64
    - calendar.timegm
    - dateutil.parser.parse
    - botocore.utils.parse_timestamp
    - botocore.utils.is_json_value_header
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - header_prefix
    - headers
    - user_input
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 626
    functionName: botocore.serialize.BaseRestSerializer._do_serialize_header_map
    functionSourceFile: botocore.serialize
    functionUses: 2
    functionsReached:
    - user_input.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: user_input.items
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime_obj.utctimetuple
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - shape
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 228
    functionName: botocore.utils.is_json_value_header
    functionSourceFile: botocore.utils
    functionUses: 33
    functionsReached:
    - <builtin>.hasattr
    - shape.serialization.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 658
    functionName: botocore.serialize.RestJSONSerializer._serialize_empty_body
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - shape
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 661
    functionName: botocore.serialize.RestJSONSerializer._requires_empty_body
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - shape.members.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: shape.members.items
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argNames:
    - self
    - serialized
    - shape
    - shape_members
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 671
    functionName: botocore.serialize.RestJSONSerializer._serialize_content_type
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - shape.serialization.get
    - headers.keys
    - botocore.serialize.BaseRestSerializer._has_streaming_payload
    - key.lower
    - header_name.lower
    - botocore.utils.has_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argNames:
    - header_name
    - headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 245
    functionName: botocore.utils.has_header
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - header_name.lower
    - key.lower
    - headers.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - params
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 683
    functionName: botocore.serialize.RestJSONSerializer._serialize_body_params
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - json.dumps
    - botocore.serialize.JSONSerializer._serialize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - params
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 692
    functionName: botocore.serialize.RestXMLSerializer._serialize_body_params
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - xml.etree.ElementTree.tostring
    - <builtin>.list
    - botocore.serialize.RestXMLSerializer._serialize
    - xml.etree.ElementTree.Element
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml.etree.ElementTree.Element
    functionSourceFile: xml
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - shape
    - params
    - xmlnode
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 699
    functionName: botocore.serialize.RestXMLSerializer._serialize
    functionSourceFile: botocore.serialize
    functionUses: 4
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.list
    functionSourceFile: <builtin>
    functionUses: 97
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml.etree.ElementTree.tostring
    functionSourceFile: xml
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 5
    argNames:
    - self
    - xmlnode
    - params
    - shape
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 707
    functionName: botocore.serialize.RestXMLSerializer._serialize_type_structure
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - xml.etree.ElementTree.SubElement
    - params.items
    - namespace_metadata.get
    - botocore.serialize.RestXMLSerializer._serialize
    - member_shape.serialization.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml.etree.ElementTree.SubElement
    functionSourceFile: xml
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: namespace_metadata.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: params.items
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: member_shape.serialization.get
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argNames:
    - self
    - xmlnode
    - params
    - shape
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 733
    functionName: botocore.serialize.RestXMLSerializer._serialize_type_list
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - xml.etree.ElementTree.SubElement
    - shape.serialization.get
    - botocore.serialize.RestXMLSerializer._serialize
    - member_shape.serialization.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - xmlnode
    - params
    - shape
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 744
    functionName: botocore.serialize.RestXMLSerializer._serialize_type_map
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - xml.etree.ElementTree.SubElement
    - params.items
    - shape.serialization.get
    - botocore.serialize.Serializer._get_serialized_name
    - botocore.serialize.RestXMLSerializer._serialize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argNames:
    - self
    - xmlnode
    - params
    - shape
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 764
    functionName: botocore.serialize.RestXMLSerializer._serialize_type_boolean
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - xml.etree.ElementTree.SubElement
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - xmlnode
    - params
    - shape
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 775
    functionName: botocore.serialize.RestXMLSerializer._serialize_type_blob
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - xml.etree.ElementTree.SubElement
    - base64.b64encode
    - value.encode
    - botocore.serialize.Serializer._get_base64
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - xmlnode
    - params
    - shape
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 779
    functionName: botocore.serialize.RestXMLSerializer._serialize_type_timestamp
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - dateutil.parser.parse
    - <builtin>.getattr
    - <builtin>.isinstance
    - dateutil.tz.tzutc
    - botocore.utils.parse_timestamp
    - logger.debug
    - xml.etree.ElementTree.SubElement
    - botocore.utils.parse_to_aware_datetime
    - datetime.datetime.fromtimestamp
    - botocore.utils._parse_timestamp_with_tzinfo
    - shape.serialization.get
    - timestamp_format.lower
    - datetime_obj.astimezone
    - datetime_obj.replace
    - <builtin>.float
    - botocore.serialize.Serializer._convert_timestamp_to_str
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - xmlnode
    - params
    - shape
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 785
    functionName: botocore.serialize.RestXMLSerializer._default_serialize
    functionSourceFile: botocore.serialize
    functionUses: 0
    functionsReached:
    - xml.etree.ElementTree.SubElement
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.compat
    functionSourceFile: botocore.compat
    functionUses: 0
    functionsReached:
    - os.environ.get
    - logging.getLogger
    - disabled.lower
    - hashlib.md5
    - <builtin>.frozenset
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.getLogger
    functionSourceFile: logging
    functionUses: 35
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - http_response
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 64
    functionName: botocore.compat.set_socket_timeout
    functionSourceFile: botocore.compat
    functionUses: 0
    functionsReached:
    - http_response._fp.fp.raw._sock.settimeout
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http_response._fp.fp.raw._sock.settimeout
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 72
    functionName: botocore.compat.accepts_kwargs
    functionSourceFile: botocore.compat
    functionUses: 13
    functionsReached:
    - inspect.getfullargspec
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.getfullargspec
    functionSourceFile: inspect
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - s
    - encoding
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 77
    functionName: botocore.compat.ensure_unicode
    functionSourceFile: botocore.compat
    functionUses: 41
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - s
    - encoding
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 81
    functionName: botocore.compat.ensure_bytes
    functionSourceFile: botocore.compat
    functionUses: 41
    functionsReached:
    - io.BytesIO.encode
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO.encode
    functionSourceFile: io
    functionUses: 42
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 98
    functionName: botocore.compat.filter_ssl_warnings
    functionSourceFile: botocore.compat
    functionUses: 1
    functionsReached:
    - warnings.filterwarnings
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: warnings.filterwarnings
    functionSourceFile: warnings
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - cls
    - d
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 109
    functionName: botocore.compat.from_dict
    functionSourceFile: botocore.compat
    functionUses: 0
    functionsReached:
    - d.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: d.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - cls
    - pairs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 117
    functionName: botocore.compat.from_pairs
    functionSourceFile: botocore.compat
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 128
    functionName: botocore.compat.copy_kwargs
    functionSourceFile: botocore.compat
    functionUses: 0
    functionsReached:
    - copy.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.copy
    functionSourceFile: copy
    functionUses: 37
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - delta
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 136
    functionName: botocore.compat.total_seconds
    functionSourceFile: botocore.compat
    functionUses: 23
    functionsReached:
    - typing.NamedTuple.expiration.total_seconds
    - dateutil.parser.parse.total_seconds
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple.expiration.total_seconds
    functionSourceFile: typing
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dateutil.parser.parse.total_seconds
    functionSourceFile: dateutil
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hashlib.md5
    functionSourceFile: hashlib
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 157
    functionName: botocore.compat.get_md5
    functionSourceFile: botocore.compat
    functionUses: 9
    functionsReached:
    - hashlib.md5
    linkageType: pythonLinkage
    raised:
    - MD5UnavailableError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - s
    - platform
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 175
    functionName: botocore.compat.compat_shell_split
    functionSourceFile: botocore.compat
    functionUses: 3
    functionsReached:
    - botocore.compat._windows_shell_split
    - buff.append
    - components.append
    - math.floor
    - <builtin>.int
    - shlex.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 10
    IfCount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 185
    functionName: botocore.compat._windows_shell_split
    functionSourceFile: botocore.compat
    functionUses: 4
    functionsReached:
    - <builtin>.int
    - buff.append
    - math.floor
    - components.append
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: shlex.split
    functionSourceFile: shlex
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: math.floor
    functionSourceFile: math
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: buff.append
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: components.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 279
    functionName: botocore.compat.get_tzinfo_options
    functionSourceFile: botocore.compat
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.environ.get
    functionSourceFile: os
    functionUses: 94
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: disabled.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.compile
    functionSourceFile: re
    functionUses: 66
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.frozenset
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.exceptions
    functionSourceFile: botocore.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - exception_cls
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 19
    functionName: botocore.exceptions._exception_from_packed_args
    functionSourceFile: botocore.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 40
    functionName: botocore.exceptions.BotoCoreError.__init__
    functionSourceFile: botocore.exceptions
    functionUses: 2
    functionsReached:
    - Exception.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: Exception.__init__
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 45
    functionName: botocore.exceptions.BotoCoreError.__reduce__
    functionSourceFile: botocore.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - request
    - response
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 97
    functionName: botocore.exceptions.HTTPClientError.__init__
    functionSourceFile: botocore.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.super
    functionSourceFile: <builtin>
    functionUses: 124
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 102
    functionName: botocore.exceptions.HTTPClientError.__reduce__
    functionSourceFile: botocore.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - name
    - reason
    - last_response
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 477
    functionName: botocore.exceptions.WaiterError.__init__
    functionSourceFile: botocore.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - error_response
    - operation_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 526
    functionName: botocore.exceptions.ClientError.__init__
    functionSourceFile: botocore.exceptions
    functionUses: 0
    functionsReached:
    - error.get
    - <builtin>.super
    - error_response.get
    - botocore.exceptions.ClientError._get_retry_info
    - metadata.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 539
    functionName: botocore.exceptions.ClientError._get_retry_info
    functionSourceFile: botocore.exceptions
    functionUses: 1
    functionsReached:
    - metadata.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: error_response.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: error.get
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: metadata.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 550
    functionName: botocore.exceptions.ClientError.__reduce__
    functionSourceFile: botocore.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 751
    functionName: botocore.exceptions.MissingServiceIdError.__init__
    functionSourceFile: botocore.exceptions
    functionUses: 0
    functionsReached:
    - Exception.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.vendored.requests.packages.urllib3
    functionSourceFile: botocore.vendored.requests.packages.urllib3
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.vendored
    functionSourceFile: botocore.vendored
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.vendored.requests
    functionSourceFile: botocore.vendored.requests
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.vendored.requests.exceptions
    functionSourceFile: botocore.vendored.requests.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 17
    functionName: botocore.vendored.requests.exceptions.RequestException.__init__
    functionSourceFile: botocore.vendored.requests.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - kwargs.pop
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.pop
    functionSourceFile: <builtin>
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.hasattr
    functionSourceFile: <builtin>
    functionUses: 210
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.vendored.requests.packages
    functionSourceFile: botocore.vendored.requests.packages
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.vendored.requests.packages.urllib3.exceptions
    functionSourceFile: botocore.vendored.requests.packages.urllib3.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - pool
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 16
    functionName: botocore.vendored.requests.packages.urllib3.exceptions.PoolError.__init__
    functionSourceFile: botocore.vendored.requests.packages.urllib3.exceptions
    functionUses: 3
    functionsReached:
    - HTTPError.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: HTTPError.__init__
    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
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 20
    functionName: botocore.vendored.requests.packages.urllib3.exceptions.PoolError.__reduce__
    functionSourceFile: botocore.vendored.requests.packages.urllib3.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - pool
    - url
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 27
    functionName: botocore.vendored.requests.packages.urllib3.exceptions.RequestError.__init__
    functionSourceFile: botocore.vendored.requests.packages.urllib3.exceptions
    functionUses: 2
    functionsReached:
    - botocore.vendored.requests.packages.urllib3.exceptions.PoolError.__init__
    - HTTPError.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 31
    functionName: botocore.vendored.requests.packages.urllib3.exceptions.RequestError.__reduce__
    functionSourceFile: botocore.vendored.requests.packages.urllib3.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - pool
    - url
    - reason
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 72
    functionName: botocore.vendored.requests.packages.urllib3.exceptions.MaxRetryError.__init__
    functionSourceFile: botocore.vendored.requests.packages.urllib3.exceptions
    functionUses: 0
    functionsReached:
    - botocore.vendored.requests.packages.urllib3.exceptions.PoolError.__init__
    - HTTPError.__init__
    - botocore.vendored.requests.packages.urllib3.exceptions.RequestError.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - pool
    - url
    - retries
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 84
    functionName: botocore.vendored.requests.packages.urllib3.exceptions.HostChangedError.__init__
    functionSourceFile: botocore.vendored.requests.packages.urllib3.exceptions
    functionUses: 0
    functionsReached:
    - botocore.vendored.requests.packages.urllib3.exceptions.PoolError.__init__
    - HTTPError.__init__
    - botocore.vendored.requests.packages.urllib3.exceptions.RequestError.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - location
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 134
    functionName: botocore.vendored.requests.packages.urllib3.exceptions.LocationParseError.__init__
    functionSourceFile: botocore.vendored.requests.packages.urllib3.exceptions
    functionUses: 0
    functionsReached:
    - HTTPError.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 23
    ICount: 27
    IfCount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: botocore.vendored.six
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - struct.Struct
    - botocore.vendored.six._SixMetaPathImporter._add_module
    - <builtin>.enumerate
    - botocore.vendored.six._add_doc
    - <builtin>.getattr
    - <builtin>.type
    - botocore.vendored.six.MovedModule.__init__
    - <builtin>.exec
    - botocore.vendored.six._SixMetaPathImporter.__init__
    - botocore.vendored.six._LazyModule.__init__
    - <builtin>.setattr
    - types.ModuleType.__init__
    - sys.platform.startswith
    - botocore.vendored.six.exec_
    - botocore.vendored.six.MovedAttribute.__init__
    - <builtin>.super
    - operator.attrgetter
    - sys._getframe
    - functools.partial
    - sys.meta_path.append
    - operator.methodcaller
    - <builtin>.int
    - <builtin>.globals
    - operator.itemgetter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.platform.startswith
    functionSourceFile: sys
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 62
    functionName: botocore.vendored.six.X.__len__
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - func
    - doc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 80
    functionName: botocore.vendored.six._add_doc
    functionSourceFile: botocore.vendored.six
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 85
    functionName: botocore.vendored.six._import_module
    functionSourceFile: botocore.vendored.six
    functionUses: 4
    functionsReached:
    - <builtin>.__import__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.__import__
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 93
    functionName: botocore.vendored.six._LazyDescr.__init__
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - obj
    - tp
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 96
    functionName: botocore.vendored.six._LazyDescr.__get__
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - botocore.vendored.six.MovedAttribute._resolve
    - <builtin>.delattr
    - <builtin>.getattr
    - <builtin>.__import__
    - botocore.vendored.six._import_module
    - botocore.vendored.six.MovedModule._resolve
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 164
    functionName: botocore.vendored.six.MovedAttribute._resolve
    functionSourceFile: botocore.vendored.six
    functionUses: 1
    functionsReached:
    - botocore.vendored.six._import_module
    - <builtin>.__import__
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 119
    functionName: botocore.vendored.six.MovedModule._resolve
    functionSourceFile: botocore.vendored.six
    functionUses: 2
    functionsReached:
    - botocore.vendored.six._import_module
    - <builtin>.__import__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.setattr
    functionSourceFile: <builtin>
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.delattr
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argNames:
    - self
    - name
    - old
    - new
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 110
    functionName: botocore.vendored.six.MovedModule.__init__
    functionSourceFile: botocore.vendored.six
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - attr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 122
    functionName: botocore.vendored.six.MovedModule.__getattr__
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.__import__
    - botocore.vendored.six._import_module
    - botocore.vendored.six.MovedModule._resolve
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 131
    functionName: botocore.vendored.six._LazyModule.__init__
    functionSourceFile: botocore.vendored.six
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 135
    functionName: botocore.vendored.six._LazyModule.__dir__
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 6
    argNames:
    - self
    - name
    - old_mod
    - new_mod
    - old_attr
    - new_attr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 146
    functionName: botocore.vendored.six.MovedAttribute.__init__
    functionSourceFile: botocore.vendored.six
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - six_module_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 178
    functionName: botocore.vendored.six._SixMetaPathImporter.__init__
    functionSourceFile: botocore.vendored.six
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - mod
    - fullnames
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 182
    functionName: botocore.vendored.six._SixMetaPathImporter._add_module
    functionSourceFile: botocore.vendored.six
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - fullname
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 186
    functionName: botocore.vendored.six._SixMetaPathImporter._get_module
    functionSourceFile: botocore.vendored.six
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - fullname
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 189
    functionName: botocore.vendored.six._SixMetaPathImporter.find_module
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - fullname
    - path
    - target
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 194
    functionName: botocore.vendored.six._SixMetaPathImporter.find_spec
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - importlib.util.spec_from_loader
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: importlib.util.spec_from_loader
    functionSourceFile: importlib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - fullname
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 199
    functionName: botocore.vendored.six._SixMetaPathImporter.__get_module
    functionSourceFile: botocore.vendored.six
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ImportError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - fullname
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 205
    functionName: botocore.vendored.six._SixMetaPathImporter.load_module
    functionSourceFile: botocore.vendored.six
    functionUses: 1
    functionsReached:
    - mod._resolve
    - botocore.vendored.six._SixMetaPathImporter.__get_module
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mod._resolve
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - fullname
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 219
    functionName: botocore.vendored.six._SixMetaPathImporter.is_package
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - botocore.vendored.six._SixMetaPathImporter.__get_module
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - fullname
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 228
    functionName: botocore.vendored.six._SixMetaPathImporter.get_code
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - botocore.vendored.six._SixMetaPathImporter.__get_module
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - spec
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 236
    functionName: botocore.vendored.six._SixMetaPathImporter.create_module
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - mod._resolve
    - botocore.vendored.six._SixMetaPathImporter.__get_module
    - <builtin>.isinstance
    - botocore.vendored.six._SixMetaPathImporter.load_module
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - module
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 239
    functionName: botocore.vendored.six._SixMetaPathImporter.exec_module
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.vendored.six.Module_six_moves_urllib
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - botocore.vendored.six._SixMetaPathImporter._get_module
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 503
    functionName: botocore.vendored.six.Module_six_moves_urllib.__dir__
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: types.ModuleType.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - move
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 510
    functionName: botocore.vendored.six.add_move
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 515
    functionName: botocore.vendored.six.remove_move
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - <builtin>.delattr
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - it
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 547
    functionName: botocore.vendored.six.advance_iterator
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - it.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: it.next
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 555
    functionName: botocore.vendored.six.callable
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.type
    functionSourceFile: <builtin>
    functionUses: 63
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.any
    functionSourceFile: <builtin>
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - unbound
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 570
    functionName: botocore.vendored.six.get_unbound_function
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - func
    - cls
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 576
    functionName: botocore.vendored.six.create_unbound_method
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - types.MethodType
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - func
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 573
    functionName: botocore.vendored.six.create_bound_method
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - types.MethodType
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: types.MethodType
    functionSourceFile: types
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 581
    functionName: botocore.vendored.six.Iterator.next
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.attrgetter
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - d
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 616
    functionName: botocore.vendored.six.iterkeys
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - d.iterkeys
    - <builtin>.iter
    - d.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: d.keys
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.iter
    functionSourceFile: <builtin>
    functionUses: 29
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - d
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 619
    functionName: botocore.vendored.six.itervalues
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - d.values
    - <builtin>.iter
    - d.itervalues
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: d.values
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - d
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 622
    functionName: botocore.vendored.six.iteritems
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - d.iteritems
    - d.items
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - d
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 625
    functionName: botocore.vendored.six.iterlists
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - d.lists
    - <builtin>.iter
    - d.iterlists
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: d.lists
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.methodcaller
    functionSourceFile: operator
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: d.iterkeys
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: d.itervalues
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: d.iteritems
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: d.iterlists
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 669
    functionName: botocore.vendored.six.b
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - s.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.encode
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 673
    functionName: botocore.vendored.six.u
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - s.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: struct.Struct
    functionSourceFile: struct
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.itemgetter
    functionSourceFile: operator
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.replace
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - bs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 678
    functionName: botocore.vendored.six.byte2int
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - <builtin>.ord
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.ord
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - buf
    - i
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 681
    functionName: botocore.vendored.six.indexbytes
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - <builtin>.ord
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.partial
    functionSourceFile: functools
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 694
    functionName: botocore.vendored.six.assertCountEqual
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 698
    functionName: botocore.vendored.six.assertRaisesRegex
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 702
    functionName: botocore.vendored.six.assertRegex
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 706
    functionName: botocore.vendored.six.assertNotRegex
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - tp
    - value
    - tb
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 713
    functionName: botocore.vendored.six.reraise
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 3
    argNames:
    - _code_
    - _globs_
    - _locs_
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 725
    functionName: botocore.vendored.six.exec_
    functionSourceFile: botocore.vendored.six
    functionUses: 1
    functionsReached:
    - <builtin>.exec
    - sys._getframe
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys._getframe
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.exec
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - value
    - from_value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 753
    functionName: botocore.vendored.six.raise_from
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 815
    functionName: botocore.vendored.six.print_
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - kwargs.get
    - <builtin>.isinstance
    - <builtin>.getattr
    - botocore.vendored.six.print_.write
    - kwargs.pop
    - fp.write
    - data.encode
    - <builtin>.enumerate
    - fp.flush
    - botocore.vendored.six.print_
    - <builtin>.str
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 765
    functionName: botocore.vendored.six.print_.write
    functionSourceFile: botocore.vendored.six
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.getattr
    - fp.write
    - data.encode
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.encode
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fp.write
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.get
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fp.flush
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argNames:
    - wrapper
    - wrapped
    - assigned
    - updated
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 830
    functionName: botocore.vendored.six._update_wrapper
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - <builtin>.setattr
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - wrapped
    - assigned
    - updated
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 846
    functionName: botocore.vendored.six.wraps
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - meta
    - bases
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 856
    functionName: botocore.vendored.six.with_metaclass
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - type.__new__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argNames:
    - cls
    - name
    - this_bases
    - d
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 863
    functionName: botocore.vendored.six.with_metaclass.metaclass.__new__
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - types.resolve_bases
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: types.resolve_bases
    functionSourceFile: types
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - cls
    - name
    - this_bases
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 875
    functionName: botocore.vendored.six.with_metaclass.metaclass.__prepare__
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - meta.__prepare__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: meta.__prepare__
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: type.__new__
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - metaclass
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 880
    functionName: botocore.vendored.six.add_metaclass
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 1
    argNames:
    - cls
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 882
    functionName: botocore.vendored.six.add_metaclass.wrapper
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.hasattr
    - orig_vars.pop
    - orig_vars.get
    - cls.__dict__.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cls.__dict__.copy
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: orig_vars.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: orig_vars.pop
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argNames:
    - s
    - encoding
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 898
    functionName: botocore.vendored.six.ensure_binary
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - s.encode
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argNames:
    - s
    - encoding
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 916
    functionName: botocore.vendored.six.ensure_str
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - s.decode
    - <builtin>.isinstance
    - <builtin>.type
    - s.encode
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.decode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argNames:
    - s
    - encoding
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 939
    functionName: botocore.vendored.six.ensure_text
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - s.decode
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argNames:
    - klass
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 958
    functionName: botocore.vendored.six.python_2_unicode_compatible
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.vendored.six.python_2_unicode_compatible.<lambda1>
    functionSourceFile: botocore.vendored.six
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.globals
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.meta_path.append
    functionSourceFile: sys
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.utils
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - re.compile
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 193
    functionName: botocore.utils.ensure_boolean
    functionSourceFile: botocore.utils
    functionUses: 8
    functionsReached:
    - val.lower
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: val.lower
    functionSourceFile: <builtin>
    functionUses: 48
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argNames:
    - session
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 206
    functionName: botocore.utils.resolve_imds_endpoint_mode
    functionSourceFile: botocore.utils
    functionUses: 39
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - scoped_config_providers.append
    - botocore.utils.SSOTokenLoader.__init__
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - botocore.utils.is_valid_endpoint_url
    - session.user_agent
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised:
    - InvalidIMDSEndpointModeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - logical_name
    - methods
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 312
    functionName: botocore.session.Session.get_config_variable
    functionSourceFile: botocore.session
    functionUses: 39
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - scoped_config_providers.append
    - botocore.utils.SSOTokenLoader.__init__
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - botocore.utils.is_valid_endpoint_url
    - session.user_agent
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: endpoint_mode.lower
    functionSourceFile: <builtin>
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: header_name.lower
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.lower
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: headers.keys
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - service_model
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 255
    functionName: botocore.utils.get_service_module_name
    functionSourceFile: botocore.utils
    functionUses: 24
    functionsReached:
    - service_model.metadata.get
    - re.sub
    - name.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: service_model.metadata.get
    functionSourceFile: <builtin>
    functionUses: 29
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.replace
    functionSourceFile: <builtin>
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.sub
    functionSourceFile: re
    functionUses: 39
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 272
    functionName: botocore.utils.normalize_url_path
    functionSourceFile: botocore.utils
    functionUses: 4
    functionsReached:
    - botocore.utils.remove_dot_segments
    - output_list.append
    - output_list.pop
    - urllib.parse.urlparse.path.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 1
    argNames:
    - url
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 287
    functionName: botocore.utils.remove_dot_segments
    functionSourceFile: botocore.utils
    functionUses: 5
    functionsReached:
    - output_list.append
    - output_list.pop
    - urllib.parse.urlparse.path.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 278
    functionName: botocore.utils.normalize_boolean
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - botocore.utils.ensure_boolean
    - val.lower
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlparse.path.split
    functionSourceFile: urllib
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: output_list.pop
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: output_list.append
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argNames:
    - expression
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 314
    functionName: botocore.utils.validate_jmespath_for_set
    functionSourceFile: botocore.utils
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - InvalidExpressionError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 4
    argNames:
    - source
    - expression
    - value
    - is_first
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 325
    functionName: botocore.utils.set_value_from_jmespath
    functionSourceFile: botocore.utils
    functionUses: 6
    functionsReached:
    - expression.split
    - <builtin>.len
    - botocore.utils.validate_jmespath_for_set
    - botocore.utils.set_value_from_jmespath
    linkageType: pythonLinkage
    raised:
    - InvalidExpressionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: expression.split
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - context
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 355
    functionName: botocore.utils.is_global_accesspoint
    functionSourceFile: botocore.utils
    functionUses: 7
    functionsReached:
    - context.get
    - s3_accesspoint.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: context.get
    functionSourceFile: <builtin>
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s3_accesspoint.get
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 369
    functionName: botocore.utils.BadIMDSRequestError.__init__
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 7
    argNames:
    - self
    - timeout
    - num_attempts
    - base_url
    - env
    - user_agent
    - config
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 379
    functionName: botocore.utils.IMDSFetcher.__init__
    functionSourceFile: botocore.utils
    functionUses: 40
    functionsReached:
    - <builtin>.len
    - logger.debug
    - <builtin>.isinstance
    - urllib3.PoolManager
    - UNSAFE_URL_CHARS.intersection
    - urllib3.util.ssl_.SSLContext
    - botocore.utils.is_valid_uri
    - env.get
    - botocore.httpsession.URLLib3Session.__init__
    - botocore.utils.should_bypass_proxies
    - os.environ.get
    - allowed.match
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - IPV6_ADDRZ_RE.match
    - re.compile
    - botocore.httpsession.create_urllib3_context
    - os.environ.copy
    - urllib3.Timeout
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.utils.get_environ_proxies
    - <builtin>.hasattr
    - botocore.utils.is_valid_ipv6_endpoint_url
    - urllib.request.proxy_bypass
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - urllib.parse.urlsplit
    - botocore.utils.IMDSFetcher._select_base_url
    - urllib.parse.urlparse
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 3
    argNames:
    - self
    - base_url
    - config
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 408
    functionName: botocore.utils.IMDSFetcher._select_base_url
    functionSourceFile: botocore.utils
    functionUses: 41
    functionsReached:
    - <builtin>.len
    - allowed.match
    - logger.debug
    - UNSAFE_URL_CHARS.intersection
    - urllib.parse.urlsplit
    - botocore.utils.is_valid_ipv6_endpoint_url
    - IPV6_ADDRZ_RE.match
    - re.compile
    - botocore.utils.is_valid_uri
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - urllib.parse.urlparse
    - logger.warning
    linkageType: pythonLinkage
    raised:
    - InvalidIMDSEndpointError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.environ.copy
    functionSourceFile: os
    functionUses: 41
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: env.get
    functionSourceFile: <builtin>
    functionUses: 41
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - url
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2945
    functionName: botocore.utils.get_environ_proxies
    functionSourceFile: botocore.utils
    functionUses: 46
    functionsReached:
    - urllib.parse.urlparse
    - botocore.utils.should_bypass_proxies
    - urllib.request.proxy_bypass
    - urllib.request.getproxies
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 8
    argNames:
    - self
    - verify
    - proxies
    - timeout
    - max_pool_connections
    - socket_options
    - client_cert
    - proxies_config
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 277
    functionName: botocore.httpsession.URLLib3Session.__init__
    functionSourceFile: botocore.httpsession
    functionUses: 48
    functionsReached:
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - os.environ.get
    - <builtin>.isinstance
    - <builtin>.getattr
    - urllib3.PoolManager
    - <builtin>.hasattr
    - urllib3.util.ssl_.SSLContext
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.httpsession.create_urllib3_context
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib3.Timeout
    - pool_manager_kwargs.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 405
    functionName: botocore.utils.IMDSFetcher.get_base_url
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config.get
    functionSourceFile: <builtin>
    functionUses: 56
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.warning
    functionSourceFile: <builtin>
    functionUses: 60
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.debug
    functionSourceFile: <builtin>
    functionUses: 251
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - endpoint_url
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1259
    functionName: botocore.utils.is_valid_uri
    functionSourceFile: botocore.utils
    functionUses: 42
    functionsReached:
    - <builtin>.len
    - allowed.match
    - UNSAFE_URL_CHARS.intersection
    - urllib.parse.urlsplit
    - botocore.utils.is_valid_ipv6_endpoint_url
    - IPV6_ADDRZ_RE.match
    - re.compile
    - botocore.utils.is_valid_endpoint_url
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 439
    functionName: botocore.utils.IMDSFetcher._construct_url
    functionSourceFile: botocore.utils
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 445
    functionName: botocore.utils.IMDSFetcher._fetch_metadata_token
    functionSourceFile: botocore.utils
    functionUses: 19
    functionsReached:
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - io.BytesIO.lower
    - original.params.items
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - io.BytesIO.tell
    - conn.urlopen
    - base64.b64encode
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.httpsession.URLLib3Session._get_request_target
    - <builtin>.hasattr
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - <builtin>.str
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - logger.debug
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - headers.items
    - proxy_manager_kwargs.update
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - os.environ.get
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.httpsession.URLLib3Session._chunked
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - <builtin>.bool
    - io.BytesIO.encode
    - <builtin>.range
    - headers.get
    - botocore.httpsession.URLLib3Session._path_url
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - botocore.awsrequest.AWSRequest.prepare
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - urllib3.proxy_from_url
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - botocore.awsrequest.HeadersDict.__init__
    - io.BytesIO.seek
    - botocore.utils.IMDSFetcher._assert_enabled
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - delim.join
    - botocore.compat.ensure_bytes
    - botocore.utils.IMDSFetcher._construct_url
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - urllib3.util.url.parse_url
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - urllib.parse.urlencode.items
    - botocore.httpsession._is_ipaddress
    - e.kwargs.get
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.utils.IMDSFetcher._add_user_agent
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised:
    - InvalidIMDSEndpointError
    - BadIMDSRequestError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 527
    functionName: botocore.utils.IMDSFetcher._assert_enabled
    functionSourceFile: botocore.utils
    functionUses: 23
    functionsReached:
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 523
    functionName: botocore.utils.IMDSFetcher._add_user_agent
    functionSourceFile: ''
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 8
    argNames:
    - self
    - method
    - url
    - headers
    - data
    - params
    - auth_path
    - stream_output
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 438
    functionName: botocore.awsrequest.AWSRequest.__init__
    functionSourceFile: botocore.awsrequest
    functionUses: 37
    functionsReached:
    - headers.items
    - http.client.HTTPMessage.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.range
    functionSourceFile: <builtin>
    functionUses: 66
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 475
    functionName: botocore.awsrequest.AWSRequest.prepare
    functionSourceFile: botocore.awsrequest
    functionUses: 29
    functionsReached:
    - <builtin>.len
    - botocore.awsrequest.HeadersDict.__init__
    - <builtin>.isinstance
    - logger.debug
    - io.BytesIO.seek
    - http.client.HTTPMessage.items
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - original.params.items
    - key.encode
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - delim.join
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - <builtin>.type
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - io.BytesIO.tell
    - <builtin>.list
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - value.encode
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - urllib.parse.urlencode.items
    - <builtin>.hasattr
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - <builtin>.str
    - urllib.parse.urlencode
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 438
    functionName: botocore.httpsession.URLLib3Session.send
    functionSourceFile: botocore.httpsession
    functionUses: 35
    functionsReached:
    - urllib3.PoolManager.connection_from_url
    - logger.debug
    - <builtin>.isinstance
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - io.BytesIO.lower
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - proxy_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - os.environ.get
    - val.lower
    - <builtin>.getattr
    - botocore.compat.ensure_bytes
    - botocore.httpsession.get_cert_path
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - urllib3.util.url.parse_url
    - IPV6_ADDRZ_RE.match
    - conn.urlopen
    - base64.b64encode
    - url.startswith
    - botocore.httpsession.create_urllib3_context
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - auth_str.encode
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.httpsession.URLLib3Session._get_request_target
    - botocore.httpsession.URLLib3Session._chunked
    - <builtin>.hasattr
    - botocore.httpsession._is_ipaddress
    - <builtin>.bool
    - urllib3.proxy_from_url
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - urllib.parse.urlparse
    - io.BytesIO.encode
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - urllib3.util.retry.Retry
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.URLLib3Session._path_url
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - headers.get
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised:
    - HTTPClientError
    - ReadTimeoutError
    - ProxyConnectionError
    - ConnectionClosedError
    - SSLError
    - EndpointConnectionError
    - ConnectTimeoutError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: e.kwargs.get
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 4
    argNames:
    - self
    - url_path
    - retry_func
    - token
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 481
    functionName: botocore.utils.IMDSFetcher._get_request
    functionSourceFile: botocore.utils
    functionUses: 21
    functionsReached:
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - io.BytesIO.lower
    - original.params.items
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - io.BytesIO.tell
    - conn.urlopen
    - base64.b64encode
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.httpsession.URLLib3Session._get_request_target
    - <builtin>.hasattr
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - <builtin>.str
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - logger.debug
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - os.environ.get
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.httpsession.URLLib3Session._chunked
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - <builtin>.bool
    - io.BytesIO.encode
    - <builtin>.range
    - headers.get
    - botocore.httpsession.URLLib3Session._path_url
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - botocore.awsrequest.AWSRequest.prepare
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - urllib3.proxy_from_url
    - botocore.utils.IMDSFetcher._default_retry
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - botocore.awsrequest.HeadersDict.__init__
    - io.BytesIO.seek
    - botocore.utils.IMDSFetcher._assert_enabled
    - logger_args.append
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - botocore.compat.ensure_bytes
    - delim.join
    - botocore.utils.IMDSFetcher._construct_url
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - botocore.utils.IMDSFetcher._is_empty
    - urllib3.util.url.parse_url
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - urllib.parse.urlencode.items
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    - botocore.httpsession._is_ipaddress
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.utils.IMDSFetcher._add_user_agent
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    - botocore.utils.IMDSFetcher._log_imds_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 632
    functionName: botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    functionSourceFile: botocore.utils
    functionUses: 22
    functionsReached:
    - logger.debug
    - botocore.utils.IMDSFetcher._is_empty
    - logger_args.append
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.utils.IMDSFetcher._log_imds_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 532
    functionName: botocore.utils.IMDSFetcher._default_retry
    functionSourceFile: botocore.utils
    functionUses: 22
    functionsReached:
    - logger.debug
    - botocore.utils.IMDSFetcher._is_empty
    - logger_args.append
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.utils.IMDSFetcher._log_imds_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 635
    functionName: botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    functionSourceFile: botocore.utils
    functionUses: 22
    functionsReached:
    - logger.debug
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - botocore.utils.IMDSFetcher._is_empty
    - logger_args.append
    - json.loads
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.utils.IMDSFetcher._log_imds_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 535
    functionName: botocore.utils.IMDSFetcher._is_non_ok_response
    functionSourceFile: botocore.utils
    functionUses: 25
    functionsReached:
    - logger_args.append
    - logger.debug
    - botocore.utils.IMDSFetcher._log_imds_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 541
    functionName: botocore.utils.IMDSFetcher._is_empty
    functionSourceFile: botocore.utils
    functionUses: 25
    functionsReached:
    - logger_args.append
    - logger.debug
    - botocore.utils.IMDSFetcher._log_imds_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - response
    - reason_to_log
    - log_body
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 547
    functionName: botocore.utils.IMDSFetcher._log_imds_response
    functionSourceFile: botocore.utils
    functionUses: 28
    functionsReached:
    - logger.debug
    - logger_args.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger_args.append
    functionSourceFile: <builtin>
    functionUses: 29
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 568
    functionName: botocore.utils.InstanceMetadataFetcher.retrieve_iam_role_credentials
    functionSourceFile: botocore.utils
    functionUses: 12
    functionsReached:
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - io.BytesIO.lower
    - original.params.items
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - new_time.strftime
    - botocore.utils.IMDSFetcher._get_request
    - io.BytesIO.tell
    - conn.urlopen
    - base64.b64encode
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.httpsession.URLLib3Session._get_request_target
    - <builtin>.hasattr
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - <builtin>.str
    - random.randint
    - datetime.datetime.utcnow
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - logger.debug
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - os.environ.get
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.httpsession.URLLib3Session._chunked
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - <builtin>.bool
    - botocore.utils.InstanceMetadataFetcher._evaluate_expiration
    - io.BytesIO.encode
    - <builtin>.range
    - botocore.httpsession.URLLib3Session._path_url
    - headers.get
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - botocore.awsrequest.AWSRequest.prepare
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    - botocore.utils.InstanceMetadataFetcher._get_iam_role
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - botocore.utils.IMDSFetcher._fetch_metadata_token
    - urllib3.proxy_from_url
    - logger.info
    - botocore.utils.IMDSFetcher._default_retry
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - credentials.get
    - botocore.awsrequest.HeadersDict.__init__
    - io.BytesIO.seek
    - botocore.utils.IMDSFetcher._assert_enabled
    - logger_args.append
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - delim.join
    - botocore.compat.ensure_bytes
    - botocore.utils.IMDSFetcher._construct_url
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - datetime.timedelta
    - botocore.utils.IMDSFetcher._is_empty
    - urllib3.util.url.parse_url
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - urllib.parse.urlencode.items
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    - datetime.datetime.strptime
    - botocore.httpsession._is_ipaddress
    - e.kwargs.get
    - botocore.utils.InstanceMetadataFetcher._get_credentials
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.utils.InstanceMetadataFetcher._contains_all_credential_fields
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.utils.IMDSFetcher._add_user_agent
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    - botocore.utils.IMDSFetcher._log_imds_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 609
    functionName: botocore.utils.InstanceMetadataFetcher._get_iam_role
    functionSourceFile: botocore.utils
    functionUses: 13
    functionsReached:
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - io.BytesIO.lower
    - original.params.items
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - botocore.utils.IMDSFetcher._get_request
    - io.BytesIO.tell
    - conn.urlopen
    - base64.b64encode
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.httpsession.URLLib3Session._get_request_target
    - <builtin>.hasattr
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - <builtin>.str
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - logger.debug
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - os.environ.get
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.httpsession.URLLib3Session._chunked
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - <builtin>.bool
    - io.BytesIO.encode
    - <builtin>.range
    - headers.get
    - botocore.httpsession.URLLib3Session._path_url
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - botocore.awsrequest.AWSRequest.prepare
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - urllib3.proxy_from_url
    - botocore.utils.IMDSFetcher._default_retry
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - botocore.awsrequest.HeadersDict.__init__
    - io.BytesIO.seek
    - botocore.utils.IMDSFetcher._assert_enabled
    - logger_args.append
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - botocore.compat.ensure_bytes
    - delim.join
    - botocore.utils.IMDSFetcher._construct_url
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - botocore.utils.IMDSFetcher._is_empty
    - urllib3.util.url.parse_url
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - urllib.parse.urlencode.items
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    - botocore.httpsession._is_ipaddress
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.utils.IMDSFetcher._add_user_agent
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    - botocore.utils.IMDSFetcher._log_imds_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - role_name
    - token
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 616
    functionName: botocore.utils.InstanceMetadataFetcher._get_credentials
    functionSourceFile: botocore.utils
    functionUses: 13
    functionsReached:
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - io.BytesIO.lower
    - original.params.items
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - botocore.utils.IMDSFetcher._get_request
    - io.BytesIO.tell
    - conn.urlopen
    - base64.b64encode
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.httpsession.URLLib3Session._get_request_target
    - <builtin>.hasattr
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - <builtin>.str
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - logger.debug
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - os.environ.get
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.httpsession.URLLib3Session._chunked
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - <builtin>.bool
    - io.BytesIO.encode
    - <builtin>.range
    - headers.get
    - botocore.httpsession.URLLib3Session._path_url
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - botocore.awsrequest.AWSRequest.prepare
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - urllib3.proxy_from_url
    - botocore.utils.IMDSFetcher._default_retry
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - botocore.awsrequest.HeadersDict.__init__
    - io.BytesIO.seek
    - botocore.utils.IMDSFetcher._assert_enabled
    - logger_args.append
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - botocore.compat.ensure_bytes
    - delim.join
    - botocore.utils.IMDSFetcher._construct_url
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - botocore.utils.IMDSFetcher._is_empty
    - urllib3.util.url.parse_url
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - urllib.parse.urlencode.items
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    - botocore.httpsession._is_ipaddress
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.utils.IMDSFetcher._add_user_agent
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    - botocore.utils.IMDSFetcher._log_imds_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - credentials
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 642
    functionName: botocore.utils.InstanceMetadataFetcher._contains_all_credential_fields
    functionSourceFile: botocore.utils
    functionUses: 13
    functionsReached:
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - credentials
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 652
    functionName: botocore.utils.InstanceMetadataFetcher._evaluate_expiration
    functionSourceFile: botocore.utils
    functionUses: 13
    functionsReached:
    - credentials.get
    - random.randint
    - logger.debug
    - datetime.datetime.strptime
    - datetime.datetime.utcnow
    - datetime.timedelta
    - logger.info
    - new_time.strftime
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: json.loads
    functionSourceFile: json
    functionUses: 67
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 624
    functionName: botocore.utils.InstanceMetadataFetcher._is_invalid_json
    functionSourceFile: botocore.utils
    functionUses: 23
    functionsReached:
    - logger_args.append
    - logger.debug
    - json.loads
    - botocore.utils.IMDSFetcher._log_imds_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: credentials.get
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime.datetime.strptime
    functionSourceFile: datetime
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: random.randint
    functionSourceFile: random
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime.datetime.utcnow
    functionSourceFile: datetime
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime.timedelta
    functionSourceFile: datetime
    functionUses: 27
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_time.strftime
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.info
    functionSourceFile: <builtin>
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - session
    - environ
    - fetcher
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 688
    functionName: botocore.utils.IMDSRegionProvider.__init__
    functionSourceFile: botocore.utils
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 710
    functionName: botocore.utils.IMDSRegionProvider.provide
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - io.BytesIO.lower
    - original.params.items
    - session.instance_variables
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.utils.IMDSFetcher._get_request
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - io.BytesIO.tell
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - conn.urlopen
    - platform.release
    - base64.b64encode
    - botocore.credentials.SSOProvider.__init__
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - botocore.httpsession.URLLib3Session._get_request_target
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - botocore.configprovider.InstanceVarProvider.__init__
    - <builtin>.str
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - config_variables.items
    - platform.system
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - botocore.utils.IMDSRegionProvider._get_fetcher
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - botocore.utils.InstanceMetadataRegionFetcher.retrieve_region
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.utils.get_environ_proxies
    - botocore.httpsession.URLLib3Session._chunked
    - urllib.parse.unquote
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - <builtin>.bool
    - botocore.utils.InstanceMetadataRegionFetcher._get_region
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - io.BytesIO.encode
    - botocore.configprovider.ChainProvider.__init__
    - <builtin>.range
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.httpsession.URLLib3Session._path_url
    - headers.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.awsrequest.AWSRequest.prepare
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.IMDSFetcher._log_imds_response
    - botocore.utils.should_bypass_proxies
    - allowed.match
    - botocore.tokens.SSOTokenProvider.__init__
    - loader.load_data
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.awsrequest.AWSRequest.__init__
    - botocore.configprovider.EnvironmentProvider.__init__
    - auth_str.encode
    - botocore.session.Session.user_agent
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - urllib3.Timeout
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - botocore.utils.IMDSFetcher._fetch_metadata_token
    - urllib3.proxy_from_url
    - botocore.utils.IMDSFetcher._default_retry
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - botocore.awsrequest.HeadersDict.__init__
    - io.BytesIO.seek
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.utils.IMDSFetcher._assert_enabled
    - botocore.utils.IMDSRegionProvider._create_fetcher
    - botocore.session.Session._create_credential_resolver
    - logger_args.append
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - botocore.session.Session._create_csm_monitor
    - base64.b64encode.strip
    - env.get
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.httpsession.ensure_boolean
    - url.lower
    - botocore.session.Session._get_crt_version
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - delim.join
    - botocore.compat.ensure_bytes
    - botocore.utils.IMDSFetcher._construct_url
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.utils.IMDSFetcher._is_empty
    - botocore.utils.IMDSRegionProvider._get_instance_metadata_region
    - botocore.session.Session.get_config_variable
    - urllib3.util.url.parse_url
    - providers.append
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - platform.python_version
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    - botocore.utils.ContainerMetadataFetcher.__init__
    - urllib.parse.urlencode.items
    - providers.extend
    - botocore.httpsession._is_ipaddress
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - e.kwargs.get
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.tokens.create_token_resolver
    - session.user_agent
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.utils.IMDSFetcher._add_user_agent
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.session.ComponentLocator.get_component
    - botocore.httpsession.URLLib3Session.send
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 715
    functionName: botocore.utils.IMDSRegionProvider._get_instance_metadata_region
    functionSourceFile: botocore.utils
    functionUses: 3
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - io.BytesIO.lower
    - original.params.items
    - session.instance_variables
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.utils.IMDSFetcher._get_request
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - io.BytesIO.tell
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - conn.urlopen
    - platform.release
    - base64.b64encode
    - botocore.credentials.SSOProvider.__init__
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - botocore.httpsession.URLLib3Session._get_request_target
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - botocore.configprovider.InstanceVarProvider.__init__
    - <builtin>.str
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - config_variables.items
    - platform.system
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - botocore.utils.IMDSRegionProvider._get_fetcher
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - botocore.utils.InstanceMetadataRegionFetcher.retrieve_region
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.utils.get_environ_proxies
    - botocore.httpsession.URLLib3Session._chunked
    - urllib.parse.unquote
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - <builtin>.bool
    - botocore.utils.InstanceMetadataRegionFetcher._get_region
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - io.BytesIO.encode
    - botocore.configprovider.ChainProvider.__init__
    - <builtin>.range
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.httpsession.URLLib3Session._path_url
    - headers.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.awsrequest.AWSRequest.prepare
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.IMDSFetcher._log_imds_response
    - botocore.utils.should_bypass_proxies
    - allowed.match
    - botocore.tokens.SSOTokenProvider.__init__
    - loader.load_data
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.awsrequest.AWSRequest.__init__
    - botocore.configprovider.EnvironmentProvider.__init__
    - auth_str.encode
    - botocore.session.Session.user_agent
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - urllib3.Timeout
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - botocore.utils.IMDSFetcher._fetch_metadata_token
    - urllib3.proxy_from_url
    - botocore.utils.IMDSFetcher._default_retry
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - botocore.awsrequest.HeadersDict.__init__
    - io.BytesIO.seek
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.utils.IMDSFetcher._assert_enabled
    - botocore.utils.IMDSRegionProvider._create_fetcher
    - botocore.session.Session._create_credential_resolver
    - logger_args.append
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - botocore.session.Session._create_csm_monitor
    - base64.b64encode.strip
    - env.get
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.httpsession.ensure_boolean
    - url.lower
    - botocore.session.Session._get_crt_version
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - delim.join
    - botocore.compat.ensure_bytes
    - botocore.utils.IMDSFetcher._construct_url
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.utils.IMDSFetcher._is_empty
    - botocore.session.Session.get_config_variable
    - urllib3.util.url.parse_url
    - providers.append
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - platform.python_version
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    - botocore.utils.ContainerMetadataFetcher.__init__
    - urllib.parse.urlencode.items
    - providers.extend
    - botocore.httpsession._is_ipaddress
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - e.kwargs.get
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.tokens.create_token_resolver
    - session.user_agent
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.utils.IMDSFetcher._add_user_agent
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.session.ComponentLocator.get_component
    - botocore.httpsession.URLLib3Session.send
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 720
    functionName: botocore.utils.IMDSRegionProvider._get_fetcher
    functionSourceFile: botocore.utils
    functionUses: 4
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - platform.release
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - platform.system
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - allowed.match
    - botocore.tokens.SSOTokenProvider.__init__
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.session.Session.user_agent
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.utils.IMDSRegionProvider._create_fetcher
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.session.Session._get_crt_version
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - platform.python_version
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.tokens.create_token_resolver
    - session.user_agent
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 753
    functionName: botocore.utils.InstanceMetadataRegionFetcher.retrieve_region
    functionSourceFile: botocore.utils
    functionUses: 4
    functionsReached:
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - io.BytesIO.lower
    - original.params.items
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - botocore.utils.IMDSFetcher._get_request
    - io.BytesIO.tell
    - conn.urlopen
    - base64.b64encode
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.httpsession.URLLib3Session._get_request_target
    - <builtin>.hasattr
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - <builtin>.str
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - logger.debug
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - os.environ.get
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.httpsession.URLLib3Session._chunked
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - <builtin>.bool
    - botocore.utils.InstanceMetadataRegionFetcher._get_region
    - io.BytesIO.encode
    - <builtin>.range
    - headers.get
    - botocore.httpsession.URLLib3Session._path_url
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - botocore.awsrequest.AWSRequest.prepare
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - botocore.utils.IMDSFetcher._fetch_metadata_token
    - urllib3.proxy_from_url
    - botocore.utils.IMDSFetcher._default_retry
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - botocore.awsrequest.HeadersDict.__init__
    - io.BytesIO.seek
    - botocore.utils.IMDSFetcher._assert_enabled
    - logger_args.append
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - botocore.compat.ensure_bytes
    - delim.join
    - botocore.utils.IMDSFetcher._construct_url
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - botocore.utils.IMDSFetcher._is_empty
    - urllib3.util.url.parse_url
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - urllib.parse.urlencode.items
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    - botocore.httpsession._is_ipaddress
    - e.kwargs.get
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.utils.IMDSFetcher._add_user_agent
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    - botocore.utils.IMDSFetcher._log_imds_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 725
    functionName: botocore.utils.IMDSRegionProvider._create_fetcher
    functionSourceFile: botocore.utils
    functionUses: 5
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - platform.release
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - platform.system
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - allowed.match
    - botocore.tokens.SSOTokenProvider.__init__
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.session.Session.user_agent
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.session.Session._get_crt_version
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - platform.python_version
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.tokens.create_token_resolver
    - session.user_agent
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 525
    functionName: botocore.session.Session.user_agent
    functionSourceFile: botocore.session
    functionUses: 7
    functionsReached:
    - os.environ.get
    - platform.python_version
    - platform.release
    - platform.system
    - botocore.session.Session._get_crt_version
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 776
    functionName: botocore.utils.InstanceMetadataRegionFetcher._get_region
    functionSourceFile: botocore.utils
    functionUses: 5
    functionsReached:
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - io.BytesIO.lower
    - original.params.items
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - botocore.utils.IMDSFetcher._get_request
    - io.BytesIO.tell
    - conn.urlopen
    - base64.b64encode
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.httpsession.URLLib3Session._get_request_target
    - <builtin>.hasattr
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - <builtin>.str
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - logger.debug
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - os.environ.get
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.httpsession.URLLib3Session._chunked
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - <builtin>.bool
    - io.BytesIO.encode
    - <builtin>.range
    - headers.get
    - botocore.httpsession.URLLib3Session._path_url
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - botocore.awsrequest.AWSRequest.prepare
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - botocore.utils.IMDSFetcher._fetch_metadata_token
    - urllib3.proxy_from_url
    - botocore.utils.IMDSFetcher._default_retry
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - botocore.awsrequest.HeadersDict.__init__
    - io.BytesIO.seek
    - botocore.utils.IMDSFetcher._assert_enabled
    - logger_args.append
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - botocore.compat.ensure_bytes
    - delim.join
    - botocore.utils.IMDSFetcher._construct_url
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - botocore.utils.IMDSFetcher._is_empty
    - urllib3.util.url.parse_url
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - urllib.parse.urlencode.items
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    - botocore.httpsession._is_ipaddress
    - e.kwargs.get
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.utils.IMDSFetcher._add_user_agent
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    - botocore.utils.IMDSFetcher._log_imds_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 3
    argNames:
    - dict1
    - dict2
    - append_lists
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 788
    functionName: botocore.utils.merge_dicts
    functionSourceFile: botocore.utils
    functionUses: 4
    functionsReached:
    - botocore.utils.merge_dicts
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - original
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 817
    functionName: botocore.utils.lowercase_dict
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - key.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - filename
    - _open
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 825
    functionName: botocore.utils.parse_key_val_file
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - val.strip
    - contents.splitlines
    - key.strip
    - line.split
    - f.read
    - botocore.utils.parse_key_val_file_contents
    linkageType: pythonLinkage
    raised:
    - ConfigNotFound
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.read
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - contents
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 834
    functionName: botocore.utils.parse_key_val_file_contents
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - contents.splitlines
    - key.strip
    - line.split
    - val.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: contents.splitlines
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.split
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.strip
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: val.strip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argNames:
    - mapping
    - safe
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 849
    functionName: botocore.utils.percent_encode_sequence
    functionSourceFile: botocore.utils
    functionUses: 4
    functionsReached:
    - <builtin>.isinstance
    - mapping.items
    - <builtin>.hasattr
    - botocore.utils.percent_encode
    - urllib.parse.quote.encode
    - urllib.parse.quote
    - encoded_pairs.append
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mapping.items
    functionSourceFile: <builtin>
    functionUses: 52
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: encoded_pairs.append
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.quote.encode
    functionSourceFile: urllib
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.quote
    functionSourceFile: urllib
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - value
    - tzinfo
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 908
    functionName: botocore.utils._parse_timestamp_with_tzinfo
    functionSourceFile: botocore.utils
    functionUses: 32
    functionsReached:
    - dateutil.parser.parse
    - <builtin>.isinstance
    - datetime.datetime.fromtimestamp
    - <builtin>.float
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime.datetime.fromtimestamp
    functionSourceFile: datetime
    functionUses: 46
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.float
    functionSourceFile: <builtin>
    functionUses: 42
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dateutil.parser.parse
    functionSourceFile: <builtin>
    functionUses: 60
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 927
    functionName: botocore.utils.parse_timestamp
    functionSourceFile: botocore.utils
    functionUses: 31
    functionsReached:
    - dateutil.parser.parse
    - logger.debug
    - <builtin>.isinstance
    - datetime.datetime.fromtimestamp
    - botocore.compat.get_tzinfo_options
    - botocore.utils._parse_timestamp_with_tzinfo
    - <builtin>.float
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dateutil.tz.tzutc
    functionSourceFile: dateutil
    functionUses: 35
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime_obj.replace
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime_obj.astimezone
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argNames:
    - dt
    - default_timezone
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 998
    functionName: botocore.utils.datetime2timestamp
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - dateutil.tz.tzutc
    - datetime.datetime
    - <builtin>.hasattr
    - d.total_seconds
    - dt.utcoffset
    - dt.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime.datetime
    functionSourceFile: datetime
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dt.replace
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dt.utcoffset
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: d.total_seconds
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - body
    - as_hex
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1021
    functionName: botocore.utils.calculate_sha256
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - checksum.hexdigest
    - <builtin>.iter
    - checksum.digest
    - hashlib.sha256
    - checksum.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hashlib.sha256
    functionSourceFile: hashlib
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.utils.calculate_sha256.<lambda1>
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - io.BytesIO.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO.read
    functionSourceFile: io
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: checksum.update
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: checksum.hexdigest
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: checksum.digest
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 1
    argNames:
    - body
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1048
    functionName: botocore.utils.calculate_tree_hash
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - new_chunks.append
    - binascii.hexlify
    - <builtin>.iter
    - hashlib.sha256
    - itertools.zip_longest
    - chunks.append
    - botocore.utils._in_pairs
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.utils.calculate_tree_hash.<lambda1>
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - io.BytesIO.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: chunks.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - iterable
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1081
    functionName: botocore.utils._in_pairs
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - <builtin>.iter
    - itertools.zip_longest
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_chunks.append
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: binascii.hexlify
    functionSourceFile: binascii
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: itertools.zip_longest
    functionSourceFile: itertools
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - fget
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1106
    functionName: botocore.utils.CachedProperty.__init__
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - obj
    - cls
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1109
    functionName: botocore.utils.CachedProperty.__get__
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - use_member_names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1145
    functionName: botocore.utils.ArgumentGenerator.__init__
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - shape
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1148
    functionName: botocore.utils.ArgumentGenerator.generate_skeleton
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - datetime.datetime
    - botocore.utils.ArgumentGenerator._generate_type_structure
    - botocore.utils.ArgumentGenerator._generate_skeleton
    - botocore.utils.ArgumentGenerator._generate_type_list
    - random.choice
    - botocore.utils.ArgumentGenerator._generate_type_map
    - shape.members.items
    - stack.pop
    - stack.count
    - stack.append
    - collections.OrderedDict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 2
    IfCount: 10
    argCount: 4
    argNames:
    - self
    - shape
    - stack
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1161
    functionName: botocore.utils.ArgumentGenerator._generate_skeleton
    functionSourceFile: botocore.utils
    functionUses: 4
    functionsReached:
    - botocore.utils.ArgumentGenerator._generate_skeleton
    - botocore.utils.ArgumentGenerator._generate_type_structure
    - datetime.datetime
    - botocore.utils.ArgumentGenerator._generate_type_list
    - random.choice
    - botocore.utils.ArgumentGenerator._generate_type_map
    - shape.members.items
    - stack.pop
    - stack.count
    - stack.append
    - collections.OrderedDict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stack.append
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - shape
    - stack
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1187
    functionName: botocore.utils.ArgumentGenerator._generate_type_structure
    functionSourceFile: botocore.utils
    functionUses: 4
    functionsReached:
    - datetime.datetime
    - botocore.utils.ArgumentGenerator._generate_type_structure
    - botocore.utils.ArgumentGenerator._generate_skeleton
    - botocore.utils.ArgumentGenerator._generate_type_list
    - random.choice
    - botocore.utils.ArgumentGenerator._generate_type_map
    - shape.members.items
    - stack.count
    - stack.pop
    - stack.append
    - collections.OrderedDict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - shape
    - stack
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1197
    functionName: botocore.utils.ArgumentGenerator._generate_type_list
    functionSourceFile: botocore.utils
    functionUses: 4
    functionsReached:
    - datetime.datetime
    - botocore.utils.ArgumentGenerator._generate_type_structure
    - botocore.utils.ArgumentGenerator._generate_skeleton
    - botocore.utils.ArgumentGenerator._generate_type_list
    - random.choice
    - botocore.utils.ArgumentGenerator._generate_type_map
    - shape.members.items
    - stack.pop
    - stack.count
    - stack.append
    - collections.OrderedDict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - shape
    - stack
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1207
    functionName: botocore.utils.ArgumentGenerator._generate_type_map
    functionSourceFile: botocore.utils
    functionUses: 4
    functionsReached:
    - datetime.datetime
    - botocore.utils.ArgumentGenerator._generate_skeleton
    - botocore.utils.ArgumentGenerator._generate_type_list
    - botocore.utils.ArgumentGenerator._generate_type_structure
    - random.choice
    - botocore.utils.ArgumentGenerator._generate_type_map
    - shape.members.items
    - stack.pop
    - stack.count
    - stack.append
    - collections.OrderedDict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: random.choice
    functionSourceFile: random
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stack.pop
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stack.count
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.OrderedDict
    functionSourceFile: collections
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - endpoint_url
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1218
    functionName: botocore.utils.is_valid_ipv6_endpoint_url
    functionSourceFile: botocore.utils
    functionUses: 58
    functionsReached:
    - IPV6_ADDRZ_RE.match
    - urllib.parse.urlparse
    - UNSAFE_URL_CHARS.intersection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: UNSAFE_URL_CHARS.intersection
    functionSourceFile: <builtin>
    functionUses: 60
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlparse
    functionSourceFile: urllib
    functionUses: 112
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: IPV6_ADDRZ_RE.match
    functionSourceFile: <builtin>
    functionUses: 95
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - endpoint_url
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1225
    functionName: botocore.utils.is_valid_ipv4_endpoint_url
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - urllib.parse.urlparse
    - IPV4_RE.match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: IPV4_RE.match
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argNames:
    - endpoint_url
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1230
    functionName: botocore.utils.is_valid_endpoint_url
    functionSourceFile: botocore.utils
    functionUses: 47
    functionsReached:
    - <builtin>.len
    - allowed.match
    - UNSAFE_URL_CHARS.intersection
    - re.compile
    - urllib.parse.urlsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlsplit
    functionSourceFile: urllib
    functionUses: 103
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: allowed.match
    functionSourceFile: <builtin>
    functionUses: 48
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argNames:
    - region_name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1265
    functionName: botocore.utils.validate_region_name
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - re.compile
    - valid_host_label.match
    linkageType: pythonLinkage
    raised:
    - InvalidRegionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: valid_host_label.match
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argNames:
    - bucket_name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1275
    functionName: botocore.utils.check_dns_name
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - match.end
    - LABEL_RE.match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: LABEL_RE.match
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.end
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 5
    argNames:
    - request
    - signature_version
    - region_name
    - default_endpoint_url
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1298
    functionName: botocore.utils.fix_s3_host
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - botocore.utils.switch_to_virtual_host_style
    - <builtin>.len
    - logger.debug
    - urllib.parse.urlsplit.path.split
    - botocore.utils.check_dns_name
    - urllib.parse.urlsplit
    - match.end
    - request.url.endswith
    - request.context.get
    - LABEL_RE.match
    - path_parts.remove
    - botocore.utils._is_get_bucket_location_request
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request.context.get
    functionSourceFile: <builtin>
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 5
    IfCount: 8
    argCount: 4
    argNames:
    - request
    - signature_version
    - default_endpoint_url
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1327
    functionName: botocore.utils.switch_to_virtual_host_style
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - logger.debug
    - urllib.parse.urlsplit.path.split
    - botocore.utils.check_dns_name
    - urllib.parse.urlsplit
    - match.end
    - request.url.endswith
    - LABEL_RE.match
    - path_parts.remove
    - botocore.utils._is_get_bucket_location_request
    linkageType: pythonLinkage
    raised:
    - InvalidDNSNameError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - request
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1391
    functionName: botocore.utils._is_get_bucket_location_request
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - request.url.endswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlsplit.path.split
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: path_parts.remove
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request.url.endswith
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1395
    functionName: botocore.utils.instance_cache
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.wraps
    functionSourceFile: functools
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1413
    functionName: botocore.utils.instance_cache._cache_guard
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - is_special.group
    - botocore.xform_name
    - <builtin>.len
    - botocore.regions.EndpointRulesetResolver._get_dynamic_context_params
    - botocore.regions.EndpointRulesetResolver._get_static_context_params
    - matched.lower
    - _end_cap_regex.sub
    - operation_model.get
    - botocore.model.ServiceModel.operation_model
    - <builtin>.sorted
    - _special_case_transform.search
    - _first_cap_regex.sub
    - <builtin>.tuple
    - botocore.regions.EndpointRulesetResolver._get_client_context_params
    - botocore.model.OperationModel.__init__
    - kwargs.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.items
    functionSourceFile: <builtin>
    functionUses: 31
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.sorted
    functionSourceFile: <builtin>
    functionUses: 42
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.tuple
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - operation_model
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 614
    functionName: botocore.regions.EndpointRulesetResolver._get_dynamic_context_params
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - operation_model
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 606
    functionName: botocore.regions.EndpointRulesetResolver._get_static_context_params
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 622
    functionName: botocore.regions.EndpointRulesetResolver._get_client_context_params
    functionSourceFile: botocore.regions
    functionUses: 5
    functionsReached:
    - is_special.group
    - botocore.xform_name
    - <builtin>.len
    - matched.lower
    - _end_cap_regex.sub
    - _special_case_transform.search
    - _first_cap_regex.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argNames:
    - request
    - operation_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1428
    functionName: botocore.utils.switch_host_s3_accelerate
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.utils._get_new_endpoint
    - botocore.utils._switch_hosts
    - urllib.parse.urlsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - request
    - new_endpoint
    - use_new_scheme
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1455
    functionName: botocore.utils._switch_hosts
    functionSourceFile: botocore.utils
    functionUses: 4
    functionsReached:
    - logger.debug
    - botocore.utils._get_new_endpoint
    - urllib.parse.urlsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - request
    - param_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1447
    functionName: botocore.utils.switch_host_with_param
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - logger.debug
    - request.data.decode
    - botocore.utils._get_new_endpoint
    - json.loads
    - botocore.utils._switch_hosts
    - request_json.get
    - urllib.parse.urlsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request.data.decode
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request_json.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - original_endpoint
    - new_endpoint
    - use_new_scheme
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1462
    functionName: botocore.utils._get_new_endpoint
    functionSourceFile: botocore.utils
    functionUses: 10
    functionsReached:
    - logger.debug
    - urllib.parse.urlsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - base
    - extra
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1480
    functionName: botocore.utils.deep_merge
    functionSourceFile: botocore.utils
    functionUses: 4
    functionsReached:
    - <builtin>.isinstance
    - botocore.utils.deep_merge
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - service_id
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1501
    functionName: botocore.utils.hyphenize_service_id
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - service_id.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: service_id.replace
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - endpoint_bridge
    - client
    - cache
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1517
    functionName: botocore.utils.S3RegionRedirectorv2.__init__
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - weakref.proxy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: weakref.proxy
    functionSourceFile: weakref
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - event_emitter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1521
    functionName: botocore.utils.S3RegionRedirectorv2.register
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - logger.debug
    - emitter.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: emitter.register
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 5
    IfCount: 6
    argCount: 5
    argNames:
    - self
    - request_dict
    - response
    - operation
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1532
    functionName: botocore.utils.S3RegionRedirectorv2.redirect_from_error
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - botocore.utils.ArnParser.is_arn
    - <builtin>.len
    - logger.debug
    - <builtin>.isinstance
    - service_response.get
    - botocore.utils.S3RegionRedirectorv2.get_bucket_region
    - botocore.utils._get_new_endpoint
    - urllib.parse.unquote.startswith
    - redirect_ctx.get
    - headers.get
    - response_metadata.get
    - urllib.parse.unquote.split
    - ep_resolver.construct_endpoint
    - botocore.utils.ArnParser.parse_arn
    - request_dict.get
    - urllib.parse.urlsplit
    - error.get
    - <builtin>.any
    - ep_resolver.auth_schemes_to_signing_ctx
    - botocore.utils.S3RegionRedirectorv2.set_request_url
    - ep_info.properties.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request_dict.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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: redirect_ctx.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1905
    functionName: botocore.utils.ArnParser.is_arn
    functionSourceFile: botocore.utils
    functionUses: 5
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - urllib.parse.unquote.split
    - botocore.utils.ArnParser.parse_arn
    - urllib.parse.unquote.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: response_metadata.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - bucket
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1640
    functionName: botocore.utils.S3RegionRedirectorv2.get_bucket_region
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - service_response.get
    - headers.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ep_resolver.construct_endpoint
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - old_url
    - new_endpoint
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1673
    functionName: botocore.utils.S3RegionRedirectorv2.set_request_url
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - logger.debug
    - botocore.utils._get_new_endpoint
    - urllib.parse.urlsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ep_info.properties.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ep_resolver.auth_schemes_to_signing_ctx
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: service_response.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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: headers.get
    functionSourceFile: <builtin>
    functionUses: 49
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - builtins
    - params
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1681
    functionName: botocore.utils.S3RegionRedirectorv2.redirect_from_cache
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - params.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: params.get
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - params
    - context
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1693
    functionName: botocore.utils.S3RegionRedirectorv2.annotate_request_context
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - params.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - endpoint_bridge
    - client
    - cache
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1710
    functionName: botocore.utils.S3RegionRedirector.__init__
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - weakref.proxy
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: warnings.warn
    functionSourceFile: warnings
    functionUses: 43
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - event_emitter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1727
    functionName: botocore.utils.S3RegionRedirector.register
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - emitter.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 6
    IfCount: 5
    argCount: 5
    argNames:
    - self
    - request_dict
    - response
    - operation
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1733
    functionName: botocore.utils.S3RegionRedirector.redirect_from_error
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - response_metadata.get
    - botocore.utils.S3RegionRedirector._is_s3_accesspoint
    - logger.debug
    - error.get
    - urllib.parse.urlsplit
    - service_response.get
    - botocore.utils.S3RegionRedirector.get_bucket_region
    - botocore.utils._get_new_endpoint
    - <builtin>.any
    - context.get
    - botocore.utils.S3RegionRedirector.set_request_url
    - request_dict.get
    - headers.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1880
    functionName: botocore.utils.S3RegionRedirector._is_s3_accesspoint
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - bucket
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1828
    functionName: botocore.utils.S3RegionRedirector.get_bucket_region
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - service_response.get
    - headers.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - params
    - context
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1861
    functionName: botocore.utils.S3RegionRedirector.set_request_url
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - logger.debug
    - context.get
    - botocore.utils._get_new_endpoint
    - urllib.parse.urlsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argNames:
    - self
    - params
    - context
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1866
    functionName: botocore.utils.S3RegionRedirector.redirect_from_cache
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - botocore.utils.S3RegionRedirector._is_s3_accesspoint
    - params.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - arn
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1889
    functionName: botocore.utils.ArnParser.parse_arn
    functionSourceFile: botocore.utils
    functionUses: 15
    functionsReached:
    - <builtin>.len
    - urllib.parse.unquote.split
    linkageType: pythonLinkage
    raised:
    - InvalidArnException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.unquote.split
    functionSourceFile: urllib
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.unquote.startswith
    functionSourceFile: urllib
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.utils.S3ArnParamHandler
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - arn_parser
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1926
    functionName: botocore.utils.S3ArnParamHandler.__init__
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - event_emitter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1931
    functionName: botocore.utils.S3ArnParamHandler.register
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - event_emitter.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event_emitter.register
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 5
    argNames:
    - self
    - params
    - model
    - context
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1934
    functionName: botocore.utils.S3ArnParamHandler.handle_arn
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - botocore.utils.S3ArnParamHandler._store_outpost
    - <builtin>.len
    - botocore.utils.S3ArnParamHandler._get_arn_details_from_bucket_param
    - urllib.parse.unquote.split
    - botocore.utils.ArnParser.parse_arn
    - match.group
    - botocore.utils.S3ArnParamHandler._add_resource_type_and_name
    - botocore.utils.S3ArnParamHandler._store_accesspoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - params
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1945
    functionName: botocore.utils.S3ArnParamHandler._get_arn_details_from_bucket_param
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - urllib.parse.unquote.split
    - botocore.utils.ArnParser.parse_arn
    - match.group
    - botocore.utils.S3ArnParamHandler._add_resource_type_and_name
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - params
    - context
    - arn_details
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1964
    functionName: botocore.utils.S3ArnParamHandler._store_accesspoint
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - params
    - context
    - arn_details
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1981
    functionName: botocore.utils.S3ArnParamHandler._store_outpost
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - match.group
    linkageType: pythonLinkage
    raised:
    - UnsupportedOutpostResourceError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - arn
    - arn_details
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1956
    functionName: botocore.utils.S3ArnParamHandler._add_resource_type_and_name
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - match.group
    linkageType: pythonLinkage
    raised:
    - UnsupportedS3ArnError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.group
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 7
    argNames:
    - self
    - endpoint_resolver
    - region
    - s3_config
    - endpoint_url
    - partition
    - use_fips_endpoint
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2005
    functionName: botocore.utils.S3EndpointSetter.__init__
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - event_emitter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2026
    functionName: botocore.utils.S3EndpointSetter.register
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - event_emitter.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argNames:
    - self
    - params
    - context
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2034
    functionName: botocore.utils.S3EndpointSetter.update_endpoint_to_s3_object_lambda
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - logger.debug
    - botocore.utils.S3EndpointSetter._override_signing_name
    - botocore.utils._get_new_endpoint
    - context.get
    - resolver.construct_endpoint
    - urllib.parse.urlsplit
    linkageType: pythonLinkage
    raised:
    - UnsupportedS3ConfigurationError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - context
    - signing_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2330
    functionName: botocore.utils.S3EndpointSetter._override_signing_name
    functionSourceFile: botocore.utils
    functionUses: 3
    functionsReached:
    - context.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resolver.construct_endpoint
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 7
    IfCount: 4
    argCount: 3
    argNames:
    - self
    - request
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 2061
    functionName: botocore.utils.S3EndpointSetter.set_endpoint
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.utils.S3EndpointSetter._validate_mrap_s3_config
    - botocore.utils.S3EndpointSetter._switch_to_accesspoint_endpoint
    - botocore.utils._get_new_endpoint
    - request.context.get
    - botocore.utils.S3EndpointSetter._use_accesspoint_endpoint
    - botocore.utils.S3EndpointSetter._validate_global_regions
    - botocore.utils.S3EndpointSetter._resolve_signing_name_for_accesspoint_endpoint
    - botocore.utils._switch_hosts
    - botocore.utils.S3EndpointSetter._override_signing_name
    - botocore.utils.S3EndpointSetter._get_accesspoint_netloc
    - botocore.utils.switch_host_s3_accelerate
    - s3_accesspoint.get
    - urllib.parse.urlsplit.path.replace
    - botocore.utils.S3EndpointSetter._resolve_region_for_accesspoint_endpoint
    - botocore.utils.S3EndpointSetter._override_signing_region
    - mrap_netloc_components.append
    - botocore.utils.S3EndpointSetter._get_mrap_netloc
    - accesspoint_netloc_components.append
    - accesspoint_netloc_components.extend
    - botocore.utils.S3EndpointSetter._validate_fips_supported
    - botocore.utils.S3EndpointSetter._get_accesspoint_path
    - urllib.parse.urlsplit
    - botocore.utils.S3EndpointSetter._inject_fips_if_needed
    - botocore.utils.is_global_accesspoint
    - botocore.utils.S3EndpointSetter._validate_accesspoint_supported
    - mrap_netloc_components.extend
    - context.get
    - botocore.utils.S3EndpointSetter._s3_addressing_handler
    - botocore.utils.S3EndpointSetter._get_netloc
    linkageType: pythonLinkage
    raised:
    - UnsupportedS3ConfigurationError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2085
    functionName: botocore.utils.S3EndpointSetter._use_accesspoint_endpoint
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2132
    functionName: botocore.utils.S3EndpointSetter._validate_accesspoint_supported
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - context.get
    - botocore.utils.S3EndpointSetter._validate_mrap_s3_config
    - botocore.utils.is_global_accesspoint
    - s3_accesspoint.get
    linkageType: pythonLinkage
    raised:
    - UnsupportedS3AccesspointConfigurationError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2088
    functionName: botocore.utils.S3EndpointSetter._validate_fips_supported
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - UnsupportedS3AccesspointConfigurationError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2120
    functionName: botocore.utils.S3EndpointSetter._validate_global_regions
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - UnsupportedS3AccesspointConfigurationError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2188
    functionName: botocore.utils.S3EndpointSetter._resolve_region_for_accesspoint_endpoint
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - botocore.utils.is_global_accesspoint
    - request.context.get
    - context.get
    - s3_accesspoint.get
    - botocore.utils.S3EndpointSetter._override_signing_region
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2212
    functionName: botocore.utils.S3EndpointSetter._resolve_signing_name_for_accesspoint_endpoint
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - context.get
    - botocore.utils.S3EndpointSetter._override_signing_name
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - request
    - region_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2216
    functionName: botocore.utils.S3EndpointSetter._switch_to_accesspoint_endpoint
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - mrap_netloc_components.append
    - logger.debug
    - botocore.utils.is_global_accesspoint
    - botocore.utils.S3EndpointSetter._get_mrap_netloc
    - mrap_netloc_components.extend
    - botocore.utils.S3EndpointSetter._get_accesspoint_netloc
    - accesspoint_netloc_components.append
    - accesspoint_netloc_components.extend
    - context.get
    - s3_accesspoint.get
    - urllib.parse.urlsplit.path.replace
    - botocore.utils.S3EndpointSetter._get_accesspoint_path
    - urllib.parse.urlsplit
    - botocore.utils.S3EndpointSetter._get_netloc
    - botocore.utils.S3EndpointSetter._inject_fips_if_needed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2387
    functionName: botocore.utils.S3EndpointSetter._s3_addressing_handler
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2170
    functionName: botocore.utils.S3EndpointSetter._validate_mrap_s3_config
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - context.get
    - s3_accesspoint.get
    - botocore.utils.is_global_accesspoint
    linkageType: pythonLinkage
    raised:
    - UnsupportedS3AccesspointConfigurationError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - request
    - region_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2321
    functionName: botocore.utils.S3EndpointSetter._override_signing_region
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - request.context.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - context
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2201
    functionName: botocore.utils.S3EndpointSetter.set_signer
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - context.get
    - s3_accesspoint.get
    - botocore.utils.is_global_accesspoint
    linkageType: pythonLinkage
    raised:
    - MissingDependencyException
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - request_context
    - region_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2234
    functionName: botocore.utils.S3EndpointSetter._get_netloc
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - mrap_netloc_components.append
    - botocore.utils.is_global_accesspoint
    - botocore.utils.S3EndpointSetter._get_mrap_netloc
    - mrap_netloc_components.extend
    - botocore.utils.S3EndpointSetter._get_accesspoint_netloc
    - accesspoint_netloc_components.append
    - accesspoint_netloc_components.extend
    - context.get
    - s3_accesspoint.get
    - urllib.parse.urlsplit
    - botocore.utils.S3EndpointSetter._inject_fips_if_needed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - original_path
    - request_context
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2295
    functionName: botocore.utils.S3EndpointSetter._get_accesspoint_path
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - urllib.parse.urlsplit.path.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - request_context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2240
    functionName: botocore.utils.S3EndpointSetter._get_mrap_netloc
    functionSourceFile: botocore.utils
    functionUses: 3
    functionsReached:
    - mrap_netloc_components.extend
    - mrap_netloc_components.append
    - urllib.parse.urlsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 7
    IfCount: 5
    argCount: 3
    argNames:
    - self
    - request_context
    - region_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2258
    functionName: botocore.utils.S3EndpointSetter._get_accesspoint_netloc
    functionSourceFile: botocore.utils
    functionUses: 3
    functionsReached:
    - accesspoint_netloc_components.append
    - accesspoint_netloc_components.extend
    - s3_accesspoint.get
    - urllib.parse.urlsplit
    - botocore.utils.S3EndpointSetter._inject_fips_if_needed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mrap_netloc_components.append
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mrap_netloc_components.extend
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: accesspoint_netloc_components.append
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: accesspoint_netloc_components.extend
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - component
    - request_context
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2290
    functionName: botocore.utils.S3EndpointSetter._inject_fips_if_needed
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlsplit.path.replace
    functionSourceFile: urllib
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - partition_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2304
    functionName: botocore.utils.S3EndpointSetter._get_partition_dns_suffix
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - region_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2312
    functionName: botocore.utils.S3EndpointSetter._get_dns_suffix
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.utils.S3EndpointSetter
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - botocore.utils.CachedProperty
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.utils.CachedProperty
    functionSourceFile: ''
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2340
    functionName: botocore.utils.S3EndpointSetter._use_accelerate_endpoint
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - urllib.parse.urlsplit.netloc.endswith
    - <builtin>.set
    - <builtin>.all
    - urllib.parse.urlsplit
    - urllib.parse.urlsplit.netloc.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlsplit.netloc.endswith
    functionSourceFile: urllib
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlsplit.netloc.split
    functionSourceFile: urllib
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.set
    functionSourceFile: <builtin>
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.all
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2375
    functionName: botocore.utils.S3EndpointSetter._addressing_style
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.utils.S3ControlEndpointSetter
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 7
    argNames:
    - self
    - endpoint_resolver
    - region
    - s3_config
    - endpoint_url
    - partition
    - use_fips_endpoint
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2416
    functionName: botocore.utils.S3ControlEndpointSetter.__init__
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - event_emitter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2436
    functionName: botocore.utils.S3ControlEndpointSetter.register
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - event_emitter.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - request
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 2439
    functionName: botocore.utils.S3ControlEndpointSetter.set_endpoint
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - logger.debug
    - botocore.utils.S3ControlEndpointSetter._validate_endpoint_from_arn_details_supported
    - botocore.utils.S3ControlEndpointSetter._add_outpost_id_header
    - botocore.utils.S3ControlEndpointSetter._get_dns_suffix
    - request.context.get
    - botocore.utils.S3ControlEndpointSetter._resolve_netloc_from_arn_details
    - botocore.utils.S3ControlEndpointSetter._add_headers_from_arn_details
    - botocore.utils.S3ControlEndpointSetter._construct_netloc
    - netloc.append
    - botocore.utils.S3ControlEndpointSetter._resolve_region_from_arn_details
    - botocore.utils.S3ControlEndpointSetter._update_request_netloc
    - netloc.extend
    - botocore.utils.S3ControlEndpointSetter._validate_host_labels
    - botocore.utils.S3ControlEndpointSetter._resolve_signing_name_from_arn_details
    - botocore.utils.S3ControlEndpointSetter._add_fips
    - arn_details.get
    - botocore.utils.S3ControlEndpointSetter._use_endpoint_from_arn_details
    - botocore.utils.S3ControlEndpointSetter._is_valid_host_label
    - botocore.utils.S3ControlEndpointSetter._add_dualstack
    - botocore.utils.S3ControlEndpointSetter._construct_s3_control_endpoint
    - botocore.utils.S3ControlEndpointSetter._construct_outpost_endpoint
    - botocore.utils.S3ControlEndpointSetter._resolve_endpoint_from_arn_details
    - botocore.utils.S3ControlEndpointSetter._override_signing_region
    - urllib.parse.urlsplit
    - botocore.utils.S3ControlEndpointSetter._use_endpoint_from_outpost_id
    - botocore.utils.S3ControlEndpointSetter._override_signing_name
    - botocore.utils.S3ControlEndpointSetter._validate_outpost_redirection_valid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2452
    functionName: botocore.utils.S3ControlEndpointSetter._use_endpoint_from_arn_details
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2458
    functionName: botocore.utils.S3ControlEndpointSetter._validate_endpoint_from_arn_details_supported
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - botocore.utils.S3ControlEndpointSetter._validate_outpost_redirection_valid
    linkageType: pythonLinkage
    raised:
    - UnsupportedS3ControlConfigurationError
    - UnsupportedS3ControlArnError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2499
    functionName: botocore.utils.S3ControlEndpointSetter._resolve_region_from_arn_details
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - botocore.utils.S3ControlEndpointSetter._override_signing_region
    - request.context.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2508
    functionName: botocore.utils.S3ControlEndpointSetter._resolve_signing_name_from_arn_details
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - botocore.utils.S3ControlEndpointSetter._override_signing_name
    - request.context.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - request
    - region_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 2513
    functionName: botocore.utils.S3ControlEndpointSetter._resolve_endpoint_from_arn_details
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - logger.debug
    - botocore.utils.S3ControlEndpointSetter._add_dualstack
    - botocore.utils.S3ControlEndpointSetter._is_valid_host_label
    - botocore.utils.S3ControlEndpointSetter._update_request_netloc
    - botocore.utils.S3ControlEndpointSetter._construct_s3_control_endpoint
    - botocore.utils.S3ControlEndpointSetter._construct_outpost_endpoint
    - netloc.extend
    - botocore.utils.S3ControlEndpointSetter._get_dns_suffix
    - botocore.utils.S3ControlEndpointSetter._resolve_netloc_from_arn_details
    - botocore.utils.S3ControlEndpointSetter._validate_host_labels
    - botocore.utils.S3ControlEndpointSetter._add_fips
    - botocore.utils.S3ControlEndpointSetter._construct_netloc
    - urllib.parse.urlsplit
    - netloc.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2616
    functionName: botocore.utils.S3ControlEndpointSetter._add_headers_from_arn_details
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - arn_details.get
    - botocore.utils.S3ControlEndpointSetter._add_outpost_id_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2455
    functionName: botocore.utils.S3ControlEndpointSetter._use_endpoint_from_outpost_id
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2490
    functionName: botocore.utils.S3ControlEndpointSetter._validate_outpost_redirection_valid
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - UnsupportedS3ControlConfigurationError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - request
    - signing_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2607
    functionName: botocore.utils.S3ControlEndpointSetter._override_signing_name
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - request.context.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - region_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2565
    functionName: botocore.utils.S3ControlEndpointSetter._construct_outpost_endpoint
    functionSourceFile: botocore.utils
    functionUses: 3
    functionsReached:
    - botocore.utils.S3ControlEndpointSetter._is_valid_host_label
    - botocore.utils.S3ControlEndpointSetter._get_dns_suffix
    - botocore.utils.S3ControlEndpointSetter._validate_host_labels
    - botocore.utils.S3ControlEndpointSetter._add_fips
    - botocore.utils.S3ControlEndpointSetter._construct_netloc
    - urllib.parse.urlsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - request
    - new_netloc
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2519
    functionName: botocore.utils.S3ControlEndpointSetter._update_request_netloc
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - logger.debug
    - urllib.parse.urlsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - request
    - region_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2598
    functionName: botocore.utils.S3ControlEndpointSetter._override_signing_region
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - request.context.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - request
    - region_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2535
    functionName: botocore.utils.S3ControlEndpointSetter._resolve_netloc_from_arn_details
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - botocore.utils.S3ControlEndpointSetter._is_valid_host_label
    - botocore.utils.S3ControlEndpointSetter._add_dualstack
    - botocore.utils.S3ControlEndpointSetter._construct_s3_control_endpoint
    - botocore.utils.S3ControlEndpointSetter._construct_outpost_endpoint
    - netloc.extend
    - botocore.utils.S3ControlEndpointSetter._get_dns_suffix
    - botocore.utils.S3ControlEndpointSetter._validate_host_labels
    - botocore.utils.S3ControlEndpointSetter._add_fips
    - botocore.utils.S3ControlEndpointSetter._construct_netloc
    - urllib.parse.urlsplit
    - netloc.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - region_name
    - account
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2550
    functionName: botocore.utils.S3ControlEndpointSetter._construct_s3_control_endpoint
    functionSourceFile: botocore.utils
    functionUses: 3
    functionsReached:
    - botocore.utils.S3ControlEndpointSetter._is_valid_host_label
    - botocore.utils.S3ControlEndpointSetter._add_dualstack
    - netloc.extend
    - botocore.utils.S3ControlEndpointSetter._get_dns_suffix
    - botocore.utils.S3ControlEndpointSetter._validate_host_labels
    - botocore.utils.S3ControlEndpointSetter._construct_netloc
    - urllib.parse.urlsplit
    - netloc.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - label
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2542
    functionName: botocore.utils.S3ControlEndpointSetter._is_valid_host_label
    functionSourceFile: botocore.utils
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - labels
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2545
    functionName: botocore.utils.S3ControlEndpointSetter._validate_host_labels
    functionSourceFile: botocore.utils
    functionUses: 5
    functionsReached:
    - botocore.utils.S3ControlEndpointSetter._is_valid_host_label
    linkageType: pythonLinkage
    raised:
    - InvalidHostLabelError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - netloc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2585
    functionName: botocore.utils.S3ControlEndpointSetter._add_dualstack
    functionSourceFile: botocore.utils
    functionUses: 4
    functionsReached:
    - netloc.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - region_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2589
    functionName: botocore.utils.S3ControlEndpointSetter._get_dns_suffix
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: netloc.extend
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - netloc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2578
    functionName: botocore.utils.S3ControlEndpointSetter._construct_netloc
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - netloc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2581
    functionName: botocore.utils.S3ControlEndpointSetter._add_fips
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: netloc.append
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: arn_details.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - request
    - outpost_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2622
    functionName: botocore.utils.S3ControlEndpointSetter._add_outpost_id_header
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.utils.S3ControlArnParamHandler
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - arn_parser
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2633
    functionName: botocore.utils.S3ControlArnParamHandler.__init__
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - event_emitter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2644
    functionName: botocore.utils.S3ControlArnParamHandler.register
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - event_emitter.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 5
    argNames:
    - self
    - params
    - model
    - context
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 2650
    functionName: botocore.utils.S3ControlArnParamHandler.handle_arn
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.utils.S3ControlArnParamHandler._split_resource
    - botocore.utils.S3ControlArnParamHandler._handle_outpost_id_param
    - botocore.utils.S3ControlArnParamHandler._override_account_id_param
    - botocore.utils.S3ControlArnParamHandlerv2._store_outpost_bucket
    - botocore.utils.S3ControlArnParamHandler._is_outpost_bucket
    - botocore.utils.S3ControlArnParamHandlerv2._raise_for_fips_pseudo_region
    - botocore.utils.S3ControlArnParamHandlerv2._handle_bucket_param
    - botocore.utils.S3ControlArnParamHandler._is_outpost_accesspoint
    - urllib.parse.unquote.split
    - botocore.utils.ArnParser.parse_arn
    - arn_region.endswith
    - botocore.utils.S3ControlArnParamHandler._handle_name_param
    - botocore.utils.S3ControlArnParamHandler._store_outpost_bucket
    - arn_region.startswith
    - botocore.utils.S3ControlArnParamHandlerv2._store_outpost_accesspoint
    - botocore.utils.S3ControlArnParamHandler._handle_bucket_param
    - botocore.utils.S3ControlArnParamHandler._get_arn_details_from_param
    - botocore.utils.S3ControlArnParamHandlerv2._raise_for_accelerate_endpoint
    - botocore.utils.S3ControlArnParamHandler._store_outpost_accesspoint
    - s3_config.get
    - botocore.utils.S3ControlArnParamHandlerv2._handle_name_param
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - params
    - model
    - context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2688
    functionName: botocore.utils.S3ControlArnParamHandler._handle_outpost_id_param
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argNames:
    - self
    - params
    - model
    - context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2693
    functionName: botocore.utils.S3ControlArnParamHandler._handle_name_param
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - botocore.utils.S3ControlArnParamHandler._get_arn_details_from_param
    - <builtin>.len
    - urllib.parse.unquote.split
    - botocore.utils.S3ControlArnParamHandler._split_resource
    - botocore.utils.ArnParser.parse_arn
    - botocore.utils.S3ControlArnParamHandler._override_account_id_param
    - botocore.utils.S3ControlArnParamHandler._store_outpost_accesspoint
    - botocore.utils.S3ControlArnParamHandlerv2._store_outpost_accesspoint
    - botocore.utils.S3ControlArnParamHandler._is_outpost_accesspoint
    linkageType: pythonLinkage
    raised:
    - UnsupportedS3ControlArnError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 4
    argNames:
    - self
    - params
    - model
    - context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2778
    functionName: botocore.utils.S3ControlArnParamHandlerv2._handle_name_param
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - botocore.utils.S3ControlArnParamHandler._get_arn_details_from_param
    - <builtin>.len
    - botocore.utils.S3ControlArnParamHandlerv2._raise_for_fips_pseudo_region
    - urllib.parse.unquote.split
    - botocore.utils.S3ControlArnParamHandler._split_resource
    - botocore.utils.ArnParser.parse_arn
    - arn_region.endswith
    - botocore.utils.S3ControlArnParamHandlerv2._store_outpost_accesspoint
    - botocore.utils.S3ControlArnParamHandler._override_account_id_param
    - botocore.utils.S3ControlArnParamHandlerv2._raise_for_accelerate_endpoint
    - arn_region.startswith
    - s3_config.get
    - botocore.utils.S3ControlArnParamHandler._is_outpost_accesspoint
    linkageType: pythonLinkage
    raised:
    - UnsupportedS3ControlArnError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 4
    argNames:
    - self
    - params
    - model
    - context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2799
    functionName: botocore.utils.S3ControlArnParamHandlerv2._handle_bucket_param
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - botocore.utils.S3ControlArnParamHandler._get_arn_details_from_param
    - <builtin>.len
    - botocore.utils.S3ControlArnParamHandlerv2._raise_for_fips_pseudo_region
    - urllib.parse.unquote.split
    - botocore.utils.S3ControlArnParamHandler._split_resource
    - botocore.utils.ArnParser.parse_arn
    - arn_region.endswith
    - botocore.utils.S3ControlArnParamHandler._override_account_id_param
    - botocore.utils.S3ControlArnParamHandlerv2._raise_for_accelerate_endpoint
    - arn_region.startswith
    - s3_config.get
    - botocore.utils.S3ControlArnParamHandlerv2._store_outpost_bucket
    - botocore.utils.S3ControlArnParamHandler._is_outpost_bucket
    linkageType: pythonLinkage
    raised:
    - UnsupportedS3ControlArnError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argNames:
    - self
    - params
    - model
    - context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2726
    functionName: botocore.utils.S3ControlArnParamHandler._handle_bucket_param
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - botocore.utils.S3ControlArnParamHandler._get_arn_details_from_param
    - <builtin>.len
    - urllib.parse.unquote.split
    - botocore.utils.S3ControlArnParamHandler._split_resource
    - botocore.utils.ArnParser.parse_arn
    - botocore.utils.S3ControlArnParamHandler._override_account_id_param
    - botocore.utils.S3ControlArnParamHandler._store_outpost_bucket
    - botocore.utils.S3ControlArnParamHandlerv2._store_outpost_bucket
    - botocore.utils.S3ControlArnParamHandler._is_outpost_bucket
    linkageType: pythonLinkage
    raised:
    - UnsupportedS3ControlArnError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - params
    - param_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2660
    functionName: botocore.utils.S3ControlArnParamHandler._get_arn_details_from_param
    functionSourceFile: botocore.utils
    functionUses: 5
    functionsReached:
    - <builtin>.len
    - urllib.parse.unquote.split
    - botocore.utils.ArnParser.parse_arn
    - botocore.utils.S3ControlArnParamHandler._split_resource
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - arn_details
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2672
    functionName: botocore.utils.S3ControlArnParamHandler._split_resource
    functionSourceFile: ''
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - params
    - arn_details
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2675
    functionName: botocore.utils.S3ControlArnParamHandler._override_account_id_param
    functionSourceFile: botocore.utils
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - UnsupportedS3ControlArnError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - arn_details
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2709
    functionName: botocore.utils.S3ControlArnParamHandler._is_outpost_accesspoint
    functionSourceFile: botocore.utils
    functionUses: 3
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - params
    - context
    - arn_details
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2796
    functionName: botocore.utils.S3ControlArnParamHandlerv2._store_outpost_accesspoint
    functionSourceFile: botocore.utils
    functionUses: 3
    functionsReached:
    - botocore.utils.S3ControlArnParamHandler._override_account_id_param
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - params
    - context
    - arn_details
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2718
    functionName: botocore.utils.S3ControlArnParamHandler._store_outpost_accesspoint
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - botocore.utils.S3ControlArnParamHandler._override_account_id_param
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - arn_details
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2741
    functionName: botocore.utils.S3ControlArnParamHandler._is_outpost_bucket
    functionSourceFile: botocore.utils
    functionUses: 3
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - params
    - context
    - arn_details
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2816
    functionName: botocore.utils.S3ControlArnParamHandlerv2._store_outpost_bucket
    functionSourceFile: botocore.utils
    functionUses: 3
    functionsReached:
    - botocore.utils.S3ControlArnParamHandler._override_account_id_param
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - params
    - context
    - arn_details
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2750
    functionName: botocore.utils.S3ControlArnParamHandler._store_outpost_bucket
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - botocore.utils.S3ControlArnParamHandler._override_account_id_param
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - arn_parser
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2767
    functionName: botocore.utils.S3ControlArnParamHandlerv2.__init__
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - event_emitter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2772
    functionName: botocore.utils.S3ControlArnParamHandlerv2.register
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - event_emitter.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - arn_details
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2819
    functionName: botocore.utils.S3ControlArnParamHandlerv2._raise_for_fips_pseudo_region
    functionSourceFile: botocore.utils
    functionUses: 3
    functionsReached:
    - arn_region.startswith
    - arn_region.endswith
    linkageType: pythonLinkage
    raised:
    - UnsupportedS3ControlArnError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2828
    functionName: botocore.utils.S3ControlArnParamHandlerv2._raise_for_accelerate_endpoint
    functionSourceFile: botocore.utils
    functionUses: 3
    functionsReached:
    - s3_config.get
    linkageType: pythonLinkage
    raised:
    - UnsupportedS3ControlConfigurationError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: arn_region.startswith
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: arn_region.endswith
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s3_config.get
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - session
    - sleep
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 2844
    functionName: botocore.utils.ContainerMetadataFetcher.__init__
    functionSourceFile: botocore.utils
    functionUses: 41
    functionsReached:
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - os.environ.get
    - <builtin>.isinstance
    - <builtin>.getattr
    - pool_manager_kwargs.update
    - urllib3.PoolManager
    - <builtin>.hasattr
    - urllib3.util.ssl_.SSLContext
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.httpsession.create_urllib3_context
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib3.Timeout
    - botocore.httpsession.URLLib3Session.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - full_url
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 2852
    functionName: botocore.utils.ContainerMetadataFetcher.retrieve_full_uri
    functionSourceFile: botocore.utils
    functionUses: 14
    functionsReached:
    - urllib3.PoolManager.connection_from_url
    - logger.debug
    - <builtin>.isinstance
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - certifi.where
    - io.BytesIO.lower
    - headers.items
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - headers.update
    - json.loads
    - base64.b64encode.strip
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - proxy_manager_kwargs.update
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - os.environ.get
    - http.client.HTTPMessage.__init__
    - val.lower
    - botocore.compat.ensure_bytes
    - botocore.httpsession.get_cert_path
    - <builtin>.getattr
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - urllib3.util.url.parse_url
    - IPV6_ADDRZ_RE.match
    - conn.urlopen
    - base64.b64encode
    - url.startswith
    - botocore.httpsession.create_urllib3_context
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - botocore.awsrequest.AWSRequest.__init__
    - botocore.utils.ContainerMetadataFetcher._check_if_whitelisted_host
    - auth_str.encode
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.httpsession.URLLib3Session._get_request_target
    - botocore.httpsession.URLLib3Session._chunked
    - <builtin>.hasattr
    - botocore.compat.urlparse
    - botocore.httpsession._is_ipaddress
    - botocore.utils.ContainerMetadataFetcher._get_response
    - <builtin>.bool
    - urllib3.proxy_from_url
    - proxies_kwargs.items
    - botocore.utils.ContainerMetadataFetcher._retrieve_credentials
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - request.prepare
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.utils.ContainerMetadataFetcher._validate_allowed_url
    - response.content.decode
    - urllib.parse.urlparse
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - io.BytesIO.encode
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.URLLib3Session._path_url
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - headers.get
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - full_url
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2864
    functionName: botocore.utils.ContainerMetadataFetcher._validate_allowed_url
    functionSourceFile: botocore.utils
    functionUses: 15
    functionsReached:
    - botocore.utils.ContainerMetadataFetcher._check_if_whitelisted_host
    - botocore.compat.urlparse
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - full_url
    - extra_headers
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 2891
    functionName: botocore.utils.ContainerMetadataFetcher._retrieve_credentials
    functionSourceFile: botocore.utils
    functionUses: 16
    functionsReached:
    - urllib3.PoolManager.connection_from_url
    - logger.debug
    - <builtin>.isinstance
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - io.BytesIO.lower
    - headers.items
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - headers.update
    - json.loads
    - base64.b64encode.strip
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - proxy_manager_kwargs.update
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - os.environ.get
    - http.client.HTTPMessage.__init__
    - val.lower
    - botocore.compat.ensure_bytes
    - botocore.httpsession.get_cert_path
    - <builtin>.getattr
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - urllib3.util.url.parse_url
    - IPV6_ADDRZ_RE.match
    - conn.urlopen
    - base64.b64encode
    - url.startswith
    - botocore.httpsession.create_urllib3_context
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.httpsession.URLLib3Session._get_request_target
    - botocore.httpsession.URLLib3Session._chunked
    - <builtin>.hasattr
    - botocore.httpsession._is_ipaddress
    - botocore.utils.ContainerMetadataFetcher._get_response
    - <builtin>.bool
    - urllib3.proxy_from_url
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - request.prepare
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - response.content.decode
    - urllib.parse.urlparse
    - io.BytesIO.encode
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.URLLib3Session._path_url
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - headers.get
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.compat.urlparse
    functionSourceFile: botocore
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - host
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2874
    functionName: botocore.utils.ContainerMetadataFetcher._check_if_whitelisted_host
    functionSourceFile: ''
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - relative_uri
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 2879
    functionName: botocore.utils.ContainerMetadataFetcher.retrieve_uri
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - urllib3.PoolManager.connection_from_url
    - logger.debug
    - <builtin>.isinstance
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - io.BytesIO.lower
    - headers.items
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - headers.update
    - json.loads
    - base64.b64encode.strip
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - proxy_manager_kwargs.update
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - os.environ.get
    - http.client.HTTPMessage.__init__
    - val.lower
    - botocore.compat.ensure_bytes
    - botocore.httpsession.get_cert_path
    - <builtin>.getattr
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - urllib3.util.url.parse_url
    - IPV6_ADDRZ_RE.match
    - conn.urlopen
    - base64.b64encode
    - url.startswith
    - botocore.httpsession.create_urllib3_context
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.httpsession.URLLib3Session._get_request_target
    - botocore.httpsession.URLLib3Session._chunked
    - <builtin>.hasattr
    - botocore.httpsession._is_ipaddress
    - botocore.utils.ContainerMetadataFetcher.full_url
    - botocore.utils.ContainerMetadataFetcher._get_response
    - <builtin>.bool
    - urllib3.proxy_from_url
    - proxies_kwargs.items
    - botocore.utils.ContainerMetadataFetcher._retrieve_credentials
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - request.prepare
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - response.content.decode
    - urllib.parse.urlparse
    - io.BytesIO.encode
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.URLLib3Session._path_url
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - headers.get
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - relative_uri
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2941
    functionName: botocore.utils.ContainerMetadataFetcher.full_url
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: headers.update
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - full_url
    - headers
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 2913
    functionName: botocore.utils.ContainerMetadataFetcher._get_response
    functionSourceFile: botocore.utils
    functionUses: 17
    functionsReached:
    - urllib3.PoolManager.connection_from_url
    - logger.debug
    - <builtin>.isinstance
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - io.BytesIO.lower
    - headers.items
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - json.loads
    - proxy_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - os.environ.get
    - http.client.HTTPMessage.__init__
    - val.lower
    - botocore.compat.ensure_bytes
    - headers.get
    - botocore.httpsession.get_cert_path
    - <builtin>.getattr
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - urllib3.util.url.parse_url
    - IPV6_ADDRZ_RE.match
    - conn.urlopen
    - base64.b64encode
    - url.startswith
    - botocore.httpsession.create_urllib3_context
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.httpsession.URLLib3Session._get_request_target
    - botocore.httpsession.URLLib3Session._chunked
    - <builtin>.hasattr
    - botocore.httpsession._is_ipaddress
    - <builtin>.bool
    - urllib3.proxy_from_url
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - request.prepare
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - response.content.decode
    - io.BytesIO.encode
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.URLLib3Session._path_url
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - urllib.parse.urlparse
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised:
    - MetadataRetrievalError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request.prepare
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: response.content.decode
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - url
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2952
    functionName: botocore.utils.should_bypass_proxies
    functionSourceFile: botocore.utils
    functionUses: 47
    functionsReached:
    - urllib.parse.urlparse
    - urllib.request.proxy_bypass
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.request.getproxies
    functionSourceFile: urllib
    functionUses: 47
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.request.proxy_bypass
    functionSourceFile: urllib
    functionUses: 48
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argNames:
    - body
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2973
    functionName: botocore.utils.determine_content_length
    functionSourceFile: botocore.utils
    functionUses: 36
    functionsReached:
    - <builtin>.len
    - io.BytesIO.seek
    - <builtin>.hasattr
    - io.BytesIO.tell
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO.tell
    functionSourceFile: io
    functionUses: 38
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - offset
    - whence
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 155
    functionName: botocore.httpchecksum.AwsChunkedWrapper.seek
    functionSourceFile: botocore.httpchecksum
    functionUses: 40
    functionsReached:
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - io.BytesIO.seek
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    linkageType: pythonLinkage
    raised:
    - AwsChunkedWrapperError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO.seek
    functionSourceFile: io
    functionUses: 42
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argNames:
    - headers
    - default
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3002
    functionName: botocore.utils.get_encoding_from_headers
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - headers.get
    - message.get_param
    - email.message.Message
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: email.message.Message
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: message.get_param
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - body
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 3025
    functionName: botocore.utils.calculate_md5
    functionSourceFile: botocore.utils
    functionUses: 3
    functionsReached:
    - io.BytesIO.seek
    - <builtin>.isinstance
    - botocore.utils._calculate_md5_from_file
    - <builtin>.iter
    - botocore.compat.get_md5
    - md5.update
    - hashlib.md5
    - botocore.utils._calculate_md5_from_bytes
    - fileobj.tell
    - base64.b64encode
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - md5.digest
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - body_bytes
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 3033
    functionName: botocore.utils._calculate_md5_from_bytes
    functionSourceFile: botocore.utils
    functionUses: 4
    functionsReached:
    - hashlib.md5
    - md5.digest
    - botocore.compat.get_md5
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - fileobj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 3038
    functionName: botocore.utils._calculate_md5_from_file
    functionSourceFile: botocore.utils
    functionUses: 4
    functionsReached:
    - io.BytesIO.seek
    - <builtin>.iter
    - botocore.compat.get_md5
    - md5.update
    - hashlib.md5
    - fileobj.tell
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - md5.digest
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: md5.digest
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fileobj.tell
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: botocore.utils._calculate_md5_from_file.<lambda1>
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.hex
    - botocore.httpchecksum.AwsChunkedWrapper._make_chunk
    - botocore.httpchecksum.AwsChunkedWrapper.read
    - io.BytesIO.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 163
    functionName: botocore.httpchecksum.AwsChunkedWrapper.read
    functionSourceFile: botocore.httpchecksum
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - <builtin>.hex
    - botocore.httpchecksum.AwsChunkedWrapper._make_chunk
    - botocore.httpchecksum.AwsChunkedWrapper.read
    - io.BytesIO.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: md5.update
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argNames:
    - params
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 3047
    functionName: botocore.utils.conditionally_calculate_md5
    functionSourceFile: botocore.utils
    functionUses: 2
    functionsReached:
    - io.BytesIO.seek
    - <builtin>.isinstance
    - botocore.utils.calculate_md5
    - botocore.utils._calculate_md5_from_file
    - <builtin>.iter
    - botocore.compat.get_md5
    - checksum_context.get
    - md5.update
    - CHECKSUM_HEADER_PATTERN.match
    - hashlib.md5
    - botocore.utils._calculate_md5_from_bytes
    - fileobj.tell
    - base64.b64encode
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - params.get
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - md5.digest
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: checksum_context.get
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: CHECKSUM_HEADER_PATTERN.match
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - web_identity_token_path
    - _open
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3067
    functionName: botocore.utils.FileWebIdentityTokenLoader.__init__
    functionSourceFile: botocore.utils
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3071
    functionName: botocore.utils.FileWebIdentityTokenLoader.__call__
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - token_file.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: token_file.read
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - cache
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3077
    functionName: botocore.utils.SSOTokenLoader.__init__
    functionSourceFile: botocore.utils
    functionUses: 54
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - start_url
    - session_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3082
    functionName: botocore.utils.SSOTokenLoader._generate_cache_key
    functionSourceFile: botocore.utils
    functionUses: 6
    functionsReached:
    - input_str.encode
    - hashlib.sha1
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: input_str.encode
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hashlib.sha1
    functionSourceFile: hashlib
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - start_url
    - token
    - session_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 3088
    functionName: botocore.utils.SSOTokenLoader.save_token
    functionSourceFile: botocore.utils
    functionUses: 4
    functionsReached:
    - input_str.encode
    - hashlib.sha1
    - botocore.utils.SSOTokenLoader._generate_cache_key
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argNames:
    - self
    - start_url
    - session_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 3092
    functionName: botocore.utils.SSOTokenLoader.__call__
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - input_str.encode
    - hashlib.sha1
    - logger.debug
    - botocore.utils.SSOTokenLoader._generate_cache_key
    linkageType: pythonLinkage
    raised:
    - SSOTokenLoadError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - endpoint_resolver
    - region
    - endpoint_url
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3113
    functionName: botocore.utils.EventbridgeSignerSetter.__init__
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - event_emitter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3118
    functionName: botocore.utils.EventbridgeSignerSetter.register
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - event_emitter.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - params
    - context
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3127
    functionName: botocore.utils.EventbridgeSignerSetter.set_endpoint_url
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 0
    IfCount: 8
    argCount: 4
    argNames:
    - self
    - params
    - context
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 3133
    functionName: botocore.utils.EventbridgeSignerSetter.check_for_global_endpoint
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - resolver.get_partition_dns_suffix
    - botocore.utils.EventbridgeSignerSetter._get_global_endpoint
    - resolver.get_partition_for_region
    - context.get
    - params.get
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised:
    - InvalidEndpointConfigurationError
    - MissingDependencyException
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - endpoint
    - endpoint_variant_tags
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3177
    functionName: botocore.utils.EventbridgeSignerSetter._get_global_endpoint
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - resolver.get_partition_dns_suffix
    - resolver.get_partition_for_region
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resolver.get_partition_for_region
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resolver.get_partition_dns_suffix
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argNames:
    - url
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3192
    functionName: botocore.utils.is_s3_accelerate_url
    functionSourceFile: botocore.utils
    functionUses: 5
    functionsReached:
    - <builtin>.len
    - urllib.parse.urlsplit.netloc.endswith
    - <builtin>.set
    - <builtin>.all
    - urllib.parse.urlsplit
    - urllib.parse.urlsplit.netloc.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.join
    functionSourceFile: os
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.utils.JSONFileCache
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - os.path.join
    - os.path.expanduser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.expanduser
    functionSourceFile: os
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - working_dir
    - dumps_func
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 3235
    functionName: botocore.utils.JSONFileCache.__init__
    functionSourceFile: botocore.utils
    functionUses: 50
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3241
    functionName: botocore.utils.JSONFileCache._default_dumps
    functionSourceFile: botocore.utils
    functionUses: 1
    functionsReached:
    - json.dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - cache_key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 3244
    functionName: botocore.utils.JSONFileCache.__contains__
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - os.path.isfile
    - botocore.utils.JSONFileCache._convert_cache_key
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - cache_key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3282
    functionName: botocore.utils.JSONFileCache._convert_cache_key
    functionSourceFile: botocore.utils
    functionUses: 4
    functionsReached:
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.isfile
    functionSourceFile: os
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - cache_key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 3248
    functionName: botocore.utils.JSONFileCache.__getitem__
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - botocore.utils.JSONFileCache._convert_cache_key
    - os.path.join
    - <builtin>.open
    - json.load
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.open
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: json.load
    functionSourceFile: json
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - cache_key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 3257
    functionName: botocore.utils.JSONFileCache.__delitem__
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - pathlib.Path
    - os.path.join
    - botocore.utils.JSONFileCache._convert_cache_key
    - pathlib.Path.unlink
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathlib.Path
    functionSourceFile: pathlib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathlib.Path.unlink
    functionSourceFile: pathlib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - cache_key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 3265
    functionName: botocore.utils.JSONFileCache.__setitem__
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - os.path.join
    - botocore.utils.JSONFileCache._default_dumps
    - os.makedirs
    - os.path.isdir
    - json.dumps
    - f.write
    - botocore.utils.JSONFileCache._convert_cache_key
    - os.fdopen
    - os.open
    - botocore.tokens._sso_json_dumps
    - f.truncate
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 53
    functionName: botocore.tokens._sso_json_dumps
    functionSourceFile: botocore.tokens
    functionUses: 1
    functionsReached:
    - json.dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.isdir
    functionSourceFile: os
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.makedirs
    functionSourceFile: os
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.open
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.fdopen
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.truncate
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.write
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - value
    - iso
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3286
    functionName: botocore.utils.JSONFileCache._serialize_if_needed
    functionSourceFile: botocore.utils
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - value.isoformat
    - value.strftime
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.isoformat
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore
    functionSourceFile: botocore
    functionUses: 0
    functionsReached:
    - os.path.dirname
    - logging.getLogger
    - os.path.abspath
    - re.compile
    - logging.Handler.__init__
    - log.addHandler
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - record
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 23
    functionName: botocore.NullHandler.emit
    functionSourceFile: botocore
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.Handler.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: log.addHandler
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.abspath
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.dirname
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 69
    functionName: botocore.UNSIGNED.__copy__
    functionSourceFile: botocore
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - memodict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 72
    functionName: botocore.UNSIGNED.__deepcopy__
    functionSourceFile: botocore
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argNames:
    - name
    - sep
    - _xform_cache
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 79
    functionName: botocore.xform_name
    functionSourceFile: botocore
    functionUses: 33
    functionsReached:
    - is_special.group
    - <builtin>.len
    - matched.lower
    - _end_cap_regex.sub
    - _special_case_transform.search
    - _first_cap_regex.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _special_case_transform.search
    functionSourceFile: <builtin>
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: is_special.group
    functionSourceFile: <builtin>
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: matched.lower
    functionSourceFile: <builtin>
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _first_cap_regex.sub
    functionSourceFile: <builtin>
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _end_cap_regex.sub
    functionSourceFile: <builtin>
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - callback
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 103
    functionName: botocore.register_initializer
    functionSourceFile: botocore
    functionUses: 0
    functionsReached:
    - _INITIALIZERS.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _INITIALIZERS.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - callback
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 117
    functionName: botocore.unregister_initializer
    functionSourceFile: botocore
    functionUses: 0
    functionsReached:
    - _INITIALIZERS.remove
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _INITIALIZERS.remove
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - session
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 131
    functionName: botocore.invoke_initializers
    functionSourceFile: botocore
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: botocore.httpsession
    functionSourceFile: botocore.httpsession
    functionUses: 0
    functionsReached:
    - os.path.join
    - os.path.dirname
    - logging.getLogger
    - warnings.filterwarnings
    - botocore.compat.filter_ssl_warnings
    - warnings.simplefilter
    - warnings.catch_warnings
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: warnings.catch_warnings
    functionSourceFile: warnings
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: warnings.simplefilter
    functionSourceFile: warnings
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 81
    functionName: botocore.httpsession.where
    functionSourceFile: botocore.httpsession
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - verify
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 85
    functionName: botocore.httpsession.get_cert_path
    functionSourceFile: botocore.httpsession
    functionUses: 37
    functionsReached:
    - certifi.where
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: certifi.where
    functionSourceFile: certifi
    functionUses: 38
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 4
    argNames:
    - ssl_version
    - cert_reqs
    - options
    - ciphers
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 95
    functionName: botocore.httpsession.create_urllib3_context
    functionSourceFile: botocore.httpsession
    functionUses: 86
    functionsReached:
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - os.environ.get
    - <builtin>.getattr
    - <builtin>.hasattr
    - urllib3.util.ssl_.SSLContext
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib3.contrib.pyopenssl.orig_util_SSLContext
    functionSourceFile: urllib3
    functionUses: 87
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib3.util.ssl_.SSLContext
    functionSourceFile: urllib3
    functionUses: 87
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    functionSourceFile: urllib3
    functionUses: 87
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 142
    functionName: botocore.httpsession.create_urllib3_context.disable_check_hostname
    functionSourceFile: botocore.httpsession
    functionUses: 87
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 172
    functionName: botocore.httpsession.ensure_boolean
    functionSourceFile: botocore.httpsession
    functionUses: 36
    functionsReached:
    - val.lower
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argNames:
    - proxy_url
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 183
    functionName: botocore.httpsession.mask_proxy_url
    functionSourceFile: botocore.httpsession
    functionUses: 0
    functionsReached:
    - proxy_url.replace
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: proxy_url.replace
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - host
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 201
    functionName: botocore.httpsession._is_ipaddress
    functionSourceFile: botocore.httpsession
    functionUses: 39
    functionsReached:
    - IPV6_ADDRZ_RE.match
    - <builtin>.bool
    - urllib3.util.ssl_.is_ipaddress
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib3.util.ssl_.is_ipaddress
    functionSourceFile: urllib3
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bool
    functionSourceFile: <builtin>
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - proxies
    - proxies_settings
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 214
    functionName: botocore.httpsession.ProxyConfiguration.__init__
    functionSourceFile: botocore.httpsession
    functionUses: 49
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - url
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 223
    functionName: botocore.httpsession.ProxyConfiguration.proxy_url_for
    functionSourceFile: botocore.httpsession
    functionUses: 36
    functionsReached:
    - proxy_url.startswith
    - urllib.parse.urlparse
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.httpsession.ProxyConfiguration._proxies.get
    functionSourceFile: botocore
    functionUses: 37
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - proxy_url
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 244
    functionName: botocore.httpsession.ProxyConfiguration._fix_proxy_url
    functionSourceFile: botocore.httpsession
    functionUses: 37
    functionsReached:
    - proxy_url.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - proxy_url
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 231
    functionName: botocore.httpsession.ProxyConfiguration.proxy_headers_for
    functionSourceFile: botocore.httpsession
    functionUses: 38
    functionsReached:
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - base64.b64encode
    - urllib.parse.urlparse
    - auth_str.encode
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - url
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 257
    functionName: botocore.httpsession.ProxyConfiguration._get_auth_from_url
    functionSourceFile: botocore.httpsession
    functionUses: 39
    functionsReached:
    - urllib.parse.urlparse
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - username
    - password
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 252
    functionName: botocore.httpsession.ProxyConfiguration._construct_basic_auth
    functionSourceFile: botocore.httpsession
    functionUses: 39
    functionsReached:
    - base64.b64encode.strip
    - base64.b64encode
    - auth_str.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 241
    functionName: botocore.httpsession.ProxyConfiguration.settings
    functionSourceFile: botocore.httpsession
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: proxy_url.startswith
    functionSourceFile: <builtin>
    functionUses: 38
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: auth_str.encode
    functionSourceFile: <builtin>
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: base64.b64encode.strip
    functionSourceFile: base64
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.unquote
    functionSourceFile: urllib
    functionUses: 49
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib3.Timeout
    functionSourceFile: urllib3
    functionUses: 49
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - extra_kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 326
    functionName: botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    functionSourceFile: botocore.httpsession
    functionUses: 83
    functionsReached:
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - os.environ.get
    - <builtin>.getattr
    - <builtin>.hasattr
    - urllib3.util.ssl_.SSLContext
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.httpsession.create_urllib3_context
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - pool_manager_kwargs.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib3.PoolManager
    functionSourceFile: urllib3
    functionUses: 49
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 316
    functionName: botocore.httpsession.URLLib3Session._proxies_kwargs
    functionSourceFile: botocore.httpsession
    functionUses: 39
    functionsReached:
    - proxies_kwargs.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: proxies_kwargs.items
    functionSourceFile: <builtin>
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 339
    functionName: botocore.httpsession.URLLib3Session._get_ssl_context
    functionSourceFile: botocore.httpsession
    functionUses: 85
    functionsReached:
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - os.environ.get
    - <builtin>.getattr
    - <builtin>.hasattr
    - urllib3.util.ssl_.SSLContext
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.httpsession.create_urllib3_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pool_manager_kwargs.update
    functionSourceFile: <builtin>
    functionUses: 84
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - proxy_url
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 342
    functionName: botocore.httpsession.URLLib3Session._get_proxy_manager
    functionSourceFile: botocore.httpsession
    functionUses: 37
    functionsReached:
    - <builtin>.isinstance
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - proxy_manager_kwargs.update
    - urllib3.util.ssl_.is_ipaddress
    - os.environ.get
    - <builtin>.getattr
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - urllib3.util.url.parse_url
    - IPV6_ADDRZ_RE.match
    - base64.b64encode
    - botocore.httpsession.create_urllib3_context
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - auth_str.encode
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - <builtin>.hasattr
    - botocore.httpsession._is_ipaddress
    - <builtin>.bool
    - urllib3.proxy_from_url
    - proxies_kwargs.items
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 2
    argNames:
    - self
    - proxy_url
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 375
    functionName: botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    functionSourceFile: botocore.httpsession
    functionUses: 38
    functionsReached:
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - os.environ.get
    - <builtin>.isinstance
    - <builtin>.getattr
    - <builtin>.hasattr
    - urllib3.util.ssl_.SSLContext
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession._is_ipaddress
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - IPV6_ADDRZ_RE.match
    - urllib3.util.url.parse_url
    - <builtin>.bool
    - botocore.httpsession.create_urllib3_context
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - urllib3.util.ssl_.is_ipaddress
    linkageType: pythonLinkage
    raised:
    - InvalidProxiesConfigError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: proxy_manager_kwargs.update
    functionSourceFile: <builtin>
    functionUses: 38
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib3.proxy_from_url
    functionSourceFile: urllib3
    functionUses: 38
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - url
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 358
    functionName: botocore.httpsession.URLLib3Session._path_url
    functionSourceFile: botocore.httpsession
    functionUses: 37
    functionsReached:
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - conn
    - url
    - verify
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 367
    functionName: botocore.httpsession.URLLib3Session._setup_ssl_cert
    functionSourceFile: botocore.httpsession
    functionUses: 36
    functionsReached:
    - certifi.where
    - logger.debug
    - url.lower
    - botocore.httpsession.get_cert_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: url.lower
    functionSourceFile: <builtin>
    functionUses: 37
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib3.util.url.parse_url
    functionSourceFile: urllib3
    functionUses: 39
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    functionSourceFile: urllib3
    functionUses: 39
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    functionSourceFile: urllib3
    functionUses: 39
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - url
    - proxy_url
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 401
    functionName: botocore.httpsession.URLLib3Session._get_connection_manager
    functionSourceFile: botocore.httpsession
    functionUses: 36
    functionsReached:
    - <builtin>.isinstance
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - proxy_manager_kwargs.update
    - urllib3.util.ssl_.is_ipaddress
    - os.environ.get
    - <builtin>.getattr
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - urllib3.util.url.parse_url
    - IPV6_ADDRZ_RE.match
    - base64.b64encode
    - botocore.httpsession.create_urllib3_context
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - auth_str.encode
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - <builtin>.hasattr
    - botocore.httpsession._is_ipaddress
    - <builtin>.bool
    - urllib3.proxy_from_url
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - url
    - proxy_url
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 408
    functionName: botocore.httpsession.URLLib3Session._get_request_target
    functionSourceFile: botocore.httpsession
    functionUses: 36
    functionsReached:
    - urllib.parse.urlparse
    - url.startswith
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - botocore.httpsession.URLLib3Session._path_url
    - proxies_kwargs.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: url.startswith
    functionSourceFile: <builtin>
    functionUses: 37
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 428
    functionName: botocore.httpsession.URLLib3Session._chunked
    functionSourceFile: botocore.httpsession
    functionUses: 36
    functionsReached:
    - <builtin>.isinstance
    - botocore.compat.ensure_bytes
    - io.BytesIO.encode
    - io.BytesIO.lower
    - headers.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO.lower
    functionSourceFile: io
    functionUses: 37
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 433
    functionName: botocore.httpsession.URLLib3Session.close
    functionSourceFile: botocore.httpsession
    functionUses: 1
    functionsReached:
    - urllib3.PoolManager.clear
    - manager.clear
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib3.PoolManager.clear
    functionSourceFile: urllib3
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: manager.clear
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib3.PoolManager.connection_from_url
    functionSourceFile: urllib3
    functionUses: 36
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib3.util.retry.Retry
    functionSourceFile: urllib3
    functionUses: 36
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn.urlopen
    functionSourceFile: <builtin>
    functionUses: 36
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.awsrequest.AWSResponse
    functionSourceFile: <builtin>
    functionUses: 36
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.awsrequest
    functionSourceFile: botocore.awsrequest
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 40
    functionName: botocore.awsrequest.AWSHTTPResponse.__init__
    functionSourceFile: botocore.awsrequest
    functionUses: 0
    functionsReached:
    - kwargs.pop
    - http.client.HTTPResponse.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.client.HTTPResponse.__init__
    functionSourceFile: http
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 44
    functionName: botocore.awsrequest.AWSHTTPResponse._read_status
    functionSourceFile: botocore.awsrequest
    functionUses: 0
    functionsReached:
    - http.client.HTTPResponse._read_status
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.client.HTTPResponse._read_status
    functionSourceFile: http
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 66
    functionName: botocore.awsrequest.AWSConnection.__init__
    functionSourceFile: botocore.awsrequest
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 80
    functionName: botocore.awsrequest.AWSConnection.close
    functionSourceFile: botocore.awsrequest
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 7
    argNames:
    - self
    - method
    - url
    - body
    - headers
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 87
    functionName: botocore.awsrequest.AWSConnection._send_request
    functionSourceFile: botocore.awsrequest
    functionUses: 0
    functionsReached:
    - headers.get
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - mixed_buffer
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 100
    functionName: botocore.awsrequest.AWSConnection._convert_to_bytes
    functionSourceFile: botocore.awsrequest
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - chunk.encode
    - bytes_buffer.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: chunk.encode
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bytes_buffer.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 4
    argNames:
    - self
    - message_body
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 113
    functionName: botocore.awsrequest.AWSConnection._send_output
    functionSourceFile: botocore.awsrequest
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - logger.debug
    - botocore.awsrequest.AWSConnection._send_message_body
    - botocore.awsrequest.AWSConnection._consume_headers
    - botocore.awsrequest.AWSConnection._handle_expect_response
    - maybe_status_line.split
    - fp.readline
    - <builtin>.super
    - botocore.awsrequest.AWSConnection._convert_to_bytes
    - chunk.encode
    - <builtin>.int
    - botocore.awsrequest.AWSConnection.send
    - bytes_buffer.append
    - urllib3.util.wait_for_read
    - botocore.awsrequest.AWSConnection._is_100_continue_status
    - functools.partial
    - fp.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - str
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 211
    functionName: botocore.awsrequest.AWSConnection.send
    functionSourceFile: botocore.awsrequest
    functionUses: 3
    functionsReached:
    - logger.debug
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib3.util.wait_for_read
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - message_body
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 163
    functionName: botocore.awsrequest.AWSConnection._handle_expect_response
    functionSourceFile: botocore.awsrequest
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.awsrequest.AWSConnection._send_message_body
    - botocore.awsrequest.AWSConnection._consume_headers
    - maybe_status_line.split
    - fp.readline
    - <builtin>.super
    - <builtin>.int
    - botocore.awsrequest.AWSConnection.send
    - fp.close
    - botocore.awsrequest.AWSConnection._is_100_continue_status
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - fp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 151
    functionName: botocore.awsrequest.AWSConnection._consume_headers
    functionSourceFile: botocore.awsrequest
    functionUses: 2
    functionsReached:
    - fp.readline
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fp.readline
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: maybe_status_line.split
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - maybe_status_line
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 220
    functionName: botocore.awsrequest.AWSConnection._is_100_continue_status
    functionSourceFile: botocore.awsrequest
    functionUses: 2
    functionsReached:
    - maybe_status_line.split
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - message_body
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 207
    functionName: botocore.awsrequest.AWSConnection._send_message_body
    functionSourceFile: botocore.awsrequest
    functionUses: 2
    functionsReached:
    - logger.debug
    - botocore.awsrequest.AWSConnection.send
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fp.close
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 4
    argNames:
    - request_dict
    - endpoint_url
    - context
    - user_agent
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 246
    functionName: botocore.awsrequest.prepare_request_dict
    functionSourceFile: botocore.awsrequest
    functionUses: 3
    functionsReached:
    - url_path.startswith
    - r.get
    - urllib.parse.urlsplit
    - botocore.awsrequest._urljoin
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: r.get
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 3
    argNames:
    - endpoint_url
    - url_path
    - host_prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 312
    functionName: botocore.awsrequest._urljoin
    functionSourceFile: botocore.awsrequest
    functionUses: 4
    functionsReached:
    - url_path.startswith
    - urllib.parse.urlsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - request_dict
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 287
    functionName: botocore.awsrequest.create_request_object
    functionSourceFile: botocore.awsrequest
    functionUses: 6
    functionsReached:
    - headers.items
    - botocore.awsrequest.AWSRequest.__init__
    - http.client.HTTPMessage.__init__
    - r.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: url_path.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: 2
    argNames:
    - self
    - original
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 361
    functionName: botocore.awsrequest.AWSRequestPreparer.prepare
    functionSourceFile: botocore.awsrequest
    functionUses: 30
    functionsReached:
    - <builtin>.len
    - botocore.awsrequest.HeadersDict.__init__
    - <builtin>.isinstance
    - logger.debug
    - io.BytesIO.seek
    - http.client.HTTPMessage.items
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - original.params.items
    - key.encode
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - delim.join
    - <builtin>.type
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - io.BytesIO.tell
    - <builtin>.list
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - value.encode
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - urllib.parse.urlencode.items
    - <builtin>.hasattr
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - <builtin>.str
    - urllib.parse.urlencode
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - original
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 370
    functionName: botocore.awsrequest.AWSRequestPreparer._prepare_url
    functionSourceFile: botocore.awsrequest
    functionUses: 31
    functionsReached:
    - <builtin>.isinstance
    - delim.join
    - urllib.parse.urlencode
    - original.params.items
    - <builtin>.list
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - original
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 412
    functionName: botocore.awsrequest.AWSRequestPreparer._prepare_body
    functionSourceFile: botocore.awsrequest
    functionUses: 31
    functionsReached:
    - key.encode
    - urllib.parse.urlencode.items
    - <builtin>.isinstance
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - urllib.parse.urlencode
    - value.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argNames:
    - self
    - original
    - prepared_body
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 383
    functionName: botocore.awsrequest.AWSRequestPreparer._prepare_headers
    functionSourceFile: botocore.awsrequest
    functionUses: 31
    functionsReached:
    - <builtin>.len
    - botocore.awsrequest.HeadersDict.__init__
    - logger.debug
    - io.BytesIO.seek
    - <builtin>.type
    - <builtin>.hasattr
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - http.client.HTTPMessage.items
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - io.BytesIO.tell
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 6
    argNames:
    - self
    - method
    - url
    - headers
    - body
    - stream_output
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 500
    functionName: botocore.awsrequest.AWSPreparedRequest.__init__
    functionSourceFile: ''
    functionUses: 31
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: original.params.items
    functionSourceFile: <builtin>
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlencode
    functionSourceFile: urllib
    functionUses: 33
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: delim.join
    functionSourceFile: <builtin>
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.client.HTTPMessage.items
    functionSourceFile: http
    functionUses: 33
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 608
    functionName: botocore.awsrequest.HeadersDict.__init__
    functionSourceFile: botocore.awsrequest
    functionUses: 37
    functionsReached:
    - collections.abc.MutableMapping.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - body
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 424
    functionName: botocore.awsrequest.AWSRequestPreparer._determine_content_length
    functionSourceFile: botocore.awsrequest
    functionUses: 32
    functionsReached:
    - <builtin>.len
    - io.BytesIO.seek
    - <builtin>.hasattr
    - botocore.utils.determine_content_length
    - io.BytesIO.tell
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 404
    functionName: botocore.awsrequest.AWSRequestPreparer._to_utf8
    functionSourceFile: botocore.awsrequest
    functionUses: 32
    functionsReached:
    - key.encode
    - value.encode
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.encode
    functionSourceFile: <builtin>
    functionUses: 36
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlencode.items
    functionSourceFile: urllib
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.client.HTTPMessage.__init__
    functionSourceFile: ''
    functionUses: 43
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: headers.items
    functionSourceFile: <builtin>
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 480
    functionName: botocore.awsrequest.AWSRequest.body
    functionSourceFile: botocore.awsrequest
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.awsrequest.HeadersDict.__init__
    - <builtin>.isinstance
    - logger.debug
    - io.BytesIO.seek
    - http.client.HTTPMessage.items
    - botocore.awsrequest.AWSRequest.data.encode
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - original.params.items
    - botocore.awsrequest.AWSRequest.prepare
    - key.encode
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - delim.join
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - <builtin>.type
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - io.BytesIO.tell
    - urllib.parse.urlencode.encode
    - botocore.awsrequest.AWSRequest.__init__.data.encode
    - <builtin>.list
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - value.encode
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - urllib.parse.urlencode.items
    - <builtin>.hasattr
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - botocore.awsrequest.AWSPreparedRequest.body.encode
    - <builtin>.str
    - urllib.parse.urlencode
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.awsrequest.AWSPreparedRequest.body.encode
    functionSourceFile: botocore
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.awsrequest.AWSRequest.__init__.data.encode
    functionSourceFile: botocore
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.awsrequest.AWSRequest.data.encode
    functionSourceFile: botocore
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlencode.encode
    functionSourceFile: urllib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 507
    functionName: botocore.awsrequest.AWSPreparedRequest.__repr__
    functionSourceFile: botocore.awsrequest
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 514
    functionName: botocore.awsrequest.AWSPreparedRequest.reset_stream
    functionSourceFile: botocore.awsrequest
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - logger.debug
    - urllib.parse.urlencode.seek
    linkageType: pythonLinkage
    raised:
    - UnseekableStreamError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlencode.seek
    functionSourceFile: urllib
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - url
    - status_code
    - headers
    - raw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 551
    functionName: botocore.awsrequest.AWSResponse.__init__
    functionSourceFile: botocore.awsrequest
    functionUses: 3
    functionsReached:
    - botocore.awsrequest.HeadersDict.__init__
    - collections.abc.MutableMapping.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 560
    functionName: botocore.awsrequest.AWSResponse.content
    functionSourceFile: botocore.awsrequest
    functionUses: 0
    functionsReached:
    - <builtin>.bytes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bytes
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 573
    functionName: botocore.awsrequest.AWSResponse.text
    functionSourceFile: botocore.awsrequest
    functionUses: 0
    functionsReached:
    - headers.get
    - botocore.utils.get_encoding_from_headers
    - message.get_param
    - email.message.Message
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 588
    functionName: botocore.awsrequest._HeaderKey.__init__
    functionSourceFile: botocore.awsrequest
    functionUses: 3
    functionsReached:
    - key.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 592
    functionName: botocore.awsrequest._HeaderKey.__hash__
    functionSourceFile: botocore.awsrequest
    functionUses: 0
    functionsReached:
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.hash
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 595
    functionName: botocore.awsrequest._HeaderKey.__eq__
    functionSourceFile: botocore.awsrequest
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 598
    functionName: botocore.awsrequest._HeaderKey.__str__
    functionSourceFile: botocore.awsrequest
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 601
    functionName: botocore.awsrequest._HeaderKey.__repr__
    functionSourceFile: botocore.awsrequest
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.repr
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.abc.MutableMapping.update
    functionSourceFile: collections
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 612
    functionName: botocore.awsrequest.HeadersDict.__setitem__
    functionSourceFile: botocore.awsrequest
    functionUses: 0
    functionsReached:
    - key.lower
    - botocore.awsrequest._HeaderKey.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 615
    functionName: botocore.awsrequest.HeadersDict.__getitem__
    functionSourceFile: botocore.awsrequest
    functionUses: 0
    functionsReached:
    - key.lower
    - botocore.awsrequest._HeaderKey.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 618
    functionName: botocore.awsrequest.HeadersDict.__delitem__
    functionSourceFile: botocore.awsrequest
    functionUses: 0
    functionsReached:
    - key.lower
    - botocore.awsrequest._HeaderKey.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 621
    functionName: botocore.awsrequest.HeadersDict.__iter__
    functionSourceFile: botocore.awsrequest
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 624
    functionName: botocore.awsrequest.HeadersDict.__len__
    functionSourceFile: botocore.awsrequest
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 627
    functionName: botocore.awsrequest.HeadersDict.__repr__
    functionSourceFile: botocore.awsrequest
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 630
    functionName: botocore.awsrequest.HeadersDict.copy
    functionSourceFile: botocore.awsrequest
    functionUses: 0
    functionsReached:
    - botocore.awsrequest.HeadersDict.__init__
    - collections.abc.MutableMapping.items
    - collections.abc.MutableMapping.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.abc.MutableMapping.items
    functionSourceFile: collections
    functionUses: 42
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.validate
    functionSourceFile: botocore.validate
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - params
    - shape
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 24
    functionName: botocore.validate.validate_parameters
    functionSourceFile: botocore.validate
    functionUses: 5
    functionsReached:
    - <builtin>.getattr
    - <builtin>.isinstance
    - botocore.validate.ValidationErrors.has_errors
    - <builtin>.type
    - <builtin>.hasattr
    - botocore.validate.ParamValidator._validate_jsonvalue_string
    - botocore.utils.is_json_value_header
    - json.dumps
    - botocore.validate.ValidationErrors.report
    - botocore.validate.ParamValidator._check_special_validation_cases
    - botocore.validate.ParamValidator.validate
    - shape.serialization.get
    - botocore.validate.ValidationErrors.__init__
    - <builtin>.enumerate
    - botocore.validate.ParamValidator._validate_document
    - <builtin>.str
    - botocore.validate.ParamValidator._validate
    linkageType: pythonLinkage
    raised:
    - ParamValidationError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - params
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 184
    functionName: botocore.validate.ParamValidator.validate
    functionSourceFile: botocore.validate
    functionUses: 8
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.getattr
    - <builtin>.type
    - <builtin>.hasattr
    - botocore.validate.ParamValidator._validate_jsonvalue_string
    - botocore.utils.is_json_value_header
    - json.dumps
    - botocore.validate.ValidationErrors.report
    - botocore.validate.ParamValidator._check_special_validation_cases
    - shape.serialization.get
    - botocore.validate.ValidationErrors.__init__
    - <builtin>.enumerate
    - botocore.validate.ParamValidator._validate_document
    - <builtin>.str
    - botocore.validate.ParamValidator._validate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 94
    functionName: botocore.validate.ValidationErrors.has_errors
    functionSourceFile: ''
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - valid_types
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 50
    functionName: botocore.validate.type_check
    functionSourceFile: botocore.validate
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 51
    functionName: botocore.validate.type_check._create_type_check_guard
    functionSourceFile: botocore.validate
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argNames:
    - self
    - param
    - shape
    - errors
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 52
    functionName: botocore.validate.type_check._create_type_check_guard._on_passes_type_check
    functionSourceFile: botocore.validate
    functionUses: 0
    functionsReached:
    - errors.report
    - <builtin>.isinstance
    - botocore.validate.type_check._create_type_check_guard._type_check
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - param
    - errors
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 56
    functionName: botocore.validate.type_check._create_type_check_guard._type_check
    functionSourceFile: botocore.validate
    functionUses: 1
    functionsReached:
    - errors.report
    - <builtin>.isinstance
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: errors.report
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 5
    argNames:
    - name
    - value
    - shape
    - error_type
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 73
    functionName: botocore.validate.range_check
    functionSourceFile: botocore.validate
    functionUses: 5
    functionsReached:
    - errors.report
    - <builtin>.hasattr
    - shape.serialization.get
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 91
    functionName: botocore.validate.ValidationErrors.__init__
    functionSourceFile: botocore.validate
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 99
    functionName: botocore.validate.ValidationErrors.generate_report
    functionSourceFile: botocore.validate
    functionUses: 0
    functionsReached:
    - botocore.validate.ValidationErrors._get_name
    - <builtin>.type
    - error_messages.append
    - botocore.validate.ValidationErrors._format_error
    - name.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 0
    IfCount: 9
    argCount: 2
    argNames:
    - self
    - error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 105
    functionName: botocore.validate.ValidationErrors._format_error
    functionSourceFile: botocore.validate
    functionUses: 1
    functionsReached:
    - botocore.validate.ValidationErrors._get_name
    - <builtin>.type
    - name.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: error_messages.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 169
    functionName: botocore.validate.ValidationErrors._get_name
    functionSourceFile: botocore.validate
    functionUses: 2
    functionsReached:
    - name.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.startswith
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - name
    - reason
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 177
    functionName: botocore.validate.ValidationErrors.report
    functionSourceFile: botocore.validate
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 5
    argNames:
    - self
    - params
    - shape
    - errors
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 208
    functionName: botocore.validate.ParamValidator._validate
    functionSourceFile: botocore.validate
    functionUses: 12
    functionsReached:
    - <builtin>.getattr
    - <builtin>.isinstance
    - <builtin>.type
    - <builtin>.hasattr
    - botocore.validate.ParamValidator._validate_jsonvalue_string
    - botocore.utils.is_json_value_header
    - json.dumps
    - botocore.validate.ValidationErrors.report
    - botocore.validate.ParamValidator._check_special_validation_cases
    - shape.serialization.get
    - <builtin>.enumerate
    - botocore.validate.ParamValidator._validate_document
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - shape
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 202
    functionName: botocore.validate.ParamValidator._check_special_validation_cases
    functionSourceFile: botocore.validate
    functionUses: 13
    functionsReached:
    - botocore.utils.is_json_value_header
    - <builtin>.hasattr
    - shape.serialization.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 5
    argNames:
    - self
    - params
    - shape
    - errors
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 225
    functionName: botocore.validate.ParamValidator._validate_document
    functionSourceFile: botocore.validate
    functionUses: 13
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.type
    - botocore.validate.ValidationErrors.report
    - <builtin>.enumerate
    - botocore.validate.ParamValidator._validate_document
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - params
    - shape
    - errors
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 217
    functionName: botocore.validate.ParamValidator._validate_jsonvalue_string
    functionSourceFile: botocore.validate
    functionUses: 13
    functionsReached:
    - json.dumps
    - botocore.validate.ValidationErrors.report
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.validate.ParamValidator
    functionSourceFile: botocore.validate
    functionUses: 0
    functionsReached:
    - botocore.validate.type_check._create_type_check_guard
    - botocore.validate.type_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 6
    IfCount: 5
    argCount: 5
    argNames:
    - self
    - params
    - shape
    - errors
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 249
    functionName: botocore.validate.ParamValidator._validate_structure
    functionSourceFile: botocore.validate
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - shape.metadata.get
    - <builtin>.enumerate
    - <builtin>.getattr
    - <builtin>.type
    - botocore.validate.ParamValidator._check_special_validation_cases
    - shape.serialization.get
    - <builtin>.list
    - botocore.validate.ParamValidator._validate
    - <builtin>.hasattr
    - botocore.validate.ParamValidator._validate_jsonvalue_string
    - json.dumps
    - known_params.append
    - <builtin>.str
    - errors.report
    - botocore.utils.is_json_value_header
    - botocore.validate.ValidationErrors.report
    - botocore.validate.ParamValidator._validate_document
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: shape.metadata.get
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: known_params.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - param
    - shape
    - errors
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 290
    functionName: botocore.validate.ParamValidator._validate_string
    functionSourceFile: botocore.validate
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.validate.range_check
    - errors.report
    - <builtin>.hasattr
    - shape.serialization.get
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - param
    - shape
    - errors
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 302
    functionName: botocore.validate.ParamValidator._validate_list
    functionSourceFile: botocore.validate
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.validate.range_check
    - errors.report
    - <builtin>.getattr
    - <builtin>.isinstance
    - <builtin>.hasattr
    - <builtin>.type
    - botocore.validate.ParamValidator._validate_jsonvalue_string
    - botocore.utils.is_json_value_header
    - json.dumps
    - botocore.validate.ValidationErrors.report
    - botocore.validate.ParamValidator._check_special_validation_cases
    - shape.serialization.get
    - <builtin>.float
    - <builtin>.enumerate
    - botocore.validate.ParamValidator._validate_document
    - <builtin>.str
    - botocore.validate.ParamValidator._validate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - param
    - shape
    - errors
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 309
    functionName: botocore.validate.ParamValidator._validate_map
    functionSourceFile: botocore.validate
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.isinstance
    - <builtin>.type
    - <builtin>.hasattr
    - botocore.validate.ParamValidator._validate_jsonvalue_string
    - param.items
    - json.dumps
    - botocore.utils.is_json_value_header
    - botocore.validate.ValidationErrors.report
    - botocore.validate.ParamValidator._check_special_validation_cases
    - shape.serialization.get
    - <builtin>.enumerate
    - botocore.validate.ParamValidator._validate_document
    - <builtin>.str
    - botocore.validate.ParamValidator._validate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: param.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - param
    - shape
    - errors
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 317
    functionName: botocore.validate.ParamValidator._validate_integer
    functionSourceFile: botocore.validate
    functionUses: 0
    functionsReached:
    - errors.report
    - botocore.validate.range_check
    - <builtin>.hasattr
    - shape.serialization.get
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 5
    argNames:
    - self
    - param
    - shape
    - errors
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 320
    functionName: botocore.validate.ParamValidator._validate_blob
    functionSourceFile: botocore.validate
    functionUses: 0
    functionsReached:
    - errors.report
    - <builtin>.isinstance
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - param
    - shape
    - errors
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 335
    functionName: botocore.validate.ParamValidator._validate_boolean
    functionSourceFile: botocore.validate
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - param
    - shape
    - errors
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 339
    functionName: botocore.validate.ParamValidator._validate_double
    functionSourceFile: botocore.validate
    functionUses: 0
    functionsReached:
    - errors.report
    - botocore.validate.range_check
    - <builtin>.hasattr
    - shape.serialization.get
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - param
    - shape
    - errors
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 345
    functionName: botocore.validate.ParamValidator._validate_long
    functionSourceFile: botocore.validate
    functionUses: 0
    functionsReached:
    - errors.report
    - botocore.validate.range_check
    - <builtin>.hasattr
    - shape.serialization.get
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argNames:
    - self
    - param
    - shape
    - errors
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 348
    functionName: botocore.validate.ParamValidator._validate_timestamp
    functionSourceFile: botocore.validate
    functionUses: 0
    functionsReached:
    - errors.report
    - dateutil.parser.parse
    - <builtin>.isinstance
    - dateutil.tz.tzutc
    - logger.debug
    - botocore.utils.parse_timestamp
    - botocore.utils.parse_to_aware_datetime
    - botocore.validate.ParamValidator._type_check_datetime
    - datetime.datetime.fromtimestamp
    - botocore.compat.get_tzinfo_options
    - botocore.utils._parse_timestamp_with_tzinfo
    - datetime_obj.astimezone
    - datetime_obj.replace
    - <builtin>.str
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 359
    functionName: botocore.validate.ParamValidator._type_check_datetime
    functionSourceFile: botocore.validate
    functionUses: 1
    functionsReached:
    - dateutil.parser.parse
    - <builtin>.isinstance
    - dateutil.tz.tzutc
    - logger.debug
    - botocore.utils.parse_timestamp
    - botocore.utils.parse_to_aware_datetime
    - datetime.datetime.fromtimestamp
    - botocore.utils._parse_timestamp_with_tzinfo
    - datetime_obj.astimezone
    - datetime_obj.replace
    - <builtin>.float
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.model
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - <builtin>.object
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.object
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 44
    functionName: botocore.model.ServiceId.hyphenize
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - service_id.replace
    - botocore.utils.hyphenize_service_id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - shape_name
    - shape_model
    - shape_resolver
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 93
    functionName: botocore.model.Shape.__init__
    functionSourceFile: botocore.model
    functionUses: 1
    functionsReached:
    - shape_model.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: shape_model.get
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.model.Shape
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - botocore.utils.CachedProperty
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 128
    functionName: botocore.model.Shape.serialization
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - serialization.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: serialization.pop
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 161
    functionName: botocore.model.Shape.metadata
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 188
    functionName: botocore.model.Shape.required_members
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - shape_ref
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 198
    functionName: botocore.model.Shape._resolve_shape_ref
    functionSourceFile: botocore.model
    functionUses: 4
    functionsReached:
    - botocore.model.UnresolvableShapeMap.resolve_shape_ref
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - shape_ref
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 752
    functionName: botocore.model.UnresolvableShapeMap.resolve_shape_ref
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 201
    functionName: botocore.model.Shape.__repr__
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 205
    functionName: botocore.model.Shape.event_stream_name
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.model.StructureShape
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - botocore.utils.CachedProperty
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 211
    functionName: botocore.model.StructureShape.members
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - members.items
    - collections.OrderedDict
    - botocore.model.Shape._resolve_shape_ref
    - botocore.model.UnresolvableShapeMap.resolve_shape_ref
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: members.items
    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
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 225
    functionName: botocore.model.StructureShape.event_stream_name
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - member.serialization.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 232
    functionName: botocore.model.StructureShape.error_code
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - error_metadata.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: error_metadata.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 243
    functionName: botocore.model.StructureShape.is_document_type
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 247
    functionName: botocore.model.StructureShape.is_tagged_union
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.model.ListShape
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - botocore.utils.CachedProperty
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 253
    functionName: botocore.model.ListShape.member
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - botocore.model.Shape._resolve_shape_ref
    - botocore.model.UnresolvableShapeMap.resolve_shape_ref
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.model.MapShape
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - botocore.utils.CachedProperty
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 259
    functionName: botocore.model.MapShape.key
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - botocore.model.Shape._resolve_shape_ref
    - botocore.model.UnresolvableShapeMap.resolve_shape_ref
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 263
    functionName: botocore.model.MapShape.value
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - botocore.model.Shape._resolve_shape_ref
    - botocore.model.UnresolvableShapeMap.resolve_shape_ref
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.model.StringShape
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - botocore.utils.CachedProperty
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 269
    functionName: botocore.model.StringShape.enum
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: service_description.get
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - shape_map
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 701
    functionName: botocore.model.ShapeResolver.__init__
    functionSourceFile: ''
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - shape_name
    - member_traits
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 327
    functionName: botocore.model.ServiceModel.shape_for
    functionSourceFile: botocore.model
    functionUses: 1
    functionsReached:
    - botocore.model.ShapeResolver.get_shape_by_name
    - shape_model.copy
    - shape_model.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - shape_name
    - member_traits
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 705
    functionName: botocore.model.ShapeResolver.get_shape_by_name
    functionSourceFile: botocore.model
    functionUses: 7
    functionsReached:
    - shape_model.copy
    - shape_model.update
    linkageType: pythonLinkage
    raised:
    - InvalidShapeError
    - NoShapeFoundError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - error_code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 332
    functionName: botocore.model.ServiceModel.shape_for_error_code
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: botocore.model.ServiceModel
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - botocore.utils.CachedProperty
    - functools.wraps
    - botocore.utils.instance_cache
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 336
    functionName: botocore.model.ServiceModel._error_code_cache
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - shape_ref
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 343
    functionName: botocore.model.ServiceModel.resolve_shape_ref
    functionSourceFile: botocore.model
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - botocore.model.ShapeResolver.get_shape_by_name
    - shape_ref.copy
    - shape_model.update
    - shape_model.copy
    - botocore.model.ShapeResolver.resolve_shape_ref
    - member_traits.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - shape_ref
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 722
    functionName: botocore.model.ShapeResolver.resolve_shape_ref
    functionSourceFile: botocore.model
    functionUses: 4
    functionsReached:
    - <builtin>.len
    - botocore.model.ShapeResolver.get_shape_by_name
    - shape_ref.copy
    - shape_model.update
    - shape_model.copy
    - member_traits.pop
    linkageType: pythonLinkage
    raised:
    - InvalidShapeReferenceError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 347
    functionName: botocore.model.ServiceModel.shape_names
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 351
    functionName: botocore.model.ServiceModel.error_shapes
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - botocore.model.ShapeResolver.get_shape_by_name
    - botocore.model.ServiceModel.shape_for
    - shape_model.update
    - shape_model.copy
    - error_shape.metadata.get
    - error_shapes.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: error_shape.metadata.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: error_shapes.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - operation_model
    - service_model
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 480
    functionName: botocore.model.OperationModel.__init__
    functionSourceFile: botocore.model
    functionUses: 10
    functionsReached:
    - operation_model.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 368
    functionName: botocore.model.ServiceModel.documentation
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 372
    functionName: botocore.model.ServiceModel.operation_names
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 376
    functionName: botocore.model.ServiceModel.service_name
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 393
    functionName: botocore.model.ServiceModel.service_id
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - botocore.model.ServiceModel._get_metadata_property
    linkageType: pythonLinkage
    raised:
    - MissingServiceIdError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 453
    functionName: botocore.model.ServiceModel._get_metadata_property
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - UndefinedModelAttributeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 400
    functionName: botocore.model.ServiceModel.signing_name
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 412
    functionName: botocore.model.ServiceModel.api_version
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - botocore.model.ServiceModel._get_metadata_property
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 416
    functionName: botocore.model.ServiceModel.protocol
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - botocore.model.ServiceModel._get_metadata_property
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 420
    functionName: botocore.model.ServiceModel.endpoint_prefix
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - botocore.model.ServiceModel._get_metadata_property
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 424
    functionName: botocore.model.ServiceModel.endpoint_discovery_operation
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - botocore.model.ServiceModel.operation_model
    - operation_model.get
    - botocore.model.OperationModel.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 431
    functionName: botocore.model.ServiceModel.endpoint_discovery_required
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - botocore.model.ServiceModel.operation_model
    - operation_model.get
    - botocore.model.OperationModel.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 442
    functionName: botocore.model.ServiceModel.client_context_parameters
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - params.items
    - typing.NamedTuple.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple.__init__
    functionSourceFile: ''
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 472
    functionName: botocore.model.ServiceModel.signature_version
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 475
    functionName: botocore.model.ServiceModel.__repr__
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operation_model.get
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.model.OperationModel
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - botocore.utils.CachedProperty
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 518
    functionName: botocore.model.OperationModel.name
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 525
    functionName: botocore.model.OperationModel.wire_name
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 539
    functionName: botocore.model.OperationModel.service_model
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 543
    functionName: botocore.model.OperationModel.documentation
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 547
    functionName: botocore.model.OperationModel.deprecated
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 551
    functionName: botocore.model.OperationModel.endpoint_discovery
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 557
    functionName: botocore.model.OperationModel.is_endpoint_discovery_operation
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 561
    functionName: botocore.model.OperationModel.input_shape
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.model.ShapeResolver.get_shape_by_name
    - botocore.model.ServiceModel.resolve_shape_ref
    - shape_ref.copy
    - shape_model.update
    - shape_model.copy
    - botocore.model.ShapeResolver.resolve_shape_ref
    - member_traits.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 571
    functionName: botocore.model.OperationModel.output_shape
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.model.ShapeResolver.get_shape_by_name
    - botocore.model.ServiceModel.resolve_shape_ref
    - shape_ref.copy
    - shape_model.update
    - shape_model.copy
    - botocore.model.ShapeResolver.resolve_shape_ref
    - member_traits.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 582
    functionName: botocore.model.OperationModel.idempotent_members
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - input_shape.members.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: input_shape.members.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 595
    functionName: botocore.model.OperationModel.static_context_parameters
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - params.items
    - typing.NamedTuple.__init__
    - props.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: props.get
    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
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 603
    functionName: botocore.model.OperationModel.context_parameters
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - typing.NamedTuple.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 618
    functionName: botocore.model.OperationModel.auth_type
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 622
    functionName: botocore.model.OperationModel.error_shapes
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.model.ShapeResolver.get_shape_by_name
    - botocore.model.ServiceModel.resolve_shape_ref
    - shape_ref.copy
    - shape_model.update
    - shape_model.copy
    - botocore.model.ShapeResolver.resolve_shape_ref
    - <builtin>.list
    - member_traits.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 627
    functionName: botocore.model.OperationModel.endpoint
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 631
    functionName: botocore.model.OperationModel.http_checksum_required
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 635
    functionName: botocore.model.OperationModel.http_checksum
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 639
    functionName: botocore.model.OperationModel.has_event_stream_input
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - botocore.model.OperationModel.get_event_stream_input
    - botocore.model.OperationModel._get_event_stream
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 646
    functionName: botocore.model.OperationModel.get_event_stream_input
    functionSourceFile: botocore.model
    functionUses: 1
    functionsReached:
    - botocore.model.OperationModel._get_event_stream
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 643
    functionName: botocore.model.OperationModel.has_event_stream_output
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - botocore.model.OperationModel._get_event_stream
    - botocore.model.OperationModel.get_event_stream_output
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 649
    functionName: botocore.model.OperationModel.get_event_stream_output
    functionSourceFile: botocore.model
    functionUses: 1
    functionsReached:
    - botocore.model.OperationModel._get_event_stream
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - shape
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 652
    functionName: botocore.model.OperationModel._get_event_stream
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 662
    functionName: botocore.model.OperationModel.has_streaming_input
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - botocore.model.OperationModel._get_streaming_body
    - botocore.model.OperationModel.get_streaming_input
    - shape.serialization.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 669
    functionName: botocore.model.OperationModel.get_streaming_input
    functionSourceFile: botocore.model
    functionUses: 1
    functionsReached:
    - botocore.model.OperationModel._get_streaming_body
    - shape.serialization.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 666
    functionName: botocore.model.OperationModel.has_streaming_output
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - botocore.model.OperationModel._get_streaming_body
    - shape.serialization.get
    - botocore.model.OperationModel.get_streaming_output
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 672
    functionName: botocore.model.OperationModel.get_streaming_output
    functionSourceFile: botocore.model
    functionUses: 1
    functionsReached:
    - botocore.model.OperationModel._get_streaming_body
    - shape.serialization.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argNames:
    - self
    - shape
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 675
    functionName: botocore.model.OperationModel._get_streaming_body
    functionSourceFile: botocore.model
    functionUses: 4
    functionsReached:
    - shape.serialization.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 686
    functionName: botocore.model.OperationModel.__repr__
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: shape_model.copy
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: shape_model.update
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: shape_ref.copy
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: member_traits.pop
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - shape_name
    - member_traits
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 747
    functionName: botocore.model.UnresolvableShapeMap.get_shape_by_name
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 808
    functionName: botocore.model.DenormalizedStructureBuilder.__init__
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - collections.defaultdict
    - type_name.capitalize
    - botocore.model.ShapeNameGenerator.__init__
    - botocore.model.ShapeNameGenerator.new_shape_name
    - collections.OrderedDict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 915
    functionName: botocore.model.ShapeNameGenerator.__init__
    functionSourceFile: botocore.model
    functionUses: 1
    functionsReached:
    - collections.defaultdict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - type_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 918
    functionName: botocore.model.ShapeNameGenerator.new_shape_name
    functionSourceFile: botocore.model
    functionUses: 7
    functionsReached:
    - type_name.capitalize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - members
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 814
    functionName: botocore.model.DenormalizedStructureBuilder.with_members
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 826
    functionName: botocore.model.DenormalizedStructureBuilder.build_model
    functionSourceFile: botocore.model
    functionUses: 0
    functionsReached:
    - shape_model.get
    - botocore.model.DenormalizedStructureBuilder._build_map
    - botocore.model.DenormalizedStructureBuilder._get_shape_name
    - botocore.model.DenormalizedStructureBuilder._build_initial_shape
    - botocore.model.DenormalizedStructureBuilder._build_structure
    - botocore.model.ShapeResolver.__init__
    - model.get
    - type_name.capitalize
    - botocore.model.DenormalizedStructureBuilder._build_scalar
    - botocore.model.DenormalizedStructureBuilder._build_model
    - botocore.model.Shape.__init__
    - botocore.model.ShapeNameGenerator.new_shape_name
    - collections.OrderedDict
    - botocore.model.DenormalizedStructureBuilder._build_list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 4
    argNames:
    - self
    - model
    - shapes
    - shape_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 846
    functionName: botocore.model.DenormalizedStructureBuilder._build_model
    functionSourceFile: botocore.model
    functionUses: 4
    functionsReached:
    - botocore.model.DenormalizedStructureBuilder._get_shape_name
    - botocore.model.DenormalizedStructureBuilder._build_map
    - botocore.model.DenormalizedStructureBuilder._build_initial_shape
    - botocore.model.DenormalizedStructureBuilder._build_structure
    - model.get
    - type_name.capitalize
    - botocore.model.DenormalizedStructureBuilder._build_model
    - botocore.model.DenormalizedStructureBuilder._build_scalar
    - botocore.model.ShapeNameGenerator.new_shape_name
    - collections.OrderedDict
    - botocore.model.DenormalizedStructureBuilder._build_list
    linkageType: pythonLinkage
    raised:
    - InvalidShapeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - model
    - shapes
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 858
    functionName: botocore.model.DenormalizedStructureBuilder._build_structure
    functionSourceFile: botocore.model
    functionUses: 4
    functionsReached:
    - botocore.model.DenormalizedStructureBuilder._build_map
    - botocore.model.DenormalizedStructureBuilder._get_shape_name
    - botocore.model.DenormalizedStructureBuilder._build_initial_shape
    - botocore.model.DenormalizedStructureBuilder._build_structure
    - model.get
    - type_name.capitalize
    - botocore.model.DenormalizedStructureBuilder._build_scalar
    - botocore.model.DenormalizedStructureBuilder._build_model
    - botocore.model.ShapeNameGenerator.new_shape_name
    - collections.OrderedDict
    - botocore.model.DenormalizedStructureBuilder._build_list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - model
    - shapes
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 869
    functionName: botocore.model.DenormalizedStructureBuilder._build_list
    functionSourceFile: botocore.model
    functionUses: 4
    functionsReached:
    - botocore.model.DenormalizedStructureBuilder._get_shape_name
    - botocore.model.DenormalizedStructureBuilder._build_map
    - botocore.model.DenormalizedStructureBuilder._build_initial_shape
    - botocore.model.DenormalizedStructureBuilder._build_structure
    - model.get
    - type_name.capitalize
    - botocore.model.DenormalizedStructureBuilder._build_scalar
    - botocore.model.DenormalizedStructureBuilder._build_model
    - botocore.model.ShapeNameGenerator.new_shape_name
    - collections.OrderedDict
    - botocore.model.DenormalizedStructureBuilder._build_list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - model
    - shapes
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 876
    functionName: botocore.model.DenormalizedStructureBuilder._build_map
    functionSourceFile: botocore.model
    functionUses: 4
    functionsReached:
    - botocore.model.DenormalizedStructureBuilder._get_shape_name
    - botocore.model.DenormalizedStructureBuilder._build_map
    - botocore.model.DenormalizedStructureBuilder._build_initial_shape
    - botocore.model.DenormalizedStructureBuilder._build_structure
    - model.get
    - type_name.capitalize
    - botocore.model.DenormalizedStructureBuilder._build_scalar
    - botocore.model.DenormalizedStructureBuilder._build_model
    - botocore.model.ShapeNameGenerator.new_shape_name
    - collections.OrderedDict
    - botocore.model.DenormalizedStructureBuilder._build_list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - model
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 897
    functionName: botocore.model.DenormalizedStructureBuilder._build_scalar
    functionSourceFile: botocore.model
    functionUses: 5
    functionsReached:
    - botocore.model.DenormalizedStructureBuilder._build_initial_shape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - model
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 886
    functionName: botocore.model.DenormalizedStructureBuilder._build_initial_shape
    functionSourceFile: ''
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: model.get
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - model
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 900
    functionName: botocore.model.DenormalizedStructureBuilder._get_shape_name
    functionSourceFile: botocore.model
    functionUses: 5
    functionsReached:
    - botocore.model.ShapeNameGenerator.new_shape_name
    - type_name.capitalize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.defaultdict
    functionSourceFile: collections
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: type_name.capitalize
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.endpoint_provider
    functionSourceFile: botocore.endpoint_provider
    functionUses: 0
    functionsReached:
    - re.compile
    - logging.getLogger
    - string.Formatter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: string.Formatter
    functionSourceFile: string
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - partitions_data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 58
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary.__init__
    functionSourceFile: botocore.endpoint_provider
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - argument
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 61
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary.is_func
    functionSourceFile: botocore.endpoint_provider
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - argument
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 69
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary.is_ref
    functionSourceFile: botocore.endpoint_provider
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - argument
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 77
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary.is_template
    functionSourceFile: botocore.endpoint_provider
    functionUses: 2
    functionsReached:
    - TEMPLATE_STRING_RE.search
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: TEMPLATE_STRING_RE.search
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - value
    - scope_vars
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 88
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary.resolve_template_string
    functionSourceFile: botocore.endpoint_provider
    functionUses: 2
    functionsReached:
    - reference.split
    - string.Formatter.parse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: string.Formatter.parse
    functionSourceFile: string
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: reference.split
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argNames:
    - self
    - value
    - scope_vars
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 107
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary.resolve_value
    functionSourceFile: botocore.endpoint_provider
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - botocore.xform_name
    - <builtin>.isinstance
    - botocore.endpoint_provider.RuleSetStandardLibrary.convert_func_name
    - normalized_name.replace
    - reference.split
    - TEMPLATE_STRING_RE.search
    - matched.lower
    - <builtin>.getattr
    - botocore.endpoint_provider.RuleSetStandardLibrary.is_template
    - botocore.endpoint_provider.RuleSetStandardLibrary.is_ref
    - is_special.group
    - botocore.endpoint_provider.RuleSetStandardLibrary.resolve_value
    - _special_case_transform.search
    - botocore.endpoint_provider.RuleSetStandardLibrary.resolve_template_string
    - botocore.endpoint_provider.RuleSetStandardLibrary.call_function
    - _end_cap_regex.sub
    - botocore.endpoint_provider.RuleSetStandardLibrary.is_func
    - string.Formatter.parse
    - _first_cap_regex.sub
    - scope_vars.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - func_signature
    - scope_vars
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 134
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary.call_function
    functionSourceFile: botocore.endpoint_provider
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - botocore.xform_name
    - <builtin>.isinstance
    - botocore.endpoint_provider.RuleSetStandardLibrary.convert_func_name
    - normalized_name.replace
    - reference.split
    - TEMPLATE_STRING_RE.search
    - matched.lower
    - <builtin>.getattr
    - botocore.endpoint_provider.RuleSetStandardLibrary.is_template
    - botocore.endpoint_provider.RuleSetStandardLibrary.is_ref
    - is_special.group
    - botocore.endpoint_provider.RuleSetStandardLibrary.resolve_value
    - _special_case_transform.search
    - botocore.endpoint_provider.RuleSetStandardLibrary.resolve_template_string
    - botocore.endpoint_provider.RuleSetStandardLibrary.call_function
    - _end_cap_regex.sub
    - botocore.endpoint_provider.RuleSetStandardLibrary.is_func
    - string.Formatter.parse
    - _first_cap_regex.sub
    - scope_vars.get
    linkageType: pythonLinkage
    raised:
    - EndpointResolutionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: scope_vars.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 123
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary.convert_func_name
    functionSourceFile: botocore.endpoint_provider
    functionUses: 2
    functionsReached:
    - is_special.group
    - botocore.xform_name
    - <builtin>.len
    - matched.lower
    - _end_cap_regex.sub
    - normalized_name.replace
    - _special_case_transform.search
    - _first_cap_regex.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: normalized_name.replace
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 159
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary.is_set
    functionSourceFile: botocore.endpoint_provider
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - value
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 167
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary.get_attr
    functionSourceFile: botocore.endpoint_provider
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - path.split
    - value.get
    - match.groups
    - GET_ATTR_RE.search
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: path.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: GET_ATTR_RE.search
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.groups
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - partition
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 190
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary.format_partition_output
    functionSourceFile: botocore.endpoint_provider
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - region
    - partition
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 195
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary.is_partition_match
    functionSourceFile: botocore.endpoint_provider
    functionUses: 1
    functionsReached:
    - re.match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.match
    functionSourceFile: re
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 199
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary.aws_partition
    functionSourceFile: botocore.endpoint_provider
    functionUses: 0
    functionsReached:
    - botocore.endpoint_provider.RuleSetStandardLibrary.is_partition_match
    - re.match
    - botocore.endpoint_provider.RuleSetStandardLibrary.format_partition_output
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 216
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary.aws_parse_arn
    functionSourceFile: botocore.endpoint_provider
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - urllib.parse.unquote.split
    - botocore.utils.ArnParser.parse_arn
    - value.startswith
    - resource.replace
    - <builtin>.all
    - arn_dict.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: arn_dict.pop
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resource.replace
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - value
    - allow_subdomains
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 243
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary.is_valid_host_label
    functionSourceFile: botocore.endpoint_provider
    functionUses: 1
    functionsReached:
    - <builtin>.all
    - value.count
    - VALID_HOST_LABEL_RE.match
    - botocore.endpoint_provider.RuleSetStandardLibrary.is_valid_host_label
    - value.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.count
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.split
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: VALID_HOST_LABEL_RE.match
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - value1
    - value2
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 263
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary.string_equals
    functionSourceFile: botocore.endpoint_provider
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.all
    - <builtin>.type
    linkageType: pythonLinkage
    raised:
    - EndpointResolutionError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 275
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary.uri_encode
    functionSourceFile: botocore.endpoint_provider
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - urllib.parse.quote.encode
    - botocore.utils.percent_encode
    - urllib.parse.quote
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 286
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary.parse_url
    functionSourceFile: botocore.endpoint_provider
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.utils.remove_dot_segments
    - output_list.append
    - UNSAFE_URL_CHARS.intersection
    - urllib.parse.urlparse.path.split
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.utils.is_valid_ipv4_endpoint_url
    - output_list.pop
    - IPV4_RE.match
    - IPV6_ADDRZ_RE.match
    - urllib.parse.quote
    - urllib.parse.quote.endswith
    - botocore.utils.normalize_url_path
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.quote.endswith
    functionSourceFile: urllib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - value1
    - value2
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 323
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary.boolean_equals
    functionSourceFile: botocore.endpoint_provider
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.all
    - <builtin>.type
    linkageType: pythonLinkage
    raised:
    - EndpointResolutionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 335
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary.is_ascii
    functionSourceFile: botocore.endpoint_provider
    functionUses: 1
    functionsReached:
    - value.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 5
    argNames:
    - self
    - value
    - start
    - stop
    - reverse
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 347
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary.substring
    functionSourceFile: botocore.endpoint_provider
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - <builtin>.type
    - botocore.endpoint_provider.RuleSetStandardLibrary.is_ascii
    - value.encode
    linkageType: pythonLinkage
    raised:
    - EndpointResolutionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 370
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary._not
    functionSourceFile: botocore.endpoint_provider
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - value
    - allow_subdomains
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 378
    functionName: botocore.endpoint_provider.RuleSetStandardLibrary.aws_is_virtual_hostable_s3_bucket
    functionSourceFile: botocore.endpoint_provider
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.all
    - value.count
    - VALID_HOST_LABEL_RE.match
    - IPV4_RE.match
    - botocore.endpoint_provider.RuleSetStandardLibrary.aws_is_virtual_hostable_s3_bucket
    - value.lower
    - botocore.endpoint_provider.RuleSetStandardLibrary.is_valid_host_label
    - value.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - conditions
    - documentation
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 418
    functionName: botocore.endpoint_provider.BaseRule.__init__
    functionSourceFile: botocore.endpoint_provider
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - scope_vars
    - rule_lib
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 422
    functionName: botocore.endpoint_provider.BaseRule.evaluate
    functionSourceFile: botocore.endpoint_provider
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - scope_vars
    - rule_lib
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 425
    functionName: botocore.endpoint_provider.BaseRule.evaluate_conditions
    functionSourceFile: botocore.endpoint_provider
    functionUses: 3
    functionsReached:
    - rule_lib.call_function
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rule_lib.call_function
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - endpoint
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 448
    functionName: botocore.endpoint_provider.EndpointRule.__init__
    functionSourceFile: botocore.endpoint_provider
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - scope_vars
    - rule_lib
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 452
    functionName: botocore.endpoint_provider.EndpointRule.evaluate
    functionSourceFile: botocore.endpoint_provider
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - properties.items
    - botocore.endpoint_provider.EndpointRule.resolve_properties
    - rule_lib.resolve_value
    - rule_lib.call_function
    - botocore.endpoint_provider.EndpointRule.resolve_headers
    - rule_lib.is_template
    - headers.items
    - typing.NamedTuple.__init__
    - rule_lib.resolve_template_string
    - botocore.endpoint_provider.BaseRule.evaluate_conditions
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rule_lib.resolve_value
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argNames:
    - self
    - properties
    - scope_vars
    - rule_lib
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 472
    functionName: botocore.endpoint_provider.EndpointRule.resolve_properties
    functionSourceFile: botocore.endpoint_provider
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - properties.items
    - botocore.endpoint_provider.EndpointRule.resolve_properties
    - rule_lib.is_template
    - rule_lib.resolve_template_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - scope_vars
    - rule_lib
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 495
    functionName: botocore.endpoint_provider.EndpointRule.resolve_headers
    functionSourceFile: botocore.endpoint_provider
    functionUses: 1
    functionsReached:
    - headers.items
    - rule_lib.resolve_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: properties.items
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rule_lib.is_template
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rule_lib.resolve_template_string
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - error
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 513
    functionName: botocore.endpoint_provider.ErrorRule.__init__
    functionSourceFile: botocore.endpoint_provider
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - scope_vars
    - rule_lib
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 517
    functionName: botocore.endpoint_provider.ErrorRule.evaluate
    functionSourceFile: botocore.endpoint_provider
    functionUses: 0
    functionsReached:
    - rule_lib.resolve_value
    - rule_lib.call_function
    - botocore.endpoint_provider.BaseRule.evaluate_conditions
    linkageType: pythonLinkage
    raised:
    - EndpointResolutionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - rules
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 535
    functionName: botocore.endpoint_provider.TreeRule.__init__
    functionSourceFile: botocore.endpoint_provider
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - botocore.endpoint_provider.RuleCreator.create
    - kwargs.pop
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - cls
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 563
    functionName: botocore.endpoint_provider.RuleCreator.create
    functionSourceFile: botocore.endpoint_provider
    functionUses: 8
    functionsReached:
    - <builtin>.getattr
    - kwargs.pop
    linkageType: pythonLinkage
    raised:
    - EndpointResolutionError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - scope_vars
    - rule_lib
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 539
    functionName: botocore.endpoint_provider.TreeRule.evaluate
    functionSourceFile: botocore.endpoint_provider
    functionUses: 0
    functionsReached:
    - rule_lib.call_function
    - botocore.endpoint_provider.BaseRule.evaluate_conditions
    - rule.evaluate
    - scope_vars.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: scope_vars.copy
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rule.evaluate
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 8
    argNames:
    - self
    - name
    - parameter_type
    - documentation
    - builtIn
    - default
    - required
    - deprecated
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 590
    functionName: botocore.endpoint_provider.ParameterDefinition.__init__
    functionSourceFile: botocore.endpoint_provider
    functionUses: 8
    functionsReached:
    - parameter_type.lower
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised:
    - EndpointResolutionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parameter_type.lower
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 616
    functionName: botocore.endpoint_provider.ParameterDefinition.validate_input
    functionSourceFile: botocore.endpoint_provider
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - logger.info
    linkageType: pythonLinkage
    raised:
    - EndpointResolutionError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 640
    functionName: botocore.endpoint_provider.ParameterDefinition.process_input
    functionSourceFile: botocore.endpoint_provider
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - logger.info
    - botocore.endpoint_provider.ParameterDefinition.validate_input
    linkageType: pythonLinkage
    raised:
    - EndpointResolutionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 6
    argNames:
    - self
    - version
    - parameters
    - rules
    - partitions
    - documentation
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 658
    functionName: botocore.endpoint_provider.RuleSet.__init__
    functionSourceFile: botocore.endpoint_provider
    functionUses: 6
    functionsReached:
    - spec.get
    - <builtin>.getattr
    - botocore.endpoint_provider.RuleSetStandardLibrary.__init__
    - botocore.endpoint_provider.RuleCreator.create
    - kwargs.pop
    - botocore.endpoint_provider.RuleSet._ingest_parameter_spec
    - botocore.endpoint_provider.ParameterDefinition.__init__
    - parameter_type.lower
    - parameters.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - parameters
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 667
    functionName: botocore.endpoint_provider.RuleSet._ingest_parameter_spec
    functionSourceFile: botocore.endpoint_provider
    functionUses: 7
    functionsReached:
    - <builtin>.getattr
    - parameters.items
    - botocore.endpoint_provider.ParameterDefinition.__init__
    - parameter_type.lower
    - spec.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: spec.get
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - input_params
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 681
    functionName: botocore.endpoint_provider.RuleSet.process_input_parameters
    functionSourceFile: botocore.endpoint_provider
    functionUses: 3
    functionsReached:
    - input_params.get
    - spec.process_input
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: input_params.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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: spec.process_input
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - input_parameters
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 692
    functionName: botocore.endpoint_provider.RuleSet.evaluate
    functionSourceFile: botocore.endpoint_provider
    functionUses: 2
    functionsReached:
    - input_params.get
    - input_parameters.copy
    - spec.process_input
    - botocore.endpoint_provider.RuleSet.process_input_parameters
    - rule.evaluate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: input_parameters.copy
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - ruleset_data
    - partition_data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 708
    functionName: botocore.endpoint_provider.EndpointProvider.__init__
    functionSourceFile: botocore.endpoint_provider
    functionUses: 5
    functionsReached:
    - spec.get
    - <builtin>.getattr
    - botocore.endpoint_provider.RuleSetStandardLibrary.__init__
    - botocore.endpoint_provider.RuleCreator.create
    - kwargs.pop
    - botocore.endpoint_provider.RuleSet._ingest_parameter_spec
    - botocore.endpoint_provider.ParameterDefinition.__init__
    - parameter_type.lower
    - botocore.endpoint_provider.RuleSet.__init__
    - parameters.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.lru_cache
    functionSourceFile: functools
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.endpoint_provider.EndpointProvider
    functionSourceFile: botocore.endpoint_provider
    functionUses: 0
    functionsReached:
    - functools.lru_cache
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - input_parameters
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 712
    functionName: botocore.endpoint_provider.EndpointProvider.resolve_endpoint
    functionSourceFile: botocore.endpoint_provider
    functionUses: 1
    functionsReached:
    - input_params.get
    - params_for_error.items
    - input_parameters.copy
    - botocore.endpoint_provider.RuleSet.evaluate
    - spec.process_input
    - botocore.endpoint_provider.RuleSet.process_input_parameters
    - rule.evaluate
    linkageType: pythonLinkage
    raised:
    - EndpointResolutionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: params_for_error.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.eventstream
    functionSourceFile: botocore.eventstream
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - header
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 35
    functionName: botocore.eventstream.DuplicateHeader.__init__
    functionSourceFile: botocore.eventstream
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - length
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: botocore.eventstream.InvalidHeadersLength.__init__
    functionSourceFile: botocore.eventstream
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - length
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 54
    functionName: botocore.eventstream.InvalidPayloadLength.__init__
    functionSourceFile: botocore.eventstream
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - expected
    - calculated
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 65
    functionName: botocore.eventstream.ChecksumMismatch.__init__
    functionSourceFile: botocore.eventstream
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 82
    functionName: botocore.eventstream.NoInitialResponseError.__init__
    functionSourceFile: botocore.eventstream
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 112
    functionName: botocore.eventstream.DecodeUtils.unpack_true
    functionSourceFile: botocore.eventstream
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 125
    functionName: botocore.eventstream.DecodeUtils.unpack_false
    functionSourceFile: botocore.eventstream
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 138
    functionName: botocore.eventstream.DecodeUtils.unpack_uint8
    functionSourceFile: botocore.eventstream
    functionUses: 9
    functionsReached:
    - struct.unpack
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: struct.unpack
    functionSourceFile: struct
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 151
    functionName: botocore.eventstream.DecodeUtils.unpack_uint32
    functionSourceFile: botocore.eventstream
    functionUses: 5
    functionsReached:
    - struct.unpack
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 164
    functionName: botocore.eventstream.DecodeUtils.unpack_int8
    functionSourceFile: botocore.eventstream
    functionUses: 0
    functionsReached:
    - struct.unpack
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 177
    functionName: botocore.eventstream.DecodeUtils.unpack_int16
    functionSourceFile: botocore.eventstream
    functionUses: 0
    functionsReached:
    - struct.unpack
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 191
    functionName: botocore.eventstream.DecodeUtils.unpack_int32
    functionSourceFile: botocore.eventstream
    functionUses: 0
    functionsReached:
    - struct.unpack
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 205
    functionName: botocore.eventstream.DecodeUtils.unpack_int64
    functionSourceFile: botocore.eventstream
    functionUses: 0
    functionsReached:
    - struct.unpack
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - data
    - length_byte_size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 219
    functionName: botocore.eventstream.DecodeUtils.unpack_byte_array
    functionSourceFile: botocore.eventstream
    functionUses: 9
    functionsReached:
    - struct.unpack
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - data
    - length_byte_size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 244
    functionName: botocore.eventstream.DecodeUtils.unpack_utf8_string
    functionSourceFile: botocore.eventstream
    functionUses: 8
    functionsReached:
    - botocore.eventstream.DecodeUtils.unpack_byte_array
    - struct.unpack
    - array_bytes.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: array_bytes.decode
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 269
    functionName: botocore.eventstream.DecodeUtils.unpack_uuid
    functionSourceFile: botocore.eventstream
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 281
    functionName: botocore.eventstream.DecodeUtils.unpack_prelude
    functionSourceFile: botocore.eventstream
    functionUses: 3
    functionsReached:
    - struct.unpack
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - data
    - checksum
    - crc
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 295
    functionName: botocore.eventstream._validate_checksum
    functionSourceFile: botocore.eventstream
    functionUses: 5
    functionsReached:
    - binascii.crc32
    linkageType: pythonLinkage
    raised:
    - ChecksumMismatch
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: binascii.crc32
    functionSourceFile: binascii
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - total_length
    - headers_length
    - crc
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 306
    functionName: botocore.eventstream.MessagePrelude.__init__
    functionSourceFile: botocore.eventstream
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 312
    functionName: botocore.eventstream.MessagePrelude.payload_length
    functionSourceFile: botocore.eventstream
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 323
    functionName: botocore.eventstream.MessagePrelude.payload_end
    functionSourceFile: botocore.eventstream
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 335
    functionName: botocore.eventstream.MessagePrelude.headers_end
    functionSourceFile: botocore.eventstream
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - prelude
    - headers
    - payload
    - crc
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 348
    functionName: botocore.eventstream.EventStreamMessage.__init__
    functionSourceFile: botocore.eventstream
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - status_code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 354
    functionName: botocore.eventstream.EventStreamMessage.to_response_dict
    functionSourceFile: botocore.eventstream
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 398
    functionName: botocore.eventstream.EventStreamHeaderParser.__init__
    functionSourceFile: botocore.eventstream
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 401
    functionName: botocore.eventstream.EventStreamHeaderParser.parse
    functionSourceFile: botocore.eventstream
    functionUses: 4
    functionsReached:
    - botocore.eventstream.EventStreamHeaderParser._advance_data
    - botocore.eventstream.EventStreamHeaderParser._parse_type
    - botocore.eventstream.DecodeUtils.unpack_utf8_string
    - botocore.eventstream.EventStreamHeaderParser._parse_value
    - botocore.eventstream.EventStreamHeaderParser._parse_header
    - botocore.eventstream.DecodeUtils.unpack_uint8
    - botocore.eventstream.EventStreamHeaderParser._parse_name
    - botocore.eventstream.DecodeUtils.unpack_byte_array
    - botocore.eventstream.EventStreamHeaderParser._parse_headers
    - struct.unpack
    - array_bytes.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 414
    functionName: botocore.eventstream.EventStreamHeaderParser._parse_headers
    functionSourceFile: botocore.eventstream
    functionUses: 5
    functionsReached:
    - botocore.eventstream.EventStreamHeaderParser._advance_data
    - botocore.eventstream.EventStreamHeaderParser._parse_type
    - botocore.eventstream.DecodeUtils.unpack_utf8_string
    - botocore.eventstream.EventStreamHeaderParser._parse_value
    - botocore.eventstream.EventStreamHeaderParser._parse_header
    - botocore.eventstream.DecodeUtils.unpack_uint8
    - botocore.eventstream.EventStreamHeaderParser._parse_name
    - botocore.eventstream.DecodeUtils.unpack_byte_array
    - struct.unpack
    - array_bytes.decode
    linkageType: pythonLinkage
    raised:
    - DuplicateHeader
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 423
    functionName: botocore.eventstream.EventStreamHeaderParser._parse_header
    functionSourceFile: botocore.eventstream
    functionUses: 6
    functionsReached:
    - botocore.eventstream.EventStreamHeaderParser._advance_data
    - botocore.eventstream.EventStreamHeaderParser._parse_type
    - botocore.eventstream.DecodeUtils.unpack_utf8_string
    - botocore.eventstream.EventStreamHeaderParser._parse_value
    - botocore.eventstream.DecodeUtils.unpack_uint8
    - botocore.eventstream.EventStreamHeaderParser._parse_name
    - botocore.eventstream.DecodeUtils.unpack_byte_array
    - struct.unpack
    - array_bytes.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 428
    functionName: botocore.eventstream.EventStreamHeaderParser._parse_name
    functionSourceFile: botocore.eventstream
    functionUses: 7
    functionsReached:
    - botocore.eventstream.EventStreamHeaderParser._advance_data
    - botocore.eventstream.DecodeUtils.unpack_utf8_string
    - botocore.eventstream.DecodeUtils.unpack_byte_array
    - struct.unpack
    - array_bytes.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 438
    functionName: botocore.eventstream.EventStreamHeaderParser._parse_value
    functionSourceFile: botocore.eventstream
    functionUses: 7
    functionsReached:
    - botocore.eventstream.DecodeUtils.unpack_uint8
    - botocore.eventstream.EventStreamHeaderParser._advance_data
    - botocore.eventstream.EventStreamHeaderParser._parse_type
    - struct.unpack
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - consumed
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 445
    functionName: botocore.eventstream.EventStreamHeaderParser._advance_data
    functionSourceFile: ''
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 433
    functionName: botocore.eventstream.EventStreamHeaderParser._parse_type
    functionSourceFile: botocore.eventstream
    functionUses: 8
    functionsReached:
    - botocore.eventstream.DecodeUtils.unpack_uint8
    - botocore.eventstream.EventStreamHeaderParser._advance_data
    - struct.unpack
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 456
    functionName: botocore.eventstream.EventStreamBuffer.__init__
    functionSourceFile: botocore.eventstream
    functionUses: 9
    functionsReached:
    - botocore.eventstream.EventStreamHeaderParser.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 461
    functionName: botocore.eventstream.EventStreamBuffer.add_data
    functionSourceFile: botocore.eventstream
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - prelude
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 469
    functionName: botocore.eventstream.EventStreamBuffer._validate_prelude
    functionSourceFile: botocore.eventstream
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - InvalidPayloadLength
    - InvalidHeadersLength
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 476
    functionName: botocore.eventstream.EventStreamBuffer._parse_prelude
    functionSourceFile: botocore.eventstream
    functionUses: 2
    functionsReached:
    - botocore.eventstream.DecodeUtils.unpack_prelude
    - botocore.eventstream.EventStreamBuffer._validate_prelude
    - botocore.eventstream.MessagePrelude.__init__
    - struct.unpack
    - binascii.crc32
    - botocore.eventstream._validate_checksum
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 485
    functionName: botocore.eventstream.EventStreamBuffer._parse_headers
    functionSourceFile: botocore.eventstream
    functionUses: 3
    functionsReached:
    - botocore.eventstream.EventStreamHeaderParser._advance_data
    - botocore.eventstream.EventStreamHeaderParser._parse_type
    - botocore.eventstream.DecodeUtils.unpack_utf8_string
    - botocore.eventstream.EventStreamHeaderParser._parse_value
    - botocore.eventstream.EventStreamHeaderParser._parse_header
    - botocore.eventstream.EventStreamHeaderParser.parse
    - botocore.eventstream.DecodeUtils.unpack_uint8
    - botocore.eventstream.EventStreamHeaderParser._parse_name
    - botocore.eventstream.DecodeUtils.unpack_byte_array
    - botocore.eventstream.EventStreamHeaderParser._parse_headers
    - struct.unpack
    - array_bytes.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 489
    functionName: botocore.eventstream.EventStreamBuffer._parse_payload
    functionSourceFile: botocore.eventstream
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 494
    functionName: botocore.eventstream.EventStreamBuffer._parse_message_crc
    functionSourceFile: botocore.eventstream
    functionUses: 4
    functionsReached:
    - struct.unpack
    - botocore.eventstream.DecodeUtils.unpack_uint32
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 500
    functionName: botocore.eventstream.EventStreamBuffer._parse_message_bytes
    functionSourceFile: botocore.eventstream
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 507
    functionName: botocore.eventstream.EventStreamBuffer._validate_message_crc
    functionSourceFile: botocore.eventstream
    functionUses: 3
    functionsReached:
    - botocore.eventstream.EventStreamBuffer._parse_message_bytes
    - botocore.eventstream.EventStreamBuffer._parse_message_crc
    - botocore.eventstream.DecodeUtils.unpack_uint32
    - struct.unpack
    - binascii.crc32
    - botocore.eventstream._validate_checksum
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 513
    functionName: botocore.eventstream.EventStreamBuffer._parse_message
    functionSourceFile: botocore.eventstream
    functionUses: 2
    functionsReached:
    - botocore.eventstream.EventStreamBuffer._parse_headers
    - botocore.eventstream.EventStreamHeaderParser._parse_value
    - botocore.eventstream.EventStreamBuffer._prepare_for_next_message
    - botocore.eventstream.EventStreamHeaderParser.parse
    - botocore.eventstream.DecodeUtils.unpack_byte_array
    - botocore.eventstream.EventStreamHeaderParser._parse_headers
    - array_bytes.decode
    - botocore.eventstream.EventStreamMessage.__init__
    - botocore.eventstream.EventStreamBuffer._parse_message_bytes
    - botocore.eventstream.EventStreamBuffer._validate_message_crc
    - botocore.eventstream.EventStreamHeaderParser._parse_name
    - botocore.eventstream.DecodeUtils.unpack_uint32
    - botocore.eventstream.EventStreamHeaderParser._advance_data
    - botocore.eventstream.EventStreamBuffer._parse_payload
    - botocore.eventstream.EventStreamBuffer._parse_message_crc
    - binascii.crc32
    - botocore.eventstream.EventStreamHeaderParser._parse_type
    - botocore.eventstream.DecodeUtils.unpack_utf8_string
    - botocore.eventstream.EventStreamHeaderParser._parse_header
    - botocore.eventstream.DecodeUtils.unpack_uint8
    - struct.unpack
    - botocore.eventstream._validate_checksum
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 521
    functionName: botocore.eventstream.EventStreamBuffer._prepare_for_next_message
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 526
    functionName: botocore.eventstream.EventStreamBuffer.next
    functionSourceFile: botocore.eventstream
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - botocore.eventstream.EventStreamBuffer._parse_headers
    - botocore.eventstream.EventStreamBuffer._parse_prelude
    - botocore.eventstream.EventStreamHeaderParser._parse_value
    - botocore.eventstream.EventStreamBuffer._prepare_for_next_message
    - botocore.eventstream.EventStreamHeaderParser.parse
    - botocore.eventstream.DecodeUtils.unpack_byte_array
    - botocore.eventstream.EventStreamHeaderParser._parse_headers
    - array_bytes.decode
    - botocore.eventstream.EventStreamMessage.__init__
    - botocore.eventstream.EventStreamBuffer._parse_message_bytes
    - botocore.eventstream.EventStreamBuffer._validate_prelude
    - botocore.eventstream.EventStreamBuffer._validate_message_crc
    - botocore.eventstream.EventStreamHeaderParser._parse_name
    - botocore.eventstream.DecodeUtils.unpack_uint32
    - botocore.eventstream.EventStreamHeaderParser._advance_data
    - botocore.eventstream.EventStreamBuffer._parse_payload
    - botocore.eventstream.EventStreamBuffer._parse_message_crc
    - botocore.eventstream.EventStreamBuffer._parse_message
    - botocore.eventstream.MessagePrelude.__init__
    - binascii.crc32
    - botocore.eventstream.DecodeUtils.unpack_prelude
    - botocore.eventstream.EventStreamHeaderParser._parse_type
    - botocore.eventstream.DecodeUtils.unpack_utf8_string
    - botocore.eventstream.EventStreamHeaderParser._parse_header
    - botocore.eventstream.DecodeUtils.unpack_uint8
    - struct.unpack
    - botocore.eventstream._validate_checksum
    linkageType: pythonLinkage
    raised:
    - StopIteration
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 543
    functionName: botocore.eventstream.EventStreamBuffer.__next__
    functionSourceFile: botocore.eventstream
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.eventstream.EventStreamBuffer._parse_headers
    - botocore.eventstream.EventStreamBuffer._parse_prelude
    - botocore.eventstream.EventStreamHeaderParser._parse_value
    - botocore.eventstream.EventStreamBuffer._prepare_for_next_message
    - botocore.eventstream.EventStreamHeaderParser.parse
    - botocore.eventstream.DecodeUtils.unpack_byte_array
    - botocore.eventstream.EventStreamHeaderParser._parse_headers
    - array_bytes.decode
    - botocore.eventstream.EventStreamMessage.__init__
    - botocore.eventstream.EventStreamBuffer._parse_message_bytes
    - botocore.eventstream.EventStreamBuffer._validate_prelude
    - botocore.eventstream.EventStreamBuffer._validate_message_crc
    - botocore.eventstream.EventStreamHeaderParser._parse_name
    - botocore.eventstream.DecodeUtils.unpack_uint32
    - botocore.eventstream.EventStreamHeaderParser._advance_data
    - botocore.eventstream.EventStreamBuffer._parse_payload
    - botocore.eventstream.EventStreamBuffer._parse_message_crc
    - botocore.eventstream.EventStreamBuffer._parse_message
    - botocore.eventstream.MessagePrelude.__init__
    - binascii.crc32
    - botocore.eventstream.DecodeUtils.unpack_prelude
    - botocore.eventstream.EventStreamHeaderParser._parse_type
    - botocore.eventstream.DecodeUtils.unpack_utf8_string
    - botocore.eventstream.EventStreamHeaderParser._parse_header
    - botocore.eventstream.EventStreamBuffer.next
    - botocore.eventstream.DecodeUtils.unpack_uint8
    - struct.unpack
    - botocore.eventstream._validate_checksum
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 546
    functionName: botocore.eventstream.EventStreamBuffer.__iter__
    functionSourceFile: botocore.eventstream
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - raw_stream
    - output_shape
    - parser
    - operation_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 594
    functionName: botocore.eventstream.EventStream.__init__
    functionSourceFile: botocore.eventstream
    functionUses: 7
    functionsReached:
    - botocore.eventstream.EventStreamBuffer.add_data
    - botocore.eventstream.EventStreamBuffer.__init__
    - botocore.eventstream.EventStream._create_raw_event_generator
    - botocore.eventstream.EventStreamHeaderParser.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 607
    functionName: botocore.eventstream.EventStream._create_raw_event_generator
    functionSourceFile: botocore.eventstream
    functionUses: 8
    functionsReached:
    - botocore.eventstream.EventStreamBuffer.add_data
    - botocore.eventstream.EventStreamBuffer.__init__
    - botocore.eventstream.EventStreamHeaderParser.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 601
    functionName: botocore.eventstream.EventStream.__iter__
    functionSourceFile: botocore.eventstream
    functionUses: 0
    functionsReached:
    - event.to_response_dict
    - botocore.eventstream.EventStream._parse_event
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 613
    functionName: botocore.eventstream.EventStream._parse_event
    functionSourceFile: botocore.eventstream
    functionUses: 1
    functionsReached:
    - event.to_response_dict
    linkageType: pythonLinkage
    raised:
    - EventStreamError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event.to_response_dict
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 621
    functionName: botocore.eventstream.EventStream.get_initial_response
    functionSourceFile: botocore.eventstream
    functionUses: 2
    functionsReached:
    - <builtin>.next
    - initial_event.headers.get
    linkageType: pythonLinkage
    raised:
    - NoInitialResponseError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.next
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: initial_event.headers.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 631
    functionName: botocore.eventstream.EventStream.close
    functionSourceFile: botocore.eventstream
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.paginate
    functionSourceFile: botocore.paginate
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 38
    functionName: botocore.paginate.TokenEncoder.encode
    functionSourceFile: botocore.paginate
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - botocore.paginate.TokenEncoder._encode_dict
    - json.dumps
    - botocore.paginate.TokenEncoder._encode_bytes
    - data.items
    - base64.b64encode
    - <builtin>.enumerate
    - botocore.paginate.TokenEncoder._encode
    - new_data.append
    - botocore.paginate.TokenEncoder._encode_list
    - encoded.extend
    - json_string.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argNames:
    - self
    - data
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 67
    functionName: botocore.paginate.TokenEncoder._encode
    functionSourceFile: botocore.paginate
    functionUses: 4
    functionsReached:
    - <builtin>.isinstance
    - botocore.paginate.TokenEncoder._encode_dict
    - botocore.paginate.TokenEncoder._encode_bytes
    - data.items
    - base64.b64encode
    - <builtin>.enumerate
    - botocore.paginate.TokenEncoder._encode
    - new_data.append
    - botocore.paginate.TokenEncoder._encode_list
    - encoded.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: json_string.encode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - data
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 89
    functionName: botocore.paginate.TokenEncoder._encode_dict
    functionSourceFile: botocore.paginate
    functionUses: 4
    functionsReached:
    - <builtin>.isinstance
    - botocore.paginate.TokenEncoder._encode_dict
    - botocore.paginate.TokenEncoder._encode_bytes
    - data.items
    - base64.b64encode
    - <builtin>.enumerate
    - botocore.paginate.TokenEncoder._encode
    - new_data.append
    - botocore.paginate.TokenEncoder._encode_list
    - encoded.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - data
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 78
    functionName: botocore.paginate.TokenEncoder._encode_list
    functionSourceFile: botocore.paginate
    functionUses: 4
    functionsReached:
    - <builtin>.isinstance
    - botocore.paginate.TokenEncoder._encode_dict
    - botocore.paginate.TokenEncoder._encode_bytes
    - data.items
    - base64.b64encode
    - <builtin>.enumerate
    - botocore.paginate.TokenEncoder._encode
    - new_data.append
    - botocore.paginate.TokenEncoder._encode_list
    - encoded.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - data
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 100
    functionName: botocore.paginate.TokenEncoder._encode_bytes
    functionSourceFile: botocore.paginate
    functionUses: 5
    functionsReached:
    - base64.b64encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_data.append
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: encoded.extend
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.items
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 112
    functionName: botocore.paginate.TokenDecoder.decode
    functionSourceFile: botocore.paginate
    functionUses: 6
    functionsReached:
    - encoded.encode
    - botocore.paginate.TokenDecoder._decode
    - token.encode
    - botocore.paginate.TokenDecoder._path_set
    - botocore.paginate.TokenDecoder._path_get
    - json.loads
    - base64.b64decode
    - decoded_token.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: token.encode
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: base64.b64decode
    functionSourceFile: base64
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: decoded_token.pop
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - token
    - encoded_keys
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 135
    functionName: botocore.paginate.TokenDecoder._decode
    functionSourceFile: botocore.paginate
    functionUses: 7
    functionsReached:
    - botocore.paginate.TokenDecoder._path_set
    - botocore.paginate.TokenDecoder._path_get
    - encoded.encode
    - base64.b64decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - data
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 143
    functionName: botocore.paginate.TokenDecoder._path_get
    functionSourceFile: ''
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: encoded.encode
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - data
    - path
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 160
    functionName: botocore.paginate.TokenDecoder._path_set
    functionSourceFile: botocore.paginate
    functionUses: 8
    functionsReached:
    - botocore.paginate.TokenDecoder._path_get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - paginator_config
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 174
    functionName: botocore.paginate.PaginatorModel.__init__
    functionSourceFile: botocore.paginate
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - operation_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 177
    functionName: botocore.paginate.PaginatorModel.get_paginator
    functionSourceFile: botocore.paginate
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 12
    argNames:
    - self
    - method
    - input_token
    - output_token
    - more_results
    - result_keys
    - non_aggregate_keys
    - limit_key
    - max_items
    - starting_token
    - page_size
    - op_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 193
    functionName: botocore.paginate.PageIterator.__init__
    functionSourceFile: botocore.paginate
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 224
    functionName: botocore.paginate.PageIterator.result_keys
    functionSourceFile: botocore.paginate
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 233
    functionName: botocore.paginate.PageIterator.resume_token
    functionSourceFile: botocore.paginate
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - botocore.paginate.TokenEncoder._encode_dict
    - json.dumps
    - botocore.paginate.TokenEncoder.encode
    - botocore.paginate.TokenEncoder._encode_bytes
    - data.items
    - base64.b64encode
    - <builtin>.sorted
    - <builtin>.enumerate
    - botocore.paginate.TokenEncoder._encode
    - new_data.append
    - botocore.paginate.TokenEncoder._encode_list
    - value.keys
    - encoded.extend
    - json_string.encode
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.keys
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 249
    functionName: botocore.paginate.PageIterator.non_aggregate_part
    functionSourceFile: botocore.paginate
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 6
    IfCount: 9
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 252
    functionName: botocore.paginate.PageIterator.__iter__
    functionSourceFile: botocore.paginate
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - next_token.values
    - <builtin>.isinstance
    - deprecated_token.append
    - log.debug
    - botocore.paginate.PageIterator._parse_starting_token_deprecated
    - botocore.paginate.TokenDecoder._path_get
    - expression.search
    - botocore.paginate.TokenDecoder.decode
    - json.loads
    - <builtin>.all
    - botocore.paginate.PageIterator._inject_starting_params
    - botocore.paginate.PageIterator._inject_token_into_kwargs
    - parts.pop
    - botocore.paginate.TokenDecoder._decode
    - botocore.paginate.TokenDecoder._path_set
    - botocore.paginate.PageIterator._parse_starting_token
    - botocore.paginate.PageIterator._record_non_aggregate_key_values
    - primary_result_key.search
    - botocore.paginate.PageIterator._make_request
    - botocore.utils.validate_jmespath_for_set
    - <builtin>.dict
    - botocore.paginate.PageIterator._get_next_token
    - next_token.append
    - next_token.get
    - <builtin>.zip
    - token.encode
    - botocore.paginate.PageIterator._extract_parsed_response
    - next_token.items
    - output_token.search
    - botocore.paginate.PageIterator._truncate_response
    - expression.split
    - botocore.paginate.PageIterator._convert_deprecated_starting_token
    - decoded_token.pop
    - botocore.utils.set_value_from_jmespath
    - encoded.encode
    - <builtin>.range
    - <builtin>.int
    - base64.b64decode
    - botocore.paginate.PageIterator._handle_first_request
    linkageType: pythonLinkage
    raised:
    - PaginationError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 526
    functionName: botocore.paginate.PageIterator._parse_starting_token
    functionSourceFile: botocore.paginate
    functionUses: 5
    functionsReached:
    - <builtin>.len
    - deprecated_token.append
    - log.debug
    - botocore.paginate.PageIterator._parse_starting_token_deprecated
    - botocore.paginate.TokenDecoder._path_get
    - botocore.paginate.TokenDecoder.decode
    - json.loads
    - parts.pop
    - botocore.paginate.TokenDecoder._decode
    - botocore.paginate.TokenDecoder._path_set
    - <builtin>.dict
    - next_token.append
    - next_token.get
    - <builtin>.zip
    - token.encode
    - botocore.paginate.PageIterator._convert_deprecated_starting_token
    - decoded_token.pop
    - encoded.encode
    - <builtin>.range
    - <builtin>.int
    - base64.b64decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - op_kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 371
    functionName: botocore.paginate.PageIterator._inject_starting_params
    functionSourceFile: botocore.paginate
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - deprecated_token.append
    - log.debug
    - botocore.paginate.PageIterator._parse_starting_token_deprecated
    - botocore.paginate.TokenDecoder._path_get
    - botocore.paginate.TokenDecoder.decode
    - json.loads
    - botocore.paginate.PageIterator._inject_token_into_kwargs
    - parts.pop
    - botocore.paginate.TokenDecoder._decode
    - botocore.paginate.TokenDecoder._path_set
    - botocore.paginate.PageIterator._parse_starting_token
    - <builtin>.dict
    - next_token.append
    - next_token.get
    - <builtin>.zip
    - token.encode
    - next_token.items
    - botocore.paginate.PageIterator._convert_deprecated_starting_token
    - decoded_token.pop
    - encoded.encode
    - <builtin>.range
    - <builtin>.int
    - base64.b64decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - current_kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 356
    functionName: botocore.paginate.PageIterator._make_request
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 359
    functionName: botocore.paginate.PageIterator._extract_parsed_response
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 4
    argNames:
    - self
    - parsed
    - primary_result_key
    - starting_truncation
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 391
    functionName: botocore.paginate.PageIterator._handle_first_request
    functionSourceFile: botocore.paginate
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - deprecated_token.append
    - log.debug
    - botocore.paginate.PageIterator._parse_starting_token_deprecated
    - botocore.paginate.TokenDecoder._path_get
    - botocore.paginate.TokenDecoder.decode
    - json.loads
    - parts.pop
    - botocore.paginate.TokenDecoder._decode
    - botocore.paginate.TokenDecoder._path_set
    - botocore.paginate.PageIterator._parse_starting_token
    - primary_result_key.search
    - <builtin>.dict
    - botocore.utils.validate_jmespath_for_set
    - next_token.append
    - next_token.get
    - <builtin>.zip
    - token.encode
    - expression.split
    - botocore.paginate.PageIterator._convert_deprecated_starting_token
    - decoded_token.pop
    - botocore.utils.set_value_from_jmespath
    - encoded.encode
    - <builtin>.range
    - <builtin>.int
    - base64.b64decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 362
    functionName: botocore.paginate.PageIterator._record_non_aggregate_key_values
    functionSourceFile: botocore.paginate
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - expression.search
    - expression.split
    - botocore.utils.validate_jmespath_for_set
    - botocore.utils.set_value_from_jmespath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: primary_result_key.search
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 6
    argNames:
    - self
    - parsed
    - primary_result_key
    - truncate_amount
    - starting_truncation
    - next_token
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 421
    functionName: botocore.paginate.PageIterator._truncate_response
    functionSourceFile: botocore.paginate
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - primary_result_key.search
    - expression.split
    - botocore.utils.validate_jmespath_for_set
    - botocore.utils.set_value_from_jmespath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argNames:
    - self
    - parsed
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 453
    functionName: botocore.paginate.PageIterator._get_next_token
    functionSourceFile: botocore.paginate
    functionUses: 3
    functionsReached:
    - <builtin>.zip
    - output_token.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: next_token.values
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - op_kwargs
    - next_token
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 384
    functionName: botocore.paginate.PageIterator._inject_token_into_kwargs
    functionSourceFile: botocore.paginate
    functionUses: 4
    functionsReached:
    - next_token.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - expression
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 331
    functionName: botocore.paginate.PageIterator.search
    functionSourceFile: botocore.paginate
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - next_token.values
    - <builtin>.isinstance
    - deprecated_token.append
    - log.debug
    - botocore.paginate.PageIterator._parse_starting_token_deprecated
    - botocore.paginate.TokenDecoder._path_get
    - expression.search
    - botocore.paginate.TokenDecoder.decode
    - json.loads
    - <builtin>.all
    - botocore.paginate.PageIterator._inject_starting_params
    - botocore.paginate.PageIterator._inject_token_into_kwargs
    - parts.pop
    - botocore.paginate.TokenDecoder._decode
    - botocore.paginate.TokenDecoder._path_set
    - botocore.paginate.PageIterator._parse_starting_token
    - botocore.paginate.PageIterator.__iter__
    - botocore.paginate.PageIterator._record_non_aggregate_key_values
    - primary_result_key.search
    - botocore.paginate.PageIterator._make_request
    - botocore.utils.validate_jmespath_for_set
    - <builtin>.dict
    - botocore.paginate.PageIterator._get_next_token
    - next_token.append
    - next_token.get
    - <builtin>.zip
    - token.encode
    - botocore.paginate.PageIterator._extract_parsed_response
    - next_token.items
    - output_token.search
    - botocore.paginate.PageIterator._truncate_response
    - expression.split
    - botocore.paginate.PageIterator._convert_deprecated_starting_token
    - decoded_token.pop
    - botocore.utils.set_value_from_jmespath
    - encoded.encode
    - <builtin>.range
    - <builtin>.int
    - jmespath.compile
    - compiled.search
    - base64.b64decode
    - botocore.paginate.PageIterator._handle_first_request
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jmespath.compile
    functionSourceFile: jmespath
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: compiled.search
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: expression.search
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: next_token.items
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.zip
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: output_token.search
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 470
    functionName: botocore.paginate.PageIterator.result_key_iters
    functionSourceFile: botocore.paginate
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.zip
    - botocore.paginate.ResultKeyIterator.__init__
    - itertools.tee
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: itertools.tee
    functionSourceFile: itertools
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - pages_iterator
    - result_key
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 711
    functionName: botocore.paginate.ResultKeyIterator.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 477
    functionName: botocore.paginate.PageIterator.build_full_result
    functionSourceFile: botocore.paginate
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - next_token.values
    - <builtin>.isinstance
    - deprecated_token.append
    - log.debug
    - botocore.paginate.PageIterator._parse_starting_token_deprecated
    - botocore.paginate.TokenDecoder._path_get
    - expression.search
    - botocore.paginate.TokenDecoder.decode
    - json.loads
    - <builtin>.all
    - botocore.paginate.PageIterator._inject_starting_params
    - botocore.paginate.PageIterator._inject_token_into_kwargs
    - parts.pop
    - botocore.paginate.TokenDecoder._decode
    - botocore.paginate.TokenDecoder._path_set
    - botocore.paginate.PageIterator._parse_starting_token
    - botocore.paginate.PageIterator.__iter__
    - botocore.paginate.PageIterator._record_non_aggregate_key_values
    - primary_result_key.search
    - botocore.paginate.PageIterator._make_request
    - <builtin>.dict
    - botocore.utils.validate_jmespath_for_set
    - botocore.paginate.PageIterator._get_next_token
    - existing_value.extend
    - next_token.append
    - next_token.get
    - <builtin>.zip
    - token.encode
    - botocore.paginate.PageIterator._extract_parsed_response
    - next_token.items
    - output_token.search
    - botocore.paginate.PageIterator._truncate_response
    - expression.split
    - botocore.paginate.PageIterator._convert_deprecated_starting_token
    - decoded_token.pop
    - botocore.utils.set_value_from_jmespath
    - encoded.encode
    - botocore.utils.merge_dicts
    - <builtin>.range
    - <builtin>.int
    - base64.b64decode
    - botocore.paginate.PageIterator._handle_first_request
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: existing_value.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: next_token.get
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 542
    functionName: botocore.paginate.PageIterator._parse_starting_token_deprecated
    functionSourceFile: botocore.paginate
    functionUses: 6
    functionsReached:
    - <builtin>.len
    - next_token.append
    - parts.pop
    - deprecated_token.append
    - log.debug
    - <builtin>.zip
    - <builtin>.range
    - <builtin>.int
    - botocore.paginate.PageIterator._convert_deprecated_starting_token
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: log.debug
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parts.pop
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: next_token.append
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - deprecated_token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 572
    functionName: botocore.paginate.PageIterator._convert_deprecated_starting_token
    functionSourceFile: botocore.paginate
    functionUses: 7
    functionsReached:
    - <builtin>.len
    - deprecated_token.append
    - log.debug
    - <builtin>.zip
    - <builtin>.range
    - <builtin>.dict
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: deprecated_token.append
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.dict
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - method
    - pagination_config
    - model
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 594
    functionName: botocore.paginate.Paginator.__init__
    functionSourceFile: botocore.paginate
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - output.append
    - botocore.paginate.Paginator._get_non_aggregate_keys
    - botocore.paginate.Paginator._get_more_results_token
    - keys.append
    - botocore.paginate.Paginator._get_limit_key
    - botocore.paginate.Paginator._get_result_keys
    - jmespath.compile
    - botocore.paginate.Paginator._get_input_tokens
    - config.get
    - botocore.paginate.Paginator._get_output_tokens
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - config
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 617
    functionName: botocore.paginate.Paginator._get_output_tokens
    functionSourceFile: botocore.paginate
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - output.append
    - jmespath.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - config
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 626
    functionName: botocore.paginate.Paginator._get_input_tokens
    functionSourceFile: botocore.paginate
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - config
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 632
    functionName: botocore.paginate.Paginator._get_more_results_token
    functionSourceFile: botocore.paginate
    functionUses: 1
    functionsReached:
    - jmespath.compile
    - config.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - config
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 611
    functionName: botocore.paginate.Paginator._get_non_aggregate_keys
    functionSourceFile: botocore.paginate
    functionUses: 1
    functionsReached:
    - jmespath.compile
    - config.get
    - keys.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - config
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 637
    functionName: botocore.paginate.Paginator._get_result_keys
    functionSourceFile: botocore.paginate
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - config.get
    - jmespath.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - config
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 645
    functionName: botocore.paginate.Paginator._get_limit_key
    functionSourceFile: botocore.paginate
    functionUses: 1
    functionsReached:
    - config.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 608
    functionName: botocore.paginate.Paginator.result_keys
    functionSourceFile: botocore.paginate
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: keys.append
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: output.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 648
    functionName: botocore.paginate.Paginator.paginate
    functionSourceFile: botocore.paginate
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - input_members.get
    - botocore.paginate.PageIterator.__init__
    - pagination_config.get
    - botocore.paginate.Paginator._extract_paging_params
    - kwargs.pop
    - <builtin>.int
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 2
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 671
    functionName: botocore.paginate.Paginator._extract_paging_params
    functionSourceFile: botocore.paginate
    functionUses: 2
    functionsReached:
    - input_members.get
    - <builtin>.isinstance
    - pagination_config.get
    - kwargs.pop
    - <builtin>.int
    - <builtin>.str
    linkageType: pythonLinkage
    raised:
    - PaginationError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pagination_config.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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: input_members.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 715
    functionName: botocore.paginate.ResultKeyIterator.__iter__
    functionSourceFile: botocore.paginate
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.tokens
    functionSourceFile: botocore.tokens
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 36
    functionName: botocore.tokens._utc_now
    functionSourceFile: botocore.tokens
    functionUses: 8
    functionsReached:
    - dateutil.tz.tzutc
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime.datetime.now
    functionSourceFile: datetime
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - session
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 40
    functionName: botocore.tokens.create_token_resolver
    functionSourceFile: botocore.tokens
    functionUses: 41
    functionsReached:
    - botocore.tokens.SSOTokenProvider.__init__
    - botocore.utils.JSONFileCache.__init__
    - botocore.utils.SSOTokenLoader.__init__
    - botocore.tokens.TokenProviderChain.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argNames:
    - self
    - session
    - cache
    - time_fetcher
    - profile_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 186
    functionName: botocore.tokens.SSOTokenProvider.__init__
    functionSourceFile: botocore.tokens
    functionUses: 48
    functionsReached:
    - botocore.utils.JSONFileCache.__init__
    - botocore.utils.SSOTokenLoader.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - providers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 160
    functionName: botocore.tokens.TokenProviderChain.__init__
    functionSourceFile: ''
    functionUses: 42
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 47
    functionName: botocore.tokens._serialize_utc_timestamp
    functionSourceFile: botocore.tokens
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - obj.strftime
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: obj.strftime
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - method
    - refresh_using
    - time_fetcher
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 71
    functionName: botocore.tokens.DeferredRefreshableToken.__init__
    functionSourceFile: botocore.tokens
    functionUses: 1
    functionsReached:
    - threading.Lock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: threading.Lock
    functionSourceFile: threading
    functionUses: 31
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 81
    functionName: botocore.tokens.DeferredRefreshableToken.get_frozen_token
    functionSourceFile: botocore.tokens
    functionUses: 0
    functionsReached:
    - logger.debug
    - dateutil.tz.tzutc
    - botocore.tokens.DeferredRefreshableToken._should_refresh
    - botocore.tokens.SSOTokenProvider._attempt_create_token
    - botocore.tokens.DeferredRefreshableToken._refresh
    - botocore.utils.SSOTokenLoader.__init__
    - botocore.tokens.DeferredRefreshableToken._is_expired
    - typing.NamedTuple.__init__
    - hashlib.sha1
    - botocore.utils.SSOTokenLoader.save_token
    - datetime.timedelta
    - botocore.tokens.SSOTokenProvider._refresh_access_token
    - botocore.tokens._utc_now
    - botocore.utils.SSOTokenLoader._generate_cache_key
    - botocore.tokens.SSOTokenProvider._refresher
    - input_str.encode
    - botocore.tokens.DeferredRefreshableToken._protected_refresh
    - logger.info
    - dateutil.parser.parse
    - typing.NamedTuple.expiration.total_seconds
    - dateutil.parser.parse.total_seconds
    - datetime.datetime.now
    - botocore.compat.total_seconds
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 85
    functionName: botocore.tokens.DeferredRefreshableToken._refresh
    functionSourceFile: botocore.tokens
    functionUses: 1
    functionsReached:
    - logger.debug
    - dateutil.tz.tzutc
    - botocore.tokens.DeferredRefreshableToken._should_refresh
    - botocore.tokens.SSOTokenProvider._attempt_create_token
    - botocore.utils.SSOTokenLoader.__init__
    - botocore.tokens.DeferredRefreshableToken._is_expired
    - typing.NamedTuple.__init__
    - hashlib.sha1
    - botocore.utils.SSOTokenLoader.save_token
    - datetime.timedelta
    - botocore.tokens.SSOTokenProvider._refresh_access_token
    - botocore.tokens._utc_now
    - botocore.utils.SSOTokenLoader._generate_cache_key
    - botocore.tokens.SSOTokenProvider._refresher
    - input_str.encode
    - botocore.tokens.DeferredRefreshableToken._protected_refresh
    - logger.info
    - dateutil.parser.parse
    - typing.NamedTuple.expiration.total_seconds
    - dateutil.parser.parse.total_seconds
    - datetime.datetime.now
    - botocore.compat.total_seconds
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 135
    functionName: botocore.tokens.DeferredRefreshableToken._should_refresh
    functionSourceFile: botocore.tokens
    functionUses: 3
    functionsReached:
    - typing.NamedTuple.expiration.total_seconds
    - dateutil.parser.parse.total_seconds
    - dateutil.tz.tzutc
    - datetime.datetime.now
    - botocore.tokens._utc_now
    - botocore.compat.total_seconds
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 99
    functionName: botocore.tokens.DeferredRefreshableToken._protected_refresh
    functionSourceFile: botocore.tokens
    functionUses: 2
    functionsReached:
    - logger.debug
    - dateutil.tz.tzutc
    - botocore.tokens.DeferredRefreshableToken._should_refresh
    - botocore.tokens.SSOTokenProvider._attempt_create_token
    - botocore.utils.SSOTokenLoader.__init__
    - botocore.tokens.DeferredRefreshableToken._is_expired
    - typing.NamedTuple.__init__
    - hashlib.sha1
    - botocore.utils.SSOTokenLoader.save_token
    - datetime.timedelta
    - botocore.tokens.SSOTokenProvider._refresh_access_token
    - botocore.tokens._utc_now
    - botocore.utils.SSOTokenLoader._generate_cache_key
    - botocore.tokens.SSOTokenProvider._refresher
    - input_str.encode
    - logger.info
    - dateutil.parser.parse
    - typing.NamedTuple.expiration.total_seconds
    - dateutil.parser.parse.total_seconds
    - datetime.datetime.now
    - botocore.compat.total_seconds
    - logger.warning
    linkageType: pythonLinkage
    raised:
    - TokenRetrievalError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 302
    functionName: botocore.tokens.SSOTokenProvider._refresher
    functionSourceFile: botocore.tokens
    functionUses: 3
    functionsReached:
    - logger.debug
    - dateutil.tz.tzutc
    - botocore.tokens.SSOTokenProvider._attempt_create_token
    - botocore.utils.SSOTokenLoader.__init__
    - typing.NamedTuple.__init__
    - hashlib.sha1
    - botocore.utils.SSOTokenLoader.save_token
    - botocore.tokens.SSOTokenProvider._refresh_access_token
    - datetime.timedelta
    - botocore.tokens._utc_now
    - botocore.utils.SSOTokenLoader._generate_cache_key
    - input_str.encode
    - logger.info
    - dateutil.parser.parse
    - typing.NamedTuple.expiration.total_seconds
    - dateutil.parser.parse.total_seconds
    - datetime.datetime.now
    - botocore.compat.total_seconds
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 127
    functionName: botocore.tokens.DeferredRefreshableToken._is_expired
    functionSourceFile: botocore.tokens
    functionUses: 3
    functionsReached:
    - typing.NamedTuple.expiration.total_seconds
    - dateutil.parser.parse.total_seconds
    - dateutil.tz.tzutc
    - datetime.datetime.now
    - botocore.tokens._utc_now
    - botocore.compat.total_seconds
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 165
    functionName: botocore.tokens.TokenProviderChain.load_token
    functionSourceFile: botocore.tokens
    functionUses: 0
    functionsReached:
    - provider.load_token
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: provider.load_token
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.tokens.SSOTokenProvider
    functionSourceFile: botocore.tokens
    functionUses: 0
    functionsReached:
    - os.path.join
    - botocore.utils.CachedProperty
    - os.path.expanduser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 204
    functionName: botocore.tokens.SSOTokenProvider._load_sso_config
    functionSourceFile: botocore.tokens
    functionUses: 1
    functionsReached:
    - sso_sessions.get
    - profiles.get
    - missing_configs.append
    - loaded_config.get
    linkageType: pythonLinkage
    raised:
    - InvalidConfigError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loaded_config.get
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: profiles.get
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sso_sessions.get
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: missing_configs.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 244
    functionName: botocore.tokens.SSOTokenProvider._sso_config
    functionSourceFile: botocore.tokens
    functionUses: 0
    functionsReached:
    - botocore.tokens.SSOTokenProvider._load_sso_config
    - loaded_config.get
    - profiles.get
    - sso_sessions.get
    - missing_configs.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 248
    functionName: botocore.tokens.SSOTokenProvider._client
    functionSourceFile: botocore.tokens
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - copy.copy
    - s3.get
    - botocore.config.Config._validate_s3_configuration
    - botocore.config.Config.__init__
    - botocore.config.Config._record_user_provided_options
    - botocore.config.Config._validate_retry_configuration
    - retries.items
    - <builtin>.enumerate
    - <builtin>.list
    - <builtin>.setattr
    - config_vars.items
    - config_vars.update
    - kwargs.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 222
    functionName: botocore.config.Config.__init__
    functionSourceFile: botocore.config
    functionUses: 19
    functionsReached:
    - <builtin>.len
    - copy.copy
    - s3.get
    - botocore.config.Config._validate_s3_configuration
    - botocore.config.Config._record_user_provided_options
    - botocore.config.Config._validate_retry_configuration
    - retries.items
    - <builtin>.enumerate
    - <builtin>.list
    - <builtin>.setattr
    - config_vars.items
    - config_vars.update
    - kwargs.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 255
    functionName: botocore.tokens.SSOTokenProvider._attempt_create_token
    functionSourceFile: botocore.tokens
    functionUses: 5
    functionsReached:
    - dateutil.tz.tzutc
    - datetime.timedelta
    - datetime.datetime.now
    - botocore.tokens._utc_now
    - logger.info
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 278
    functionName: botocore.tokens.SSOTokenProvider._refresh_access_token
    functionSourceFile: botocore.tokens
    functionUses: 4
    functionsReached:
    - dateutil.parser.parse
    - dateutil.tz.tzutc
    - dateutil.parser.parse.total_seconds
    - typing.NamedTuple.expiration.total_seconds
    - botocore.tokens.SSOTokenProvider._attempt_create_token
    - datetime.timedelta
    - datetime.datetime.now
    - botocore.tokens._utc_now
    - botocore.compat.total_seconds
    - logger.info
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 324
    functionName: botocore.tokens.SSOTokenProvider.load_token
    functionSourceFile: botocore.tokens
    functionUses: 0
    functionsReached:
    - threading.Lock
    - botocore.tokens.DeferredRefreshableToken.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.config
    functionSourceFile: botocore.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.config.Config
    functionSourceFile: botocore.config
    functionUses: 0
    functionsReached:
    - collections.OrderedDict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 245
    functionName: botocore.config.Config._record_user_provided_options
    functionSourceFile: botocore.config
    functionUses: 20
    functionsReached:
    - <builtin>.len
    - kwargs.items
    - <builtin>.enumerate
    - <builtin>.list
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config_vars.update
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config_vars.items
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - s3
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 277
    functionName: botocore.config.Config._validate_s3_configuration
    functionSourceFile: botocore.config
    functionUses: 20
    functionsReached:
    - s3.get
    linkageType: pythonLinkage
    raised:
    - InvalidS3AddressingStyleError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 2
    argNames:
    - self
    - retries
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 285
    functionName: botocore.config.Config._validate_retry_configuration
    functionSourceFile: botocore.config
    functionUses: 20
    functionsReached:
    - retries.items
    linkageType: pythonLinkage
    raised:
    - InvalidMaxRetryAttemptsError
    - InvalidRetryModeError
    - InvalidRetryConfigurationError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s3.get
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: retries.items
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - other_config
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 311
    functionName: botocore.config.Config.merge
    functionSourceFile: botocore.config
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - copy.copy
    - config_options.update
    - s3.get
    - botocore.config.Config._validate_s3_configuration
    - botocore.config.Config.__init__
    - botocore.config.Config._record_user_provided_options
    - botocore.config.Config._validate_retry_configuration
    - retries.items
    - <builtin>.enumerate
    - <builtin>.list
    - <builtin>.setattr
    - config_vars.items
    - config_vars.update
    - kwargs.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config_options.update
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: botocore.endpoint
    functionSourceFile: botocore.endpoint
    functionUses: 0
    functionsReached:
    - botocore.history.HistoryRecorder.__init__
    - logging.getLogger
    - botocore.history.get_global_history_recorder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 51
    functionName: botocore.history.get_global_history_recorder
    functionSourceFile: botocore.history
    functionUses: 2
    functionsReached:
    - botocore.history.HistoryRecorder.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argNames:
    - http_response
    - operation_model
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 42
    functionName: botocore.endpoint.convert_to_response_dict
    functionSourceFile: botocore.endpoint
    functionUses: 4
    functionsReached:
    - botocore.response.StreamingBody.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - raw_stream
    - content_length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 53
    functionName: botocore.response.StreamingBody.__init__
    functionSourceFile: ''
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 6
    argNames:
    - self
    - host
    - endpoint_prefix
    - event_emitter
    - response_parser_factory
    - http_session
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 88
    functionName: botocore.endpoint.Endpoint.__init__
    functionSourceFile: botocore.endpoint
    functionUses: 4
    functionsReached:
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - os.environ.get
    - <builtin>.isinstance
    - <builtin>.getattr
    - pool_manager_kwargs.update
    - urllib3.PoolManager
    - <builtin>.hasattr
    - urllib3.util.ssl_.SSLContext
    - threading.Lock
    - botocore.parsers.ResponseParserFactory.__init__
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.httpsession.create_urllib3_context
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib3.Timeout
    - botocore.httpsession.URLLib3Session.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 138
    functionName: botocore.parsers.ResponseParserFactory.__init__
    functionSourceFile: ''
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 107
    functionName: botocore.endpoint.Endpoint.__repr__
    functionSourceFile: botocore.endpoint
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 110
    functionName: botocore.endpoint.Endpoint.close
    functionSourceFile: botocore.endpoint
    functionUses: 0
    functionsReached:
    - botocore.httpsession.URLLib3Session.close
    - manager.clear
    - urllib3.PoolManager.clear
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - operation_model
    - request_dict
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 113
    functionName: botocore.endpoint.Endpoint.make_request
    functionSourceFile: botocore.endpoint
    functionUses: 0
    functionsReached:
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - io.BytesIO.lower
    - original.params.items
    - botocore.history.HistoryRecorder.record
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - botocore.endpoint.Endpoint._calculate_ttl
    - botocore.endpoint.Endpoint._send
    - uuid.uuid4
    - time.sleep
    - io.BytesIO.tell
    - botocore.hooks.first_non_none_response
    - conn.urlopen
    - base64.b64encode
    - url.startswith
    - _CHECKSUM_CLS.get
    - <builtin>.list
    - value.encode
    - r.get
    - parser.parse
    - botocore.httpsession.URLLib3Session._get_request_target
    - <builtin>.hasattr
    - botocore.awsrequest.AWSPreparedRequest.reset_stream
    - retries_context.get
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - <builtin>.str
    - ttl.strftime
    - datetime.datetime.utcnow
    - context.get
    - parsed_response.update
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - botocore.endpoint.Endpoint._get_response
    - logger.debug
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - checksum_context.get
    - headers.items
    - proxy_manager_kwargs.update
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - botocore.endpoint.Endpoint._encode_headers
    - os.environ.get
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.httpchecksum.StreamingChecksumBody.__init__
    - botocore.httpsession.URLLib3Session._chunked
    - <builtin>.super
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.httpchecksum.handle_checksum_body
    - <builtin>.bool
    - io.BytesIO.encode
    - botocore.endpoint.Endpoint._do_get_response
    - headers.get
    - botocore.httpsession.URLLib3Session._path_url
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - botocore.httpchecksum._handle_streaming_response
    - handler.emit
    - botocore.awsrequest.AWSRequest.prepare
    - botocore.endpoint.convert_to_response_dict
    - botocore.endpoint.Endpoint.prepare_request
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - <builtin>.getattr
    - botocore.endpoint.Endpoint._send_request
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.endpoint.Endpoint._set_ttl
    - botocore.parsers.ResponseParserFactory.create_parser
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - botocore.endpoint.Endpoint._add_modeled_error_fields
    - service_model.shape_for_error_code
    - urllib3.proxy_from_url
    - logger.info
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - checksum.b64digest
    - botocore.awsrequest.HeadersDict.__init__
    - io.BytesIO.seek
    - botocore.endpoint.Endpoint._needs_retry
    - checksum.digest
    - context.setdefault
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - urllib.parse.urlencode.seek
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - checksum.update
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - delim.join
    - botocore.compat.ensure_bytes
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - datetime.timedelta
    - urllib3.util.url.parse_url
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - urllib.parse.urlencode.items
    - botocore.awsrequest.create_request_object
    - datetime.datetime.strptime
    - botocore.endpoint.Endpoint._update_retries_context
    - botocore.httpsession._is_ipaddress
    - parsed_response.get
    - botocore.httpchecksum._handle_bytes_response
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - operation_model.service_model.service_id.hyphenize
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - botocore.response.StreamingBody.__init__
    - <builtin>.any
    - base64.b64decode
    - response_dict.copy
    - botocore.endpoint.Endpoint.create_request
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - request_dict
    - operation_model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 194
    functionName: botocore.endpoint.Endpoint._send_request
    functionSourceFile: botocore.endpoint
    functionUses: 1
    functionsReached:
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - io.BytesIO.lower
    - original.params.items
    - botocore.history.HistoryRecorder.record
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - botocore.endpoint.Endpoint._calculate_ttl
    - botocore.endpoint.Endpoint._send
    - uuid.uuid4
    - time.sleep
    - io.BytesIO.tell
    - botocore.hooks.first_non_none_response
    - conn.urlopen
    - base64.b64encode
    - url.startswith
    - _CHECKSUM_CLS.get
    - <builtin>.list
    - value.encode
    - r.get
    - parser.parse
    - botocore.httpsession.URLLib3Session._get_request_target
    - <builtin>.hasattr
    - botocore.awsrequest.AWSPreparedRequest.reset_stream
    - retries_context.get
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - <builtin>.str
    - ttl.strftime
    - datetime.datetime.utcnow
    - context.get
    - parsed_response.update
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - botocore.endpoint.Endpoint._get_response
    - logger.debug
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - checksum_context.get
    - headers.items
    - proxy_manager_kwargs.update
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - botocore.endpoint.Endpoint._encode_headers
    - os.environ.get
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.httpchecksum.StreamingChecksumBody.__init__
    - botocore.httpsession.URLLib3Session._chunked
    - <builtin>.super
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.httpchecksum.handle_checksum_body
    - <builtin>.bool
    - io.BytesIO.encode
    - botocore.endpoint.Endpoint._do_get_response
    - headers.get
    - botocore.httpsession.URLLib3Session._path_url
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - botocore.httpchecksum._handle_streaming_response
    - handler.emit
    - botocore.awsrequest.AWSRequest.prepare
    - botocore.endpoint.convert_to_response_dict
    - botocore.endpoint.Endpoint.prepare_request
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.endpoint.Endpoint._set_ttl
    - botocore.parsers.ResponseParserFactory.create_parser
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - botocore.endpoint.Endpoint._add_modeled_error_fields
    - service_model.shape_for_error_code
    - urllib3.proxy_from_url
    - logger.info
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - checksum.b64digest
    - botocore.awsrequest.HeadersDict.__init__
    - io.BytesIO.seek
    - botocore.endpoint.Endpoint._needs_retry
    - checksum.digest
    - context.setdefault
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - urllib.parse.urlencode.seek
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - checksum.update
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - delim.join
    - botocore.compat.ensure_bytes
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - datetime.timedelta
    - urllib3.util.url.parse_url
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - urllib.parse.urlencode.items
    - botocore.awsrequest.create_request_object
    - datetime.datetime.strptime
    - botocore.endpoint.Endpoint._update_retries_context
    - botocore.httpsession._is_ipaddress
    - parsed_response.get
    - botocore.httpchecksum._handle_bytes_response
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - operation_model.service_model.service_id.hyphenize
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - botocore.response.StreamingBody.__init__
    - <builtin>.any
    - base64.b64decode
    - response_dict.copy
    - botocore.endpoint.Endpoint.create_request
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - params
    - operation_model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 121
    functionName: botocore.endpoint.Endpoint.create_request
    functionSourceFile: botocore.endpoint
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - botocore.awsrequest.HeadersDict.__init__
    - <builtin>.isinstance
    - logger.debug
    - io.BytesIO.seek
    - http.client.HTTPMessage.items
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - headers.items
    - original.params.items
    - botocore.awsrequest.AWSRequest.prepare
    - key.encode
    - botocore.endpoint.Endpoint.prepare_request
    - botocore.endpoint.Endpoint._encode_headers
    - http.client.HTTPMessage.__init__
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - delim.join
    - <builtin>.type
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - io.BytesIO.tell
    - <builtin>.list
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - value.encode
    - botocore.awsrequest.AWSRequest.__init__
    - r.get
    - urllib.parse.urlencode.items
    - botocore.awsrequest.create_request_object
    - <builtin>.hasattr
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - <builtin>.str
    - operation_model.service_model.service_id.hyphenize
    - urllib.parse.urlencode
    - <builtin>.any
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operation_model.service_model.service_id.hyphenize
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 148
    functionName: botocore.endpoint.Endpoint.prepare_request
    functionSourceFile: botocore.endpoint
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - botocore.awsrequest.HeadersDict.__init__
    - <builtin>.isinstance
    - logger.debug
    - io.BytesIO.seek
    - http.client.HTTPMessage.items
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - original.params.items
    - botocore.awsrequest.AWSRequest.prepare
    - key.encode
    - botocore.endpoint.Endpoint._encode_headers
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - delim.join
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - <builtin>.type
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - io.BytesIO.tell
    - <builtin>.list
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - value.encode
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - urllib.parse.urlencode.items
    - <builtin>.hasattr
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - <builtin>.str
    - urllib.parse.urlencode
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 142
    functionName: botocore.endpoint.Endpoint._encode_headers
    functionSourceFile: botocore.endpoint
    functionUses: 4
    functionsReached:
    - value.encode
    - <builtin>.isinstance
    - http.client.HTTPMessage.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - response_received_timestamp
    - date_header
    - read_timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 152
    functionName: botocore.endpoint.Endpoint._calculate_ttl
    functionSourceFile: botocore.endpoint
    functionUses: 4
    functionsReached:
    - datetime.datetime.utcnow
    - ttl.strftime
    - datetime.timedelta
    - datetime.datetime.strptime
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ttl.strftime
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - retries_context
    - read_timeout
    - success_response
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 167
    functionName: botocore.endpoint.Endpoint._set_ttl
    functionSourceFile: botocore.endpoint
    functionUses: 3
    functionsReached:
    - logger.debug
    - ttl.strftime
    - datetime.datetime.strptime
    - datetime.datetime.utcnow
    - datetime.timedelta
    - retries_context.get
    - botocore.endpoint.Endpoint._calculate_ttl
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: retries_context.get
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argNames:
    - self
    - context
    - attempt
    - success_response
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 184
    functionName: botocore.endpoint.Endpoint._update_retries_context
    functionSourceFile: botocore.endpoint
    functionUses: 2
    functionsReached:
    - logger.debug
    - ttl.strftime
    - uuid.uuid4
    - datetime.datetime.strptime
    - datetime.datetime.utcnow
    - datetime.timedelta
    - context.setdefault
    - retries_context.get
    - botocore.endpoint.Endpoint._set_ttl
    - botocore.endpoint.Endpoint._calculate_ttl
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: context.setdefault
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: uuid.uuid4
    functionSourceFile: uuid
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - request
    - operation_model
    - context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 235
    functionName: botocore.endpoint.Endpoint._get_response
    functionSourceFile: botocore.endpoint
    functionUses: 2
    functionsReached:
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - io.BytesIO.lower
    - botocore.history.HistoryRecorder.record
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - botocore.endpoint.Endpoint._send
    - botocore.hooks.first_non_none_response
    - conn.urlopen
    - base64.b64encode
    - url.startswith
    - _CHECKSUM_CLS.get
    - parser.parse
    - botocore.httpsession.URLLib3Session._get_request_target
    - <builtin>.hasattr
    - context.get
    - parsed_response.update
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - logger.debug
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - checksum_context.get
    - proxy_manager_kwargs.update
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - os.environ.get
    - botocore.httpsession.get_cert_path
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.httpchecksum.StreamingChecksumBody.__init__
    - botocore.httpsession.URLLib3Session._chunked
    - <builtin>.super
    - botocore.httpchecksum.handle_checksum_body
    - <builtin>.bool
    - io.BytesIO.encode
    - botocore.endpoint.Endpoint._do_get_response
    - headers.get
    - botocore.httpsession.URLLib3Session._path_url
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - botocore.httpchecksum._handle_streaming_response
    - handler.emit
    - botocore.endpoint.convert_to_response_dict
    - <builtin>.getattr
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.parsers.ResponseParserFactory.create_parser
    - auth_str.encode
    - botocore.endpoint.Endpoint._add_modeled_error_fields
    - service_model.shape_for_error_code
    - urllib3.proxy_from_url
    - logger.info
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - checksum.b64digest
    - urllib.parse.urlparse
    - checksum.digest
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - checksum.update
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - val.lower
    - botocore.compat.ensure_bytes
    - urllib3.util.url.parse_url
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.httpsession._is_ipaddress
    - parsed_response.get
    - botocore.httpchecksum._handle_bytes_response
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - operation_model.service_model.service_id.hyphenize
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - botocore.response.StreamingBody.__init__
    - base64.b64decode
    - response_dict.copy
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 6
    argNames:
    - self
    - attempts
    - operation_model
    - request_dict
    - response
    - caught_exception
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 344
    functionName: botocore.endpoint.Endpoint._needs_retry
    functionSourceFile: botocore.endpoint
    functionUses: 2
    functionsReached:
    - time.sleep
    - logger.debug
    - botocore.hooks.first_non_none_response
    - operation_model.service_model.service_id.hyphenize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    IfCount: 2
    argCount: 4
    argNames:
    - self
    - request
    - operation_model
    - context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 263
    functionName: botocore.endpoint.Endpoint._do_get_response
    functionSourceFile: botocore.endpoint
    functionUses: 3
    functionsReached:
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - io.BytesIO.lower
    - botocore.history.HistoryRecorder.record
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - botocore.endpoint.Endpoint._send
    - botocore.hooks.first_non_none_response
    - conn.urlopen
    - base64.b64encode
    - url.startswith
    - _CHECKSUM_CLS.get
    - parser.parse
    - botocore.httpsession.URLLib3Session._get_request_target
    - <builtin>.hasattr
    - context.get
    - parsed_response.update
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - logger.debug
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - checksum_context.get
    - proxy_manager_kwargs.update
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - os.environ.get
    - botocore.httpsession.get_cert_path
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.httpchecksum.StreamingChecksumBody.__init__
    - botocore.httpsession.URLLib3Session._chunked
    - <builtin>.super
    - botocore.httpchecksum.handle_checksum_body
    - <builtin>.bool
    - io.BytesIO.encode
    - headers.get
    - botocore.httpsession.URLLib3Session._path_url
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - botocore.httpchecksum._handle_streaming_response
    - handler.emit
    - botocore.endpoint.convert_to_response_dict
    - <builtin>.getattr
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.parsers.ResponseParserFactory.create_parser
    - auth_str.encode
    - botocore.endpoint.Endpoint._add_modeled_error_fields
    - service_model.shape_for_error_code
    - urllib3.proxy_from_url
    - logger.info
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - checksum.b64digest
    - urllib.parse.urlparse
    - checksum.digest
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - checksum.update
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - val.lower
    - botocore.compat.ensure_bytes
    - urllib3.util.url.parse_url
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.httpsession._is_ipaddress
    - parsed_response.get
    - botocore.httpchecksum._handle_bytes_response
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - operation_model.service_model.service_id.hyphenize
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - botocore.response.StreamingBody.__init__
    - response_dict.copy
    - base64.b64decode
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - event_type
    - payload
    - source
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: botocore.history.HistoryRecorder.record
    functionSourceFile: botocore.history
    functionUses: 5
    functionsReached:
    - handler.emit
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - responses
    - default
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 38
    functionName: botocore.hooks.first_non_none_response
    functionSourceFile: ''
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 376
    functionName: botocore.endpoint.Endpoint._send
    functionSourceFile: botocore.endpoint
    functionUses: 4
    functionsReached:
    - urllib3.PoolManager.connection_from_url
    - logger.debug
    - <builtin>.isinstance
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - io.BytesIO.lower
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - proxy_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - os.environ.get
    - val.lower
    - <builtin>.getattr
    - botocore.compat.ensure_bytes
    - botocore.httpsession.get_cert_path
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - urllib3.util.url.parse_url
    - IPV6_ADDRZ_RE.match
    - conn.urlopen
    - base64.b64encode
    - url.startswith
    - botocore.httpsession.create_urllib3_context
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - auth_str.encode
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.httpsession.URLLib3Session._get_request_target
    - botocore.httpsession.URLLib3Session._chunked
    - <builtin>.hasattr
    - botocore.httpsession._is_ipaddress
    - <builtin>.bool
    - urllib3.proxy_from_url
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - urllib.parse.urlparse
    - io.BytesIO.encode
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.URLLib3Session._path_url
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - headers.get
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 4
    argNames:
    - http_response
    - response
    - context
    - operation_model
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 382
    functionName: botocore.httpchecksum.handle_checksum_body
    functionSourceFile: botocore.httpchecksum
    functionUses: 4
    functionsReached:
    - botocore.httpchecksum._handle_streaming_response
    - checksum.digest
    - checksum_context.get
    - <builtin>.super
    - botocore.httpchecksum.StreamingChecksumBody.__init__
    - _CHECKSUM_CLS.get
    - context.get
    - base64.b64decode
    - botocore.httpchecksum._handle_bytes_response
    - checksum.update
    - logger.info
    - checksum.b64digest
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: response_dict.copy
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - protocol_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 153
    functionName: botocore.parsers.ResponseParserFactory.create_parser
    functionSourceFile: ''
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.parse
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 5
    argNames:
    - self
    - response_dict
    - parsed_response
    - operation_model
    - parser
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 326
    functionName: botocore.endpoint.Endpoint._add_modeled_error_fields
    functionSourceFile: botocore.endpoint
    functionUses: 4
    functionsReached:
    - parsed_response.get
    - parser.parse
    - service_model.shape_for_error_code
    - parsed_response.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parsed_response.get
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: service_model.shape_for_error_code
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parsed_response.update
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.sleep
    functionSourceFile: time
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - event_emitter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 381
    functionName: botocore.endpoint.EndpointCreator.__init__
    functionSourceFile: botocore.endpoint
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 13
    argNames:
    - self
    - service_model
    - region_name
    - endpoint_url
    - verify
    - response_parser_factory
    - timeout
    - max_pool_connections
    - http_session_cls
    - proxies
    - socket_options
    - client_cert
    - proxies_config
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 384
    functionName: botocore.endpoint.EndpointCreator.create_endpoint
    functionSourceFile: botocore.endpoint
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - logger.debug
    - <builtin>.isinstance
    - urllib3.PoolManager
    - UNSAFE_URL_CHARS.intersection
    - urllib3.util.ssl_.SSLContext
    - botocore.httpsession.URLLib3Session.__init__
    - botocore.utils.should_bypass_proxies
    - os.environ.get
    - allowed.match
    - <builtin>.getattr
    - urllib.request.getproxies
    - threading.Lock
    - botocore.parsers.ResponseParserFactory.__init__
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - IPV6_ADDRZ_RE.match
    - re.compile
    - botocore.endpoint.Endpoint.__init__
    - botocore.httpsession.create_urllib3_context
    - urllib3.Timeout
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.utils.get_environ_proxies
    - <builtin>.hasattr
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.endpoint.EndpointCreator._get_proxies
    - urllib.request.proxy_bypass
    - botocore.utils.is_valid_endpoint_url
    - botocore.endpoint.EndpointCreator._get_verify_value
    - urllib.parse.urlsplit
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - url
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 427
    functionName: botocore.endpoint.EndpointCreator._get_proxies
    functionSourceFile: botocore.endpoint
    functionUses: 4
    functionsReached:
    - botocore.utils.get_environ_proxies
    - urllib.request.getproxies
    - urllib.request.proxy_bypass
    - urllib.parse.urlparse
    - botocore.utils.should_bypass_proxies
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - verify
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 432
    functionName: botocore.endpoint.EndpointCreator._get_verify_value
    functionSourceFile: botocore.endpoint
    functionUses: 4
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.httpchecksum
    functionSourceFile: botocore.httpchecksum
    functionUses: 0
    functionsReached:
    - _CHECKSUM_CLS.update
    - _CHECKSUM_CLS.keys
    - logging.getLogger
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - chunk
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 46
    functionName: botocore.httpchecksum.BaseChecksum.update
    functionSourceFile: botocore.httpchecksum
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 49
    functionName: botocore.httpchecksum.BaseChecksum.digest
    functionSourceFile: botocore.httpchecksum
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 52
    functionName: botocore.httpchecksum.BaseChecksum.b64digest
    functionSourceFile: botocore.httpchecksum
    functionUses: 1
    functionsReached:
    - base64.b64encode
    - botocore.httpchecksum.BaseChecksum.digest
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - fileobj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 56
    functionName: botocore.httpchecksum.BaseChecksum._handle_fileobj
    functionSourceFile: botocore.httpchecksum
    functionUses: 1
    functionsReached:
    - fileobj.tell
    - fileobj.seek
    - <builtin>.iter
    - botocore.httpchecksum.BaseChecksum.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.httpchecksum.BaseChecksum._handle_fileobj.<lambda1>
    functionSourceFile: botocore.httpchecksum
    functionUses: 0
    functionsReached:
    - fileobj.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fileobj.read
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fileobj.seek
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - body
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 62
    functionName: botocore.httpchecksum.BaseChecksum.handle
    functionSourceFile: botocore.httpchecksum
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - fileobj.seek
    - <builtin>.iter
    - botocore.httpchecksum.BaseChecksum.update
    - botocore.httpchecksum.BaseChecksum.b64digest
    - fileobj.tell
    - base64.b64encode
    - botocore.httpchecksum.BaseChecksum.digest
    - botocore.httpchecksum.BaseChecksum._handle_fileobj
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 71
    functionName: botocore.httpchecksum.Crc32Checksum.__init__
    functionSourceFile: botocore.httpchecksum
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - chunk
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 74
    functionName: botocore.httpchecksum.Crc32Checksum.update
    functionSourceFile: botocore.httpchecksum
    functionUses: 0
    functionsReached:
    - binascii.crc32
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 77
    functionName: botocore.httpchecksum.Crc32Checksum.digest
    functionSourceFile: botocore.httpchecksum
    functionUses: 0
    functionsReached:
    - binascii.crc32.to_bytes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: binascii.crc32.to_bytes
    functionSourceFile: binascii
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 83
    functionName: botocore.httpchecksum.CrtCrc32Checksum.__init__
    functionSourceFile: botocore.httpchecksum
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - chunk
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 86
    functionName: botocore.httpchecksum.CrtCrc32Checksum.update
    functionSourceFile: botocore.httpchecksum
    functionUses: 0
    functionsReached:
    - awscrt.checksums.crc32
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: awscrt.checksums.crc32
    functionSourceFile: awscrt
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 90
    functionName: botocore.httpchecksum.CrtCrc32Checksum.digest
    functionSourceFile: botocore.httpchecksum
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 96
    functionName: botocore.httpchecksum.CrtCrc32cChecksum.__init__
    functionSourceFile: botocore.httpchecksum
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - chunk
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 99
    functionName: botocore.httpchecksum.CrtCrc32cChecksum.update
    functionSourceFile: botocore.httpchecksum
    functionUses: 0
    functionsReached:
    - awscrt.checksums.crc32c
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: awscrt.checksums.crc32c
    functionSourceFile: awscrt
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 103
    functionName: botocore.httpchecksum.CrtCrc32cChecksum.digest
    functionSourceFile: botocore.httpchecksum
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 108
    functionName: botocore.httpchecksum.Sha1Checksum.__init__
    functionSourceFile: botocore.httpchecksum
    functionUses: 0
    functionsReached:
    - hashlib.sha1
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - chunk
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 111
    functionName: botocore.httpchecksum.Sha1Checksum.update
    functionSourceFile: botocore.httpchecksum
    functionUses: 0
    functionsReached:
    - hashlib.sha1.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hashlib.sha1.update
    functionSourceFile: hashlib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 114
    functionName: botocore.httpchecksum.Sha1Checksum.digest
    functionSourceFile: botocore.httpchecksum
    functionUses: 0
    functionsReached:
    - hashlib.sha1.digest
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hashlib.sha1.digest
    functionSourceFile: hashlib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 119
    functionName: botocore.httpchecksum.Sha256Checksum.__init__
    functionSourceFile: botocore.httpchecksum
    functionUses: 0
    functionsReached:
    - hashlib.sha256
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - chunk
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 122
    functionName: botocore.httpchecksum.Sha256Checksum.update
    functionSourceFile: botocore.httpchecksum
    functionUses: 0
    functionsReached:
    - hashlib.sha256.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hashlib.sha256.update
    functionSourceFile: hashlib
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 125
    functionName: botocore.httpchecksum.Sha256Checksum.digest
    functionSourceFile: botocore.httpchecksum
    functionUses: 0
    functionsReached:
    - hashlib.sha256.digest
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hashlib.sha256.digest
    functionSourceFile: hashlib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argNames:
    - self
    - raw
    - checksum_cls
    - checksum_name
    - chunk_size
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 132
    functionName: botocore.httpchecksum.AwsChunkedWrapper.__init__
    functionSourceFile: botocore.httpchecksum
    functionUses: 3
    functionsReached:
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 148
    functionName: botocore.httpchecksum.AwsChunkedWrapper._reset
    functionSourceFile: ''
    functionUses: 42
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 188
    functionName: botocore.httpchecksum.AwsChunkedWrapper._make_chunk
    functionSourceFile: botocore.httpchecksum
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - <builtin>.hex
    - botocore.httpchecksum.AwsChunkedWrapper._make_chunk
    - botocore.httpchecksum.AwsChunkedWrapper.read
    - io.BytesIO.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.hex
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 206
    functionName: botocore.httpchecksum.AwsChunkedWrapper.__iter__
    functionSourceFile: botocore.httpchecksum
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.hex
    - botocore.httpchecksum.AwsChunkedWrapper._make_chunk
    - botocore.httpchecksum.AwsChunkedWrapper.read
    - io.BytesIO.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - raw_stream
    - content_length
    - checksum
    - expected
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 212
    functionName: botocore.httpchecksum.StreamingChecksumBody.__init__
    functionSourceFile: botocore.httpchecksum
    functionUses: 6
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - amt
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 217
    functionName: botocore.httpchecksum.StreamingChecksumBody.read
    functionSourceFile: botocore.httpchecksum
    functionUses: 4
    functionsReached:
    - <builtin>.super
    - base64.b64decode
    - botocore.httpchecksum.StreamingChecksumBody._validate_checksum
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 224
    functionName: botocore.httpchecksum.StreamingChecksumBody._validate_checksum
    functionSourceFile: botocore.httpchecksum
    functionUses: 5
    functionsReached:
    - base64.b64decode
    linkageType: pythonLinkage
    raised:
    - FlexibleChecksumError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argNames:
    - request
    - operation_model
    - params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 233
    functionName: botocore.httpchecksum.resolve_checksum_context
    functionSourceFile: botocore.httpchecksum
    functionUses: 1
    functionsReached:
    - a.lower
    - usable_algorithms.append
    - botocore.httpchecksum.resolve_request_checksum_algorithm
    - botocore.httpchecksum.resolve_response_checksum_algorithms
    - http_checksum.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 0
    IfCount: 7
    argCount: 4
    argNames:
    - request
    - operation_model
    - params
    - supported_algorithms
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 238
    functionName: botocore.httpchecksum.resolve_request_checksum_algorithm
    functionSourceFile: botocore.httpchecksum
    functionUses: 2
    functionsReached:
    - http_checksum.get
    linkageType: pythonLinkage
    raised:
    - FlexibleChecksumError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 4
    argNames:
    - request
    - operation_model
    - params
    - supported_algorithms
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 358
    functionName: botocore.httpchecksum.resolve_response_checksum_algorithms
    functionSourceFile: botocore.httpchecksum
    functionUses: 2
    functionsReached:
    - a.lower
    - usable_algorithms.append
    - http_checksum.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http_checksum.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 288
    functionName: botocore.httpchecksum.apply_request_checksum
    functionSourceFile: botocore.httpchecksum
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - io.BytesIO.seek
    - <builtin>.isinstance
    - botocore.utils.calculate_md5
    - botocore.utils._calculate_md5_from_file
    - checksum_context.get
    - botocore.utils.determine_content_length
    - CHECKSUM_HEADER_PATTERN.match
    - request.get
    - fileobj.tell
    - botocore.httpchecksum._apply_request_trailer_checksum
    - botocore.compat.get_md5
    - io.BytesIO.tell
    - md5.update
    - botocore.utils._calculate_md5_from_bytes
    - botocore.httpchecksum._apply_request_header_checksum
    - base64.b64encode
    - _CHECKSUM_CLS.get
    - params.get
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.utils.conditionally_calculate_md5
    - <builtin>.iter
    - <builtin>.hasattr
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.httpchecksum.AwsChunkedWrapper.__init__
    - <builtin>.str
    - hashlib.md5
    - io.BytesIO
    - md5.digest
    linkageType: pythonLinkage
    raised:
    - FlexibleChecksumError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - request
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 308
    functionName: botocore.httpchecksum._apply_request_header_checksum
    functionSourceFile: botocore.httpchecksum
    functionUses: 2
    functionsReached:
    - request.get
    - checksum_context.get
    - _CHECKSUM_CLS.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 320
    functionName: botocore.httpchecksum._apply_request_trailer_checksum
    functionSourceFile: botocore.httpchecksum
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - io.BytesIO.seek
    - <builtin>.isinstance
    - <builtin>.hasattr
    - checksum_context.get
    - botocore.utils.determine_content_length
    - io.BytesIO.tell
    - request.get
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - io.BytesIO
    - _CHECKSUM_CLS.get
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.httpchecksum.AwsChunkedWrapper.__init__
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _CHECKSUM_CLS.get
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: a.lower
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: usable_algorithms.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - http_response
    - response
    - algorithm
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 423
    functionName: botocore.httpchecksum._handle_streaming_response
    functionSourceFile: botocore.httpchecksum
    functionUses: 5
    functionsReached:
    - _CHECKSUM_CLS.get
    - botocore.httpchecksum.StreamingChecksumBody.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - http_response
    - response
    - algorithm
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 434
    functionName: botocore.httpchecksum._handle_bytes_response
    functionSourceFile: botocore.httpchecksum
    functionUses: 5
    functionsReached:
    - checksum.digest
    - _CHECKSUM_CLS.get
    - base64.b64decode
    - checksum.update
    - checksum.b64digest
    linkageType: pythonLinkage
    raised:
    - FlexibleChecksumError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: checksum.b64digest
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _CHECKSUM_CLS.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _CHECKSUM_CLS.keys
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.response
    functionSourceFile: botocore.response
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 58
    functionName: botocore.response.StreamingBody.__del__
    functionSourceFile: botocore.response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 64
    functionName: botocore.response.StreamingBody.set_socket_timeout
    functionSourceFile: botocore.response
    functionUses: 0
    functionsReached:
    - logger.error
    - botocore.response.StreamingBody.set_socket_timeout
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.error
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 87
    functionName: botocore.response.StreamingBody.readable
    functionSourceFile: botocore.response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - amt
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 93
    functionName: botocore.response.StreamingBody.read
    functionSourceFile: botocore.response
    functionUses: 4
    functionsReached:
    - <builtin>.len
    - <builtin>.int
    - botocore.response.StreamingBody._verify_content_length
    linkageType: pythonLinkage
    raised:
    - ReadTimeoutError
    - ResponseStreamingError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 160
    functionName: botocore.response.StreamingBody._verify_content_length
    functionSourceFile: botocore.response
    functionUses: 5
    functionsReached:
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - IncompleteReadError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 113
    functionName: botocore.response.StreamingBody.readlines
    functionSourceFile: botocore.response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 116
    functionName: botocore.response.StreamingBody.__iter__
    functionSourceFile: botocore.response
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.httpchecksum.StreamingChecksumBody._validate_checksum
    - botocore.response.StreamingBody._verify_content_length
    - botocore.httpchecksum.StreamingChecksumBody.read
    - <builtin>.super
    - <builtin>.int
    - base64.b64decode
    - botocore.response.StreamingBody.iter_chunks
    - botocore.response.StreamingBody.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - chunk_size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 150
    functionName: botocore.response.StreamingBody.iter_chunks
    functionSourceFile: botocore.response
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - botocore.response.StreamingBody._verify_content_length
    - botocore.httpchecksum.StreamingChecksumBody.read
    - <builtin>.super
    - <builtin>.int
    - base64.b64decode
    - botocore.httpchecksum.StreamingChecksumBody._validate_checksum
    - botocore.response.StreamingBody.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 120
    functionName: botocore.response.StreamingBody.__next__
    functionSourceFile: botocore.response
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.response.StreamingBody._verify_content_length
    - botocore.httpchecksum.StreamingChecksumBody.read
    - <builtin>.super
    - <builtin>.int
    - base64.b64decode
    - botocore.httpchecksum.StreamingChecksumBody._validate_checksum
    - botocore.response.StreamingBody.read
    linkageType: pythonLinkage
    raised:
    - StopIteration
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 127
    functionName: botocore.response.StreamingBody.__enter__
    functionSourceFile: botocore.response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - type
    - value
    - traceback
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 130
    functionName: botocore.response.StreamingBody.__exit__
    functionSourceFile: botocore.response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - chunk_size
    - keepends
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 135
    functionName: botocore.response.StreamingBody.iter_lines
    functionSourceFile: botocore.response
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.httpchecksum.StreamingChecksumBody._validate_checksum
    - botocore.response.StreamingBody._verify_content_length
    - botocore.httpchecksum.StreamingChecksumBody.read
    - <builtin>.super
    - <builtin>.int
    - base64.b64decode
    - line.splitlines
    - botocore.response.StreamingBody.iter_chunks
    - pending.splitlines
    - botocore.response.StreamingBody.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.splitlines
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pending.splitlines
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 172
    functionName: botocore.response.StreamingBody.tell
    functionSourceFile: botocore.response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 175
    functionName: botocore.response.StreamingBody.close
    functionSourceFile: botocore.response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - operation_model
    - http_response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 180
    functionName: botocore.response.get_response
    functionSourceFile: botocore.response
    functionUses: 0
    functionsReached:
    - botocore.parsers.ResponseParserFactory.__init__
    - botocore.response.StreamingBody.__init__
    - botocore.parsers.ResponseParserFactory.create_parser
    - parser.parse
    - botocore.parsers.create_parser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - protocol
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 158
    functionName: botocore.parsers.create_parser
    functionSourceFile: botocore.parsers
    functionUses: 4
    functionsReached:
    - botocore.parsers.ResponseParserFactory.__init__
    - botocore.parsers.ResponseParserFactory.create_parser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.hooks
    functionSourceFile: botocore.hooks
    functionUses: 0
    functionsReached:
    - collections.namedtuple
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.namedtuple
    functionSourceFile: collections
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 30
    functionName: botocore.hooks.NodeList.__copy__
    functionSourceFile: botocore.hooks
    functionUses: 0
    functionsReached:
    - collections.namedtuple.__init__
    - copy.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.namedtuple.__init__
    functionSourceFile: ''
    functionUses: 35
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - event_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 67
    functionName: botocore.hooks.BaseEventHooks.emit
    functionSourceFile: botocore.hooks
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - event_name
    - handler
    - unique_id
    - unique_id_uses_count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 84
    functionName: botocore.hooks.BaseEventHooks.register
    functionSourceFile: botocore.hooks
    functionUses: 6
    functionsReached:
    - botocore.hooks.HierarchicalEmitter._register_section
    - botocore.hooks.HierarchicalEmitter._register_last
    - botocore.hooks.BaseEventHooks._verify_accept_kwargs
    - <builtin>.callable
    - botocore.hooks.BaseEventHooks._verify_and_register
    - botocore.compat.accepts_kwargs
    - botocore.hooks.BaseEventHooks._verify_is_callable
    - collections.namedtuple.__init__
    - botocore.hooks._PrefixTrie.append_item
    - botocore.hooks.HierarchicalEmitter._register_first
    - botocore.hooks.HierarchicalEmitter._register
    - key.split
    - inspect.getfullargspec
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 6
    argNames:
    - self
    - event_name
    - handler
    - unique_id
    - register_method
    - unique_id_uses_count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 143
    functionName: botocore.hooks.BaseEventHooks._verify_and_register
    functionSourceFile: botocore.hooks
    functionUses: 11
    functionsReached:
    - botocore.hooks.HierarchicalEmitter._register_section
    - botocore.hooks.HierarchicalEmitter._register_last
    - botocore.hooks.BaseEventHooks._verify_accept_kwargs
    - <builtin>.callable
    - botocore.compat.accepts_kwargs
    - botocore.hooks.BaseEventHooks._verify_is_callable
    - collections.namedtuple.__init__
    - botocore.hooks._PrefixTrie.append_item
    - botocore.hooks.HierarchicalEmitter._register_first
    - botocore.hooks.HierarchicalEmitter._register
    - key.split
    - inspect.getfullargspec
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - event_name
    - handler
    - unique_id
    - unique_id_uses_count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 108
    functionName: botocore.hooks.BaseEventHooks.register_first
    functionSourceFile: botocore.hooks
    functionUses: 4
    functionsReached:
    - botocore.hooks.HierarchicalEmitter._register_section
    - botocore.hooks.HierarchicalEmitter._register_last
    - botocore.hooks.BaseEventHooks._verify_accept_kwargs
    - <builtin>.callable
    - botocore.hooks.BaseEventHooks._verify_and_register
    - botocore.compat.accepts_kwargs
    - botocore.hooks.BaseEventHooks._verify_is_callable
    - collections.namedtuple.__init__
    - botocore.hooks._PrefixTrie.append_item
    - botocore.hooks.HierarchicalEmitter._register_first
    - botocore.hooks.HierarchicalEmitter._register
    - key.split
    - inspect.getfullargspec
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - event_name
    - handler
    - unique_id
    - unique_id_uses_count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 126
    functionName: botocore.hooks.BaseEventHooks.register_last
    functionSourceFile: botocore.hooks
    functionUses: 4
    functionsReached:
    - botocore.hooks.HierarchicalEmitter._register_section
    - botocore.hooks.HierarchicalEmitter._register_last
    - botocore.hooks.BaseEventHooks._verify_accept_kwargs
    - <builtin>.callable
    - botocore.hooks.BaseEventHooks._verify_and_register
    - botocore.compat.accepts_kwargs
    - botocore.hooks.BaseEventHooks._verify_is_callable
    - collections.namedtuple.__init__
    - botocore.hooks._PrefixTrie.append_item
    - botocore.hooks.HierarchicalEmitter._register_first
    - botocore.hooks.HierarchicalEmitter._register
    - key.split
    - inspect.getfullargspec
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 171
    functionName: botocore.hooks.BaseEventHooks._verify_is_callable
    functionSourceFile: botocore.hooks
    functionUses: 12
    functionsReached:
    - <builtin>.callable
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 175
    functionName: botocore.hooks.BaseEventHooks._verify_accept_kwargs
    functionSourceFile: botocore.hooks
    functionUses: 12
    functionsReached:
    - botocore.compat.accepts_kwargs
    - inspect.getfullargspec
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - event_name
    - handler
    - unique_id
    - unique_id_uses_count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 288
    functionName: botocore.hooks.HierarchicalEmitter._register_first
    functionSourceFile: botocore.hooks
    functionUses: 12
    functionsReached:
    - collections.namedtuple.__init__
    - key.split
    - botocore.hooks.HierarchicalEmitter._register_section
    - botocore.hooks._PrefixTrie.append_item
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - event_name
    - handler
    - unique_id
    - unique_id_uses_count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 277
    functionName: botocore.hooks.HierarchicalEmitter._register
    functionSourceFile: botocore.hooks
    functionUses: 12
    functionsReached:
    - collections.namedtuple.__init__
    - key.split
    - botocore.hooks.HierarchicalEmitter._register_section
    - botocore.hooks._PrefixTrie.append_item
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - event_name
    - handler
    - unique_id
    - unique_id_uses_count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 299
    functionName: botocore.hooks.HierarchicalEmitter._register_last
    functionSourceFile: botocore.hooks
    functionUses: 12
    functionsReached:
    - collections.namedtuple.__init__
    - key.split
    - botocore.hooks.HierarchicalEmitter._register_section
    - botocore.hooks._PrefixTrie.append_item
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - event_name
    - handler
    - unique_id
    - unique_id_uses_count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 155
    functionName: botocore.hooks.BaseEventHooks.unregister
    functionSourceFile: botocore.hooks
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.callable
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 195
    functionName: botocore.hooks.HierarchicalEmitter.__init__
    functionSourceFile: botocore.hooks
    functionUses: 2
    functionsReached:
    - botocore.hooks._PrefixTrie.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 530
    functionName: botocore.hooks._PrefixTrie.__init__
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 4
    argNames:
    - self
    - event_name
    - kwargs
    - stop_on_response
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 205
    functionName: botocore.hooks.HierarchicalEmitter._emit
    functionSourceFile: botocore.hooks
    functionUses: 9
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.hooks._PrefixTrie._get_items
    - collections.deque.extendleft
    - children.get
    - responses.append
    - stack.pop
    - collections.deque
    - botocore.hooks._PrefixTrie.prefix_search
    - <builtin>.reversed
    - stack.append
    - key.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 557
    functionName: botocore.hooks._PrefixTrie.prefix_search
    functionSourceFile: botocore.hooks
    functionUses: 10
    functionsReached:
    - <builtin>.len
    - botocore.hooks._PrefixTrie._get_items
    - collections.deque.extendleft
    - stack.pop
    - collections.deque
    - <builtin>.reversed
    - children.get
    - stack.append
    - key.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.deque
    functionSourceFile: collections
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: responses.append
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - event_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 245
    functionName: botocore.hooks.HierarchicalEmitter.emit
    functionSourceFile: botocore.hooks
    functionUses: 6
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.hooks._PrefixTrie._get_items
    - collections.deque.extendleft
    - stack.append
    - children.get
    - responses.append
    - botocore.hooks.HierarchicalEmitter._emit
    - collections.deque
    - botocore.hooks._PrefixTrie.prefix_search
    - stack.pop
    - <builtin>.reversed
    - key.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - event_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 258
    functionName: botocore.hooks.HierarchicalEmitter.emit_until_response
    functionSourceFile: botocore.hooks
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.hooks._PrefixTrie._get_items
    - collections.deque.extendleft
    - stack.append
    - children.get
    - responses.append
    - botocore.hooks.HierarchicalEmitter._emit
    - collections.deque
    - botocore.hooks._PrefixTrie.prefix_search
    - stack.pop
    - <builtin>.reversed
    - key.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 6
    argNames:
    - self
    - event_name
    - handler
    - unique_id
    - unique_id_uses_count
    - section
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 306
    functionName: botocore.hooks.HierarchicalEmitter._register_section
    functionSourceFile: botocore.hooks
    functionUses: 15
    functionsReached:
    - collections.namedtuple.__init__
    - key.split
    - botocore.hooks._PrefixTrie.append_item
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argNames:
    - self
    - key
    - value
    - section
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 538
    functionName: botocore.hooks._PrefixTrie.append_item
    functionSourceFile: botocore.hooks
    functionUses: 16
    functionsReached:
    - collections.namedtuple.__init__
    - key.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 5
    argNames:
    - self
    - event_name
    - handler
    - unique_id
    - unique_id_uses_count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 350
    functionName: botocore.hooks.HierarchicalEmitter.unregister
    functionSourceFile: botocore.hooks
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - node_list.middle.remove
    - node_list.last.remove
    - node_list.first.remove
    - botocore.hooks._PrefixTrie._remove_item
    - key.split
    - botocore.hooks._PrefixTrie.remove_item
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 603
    functionName: botocore.hooks._PrefixTrie.remove_item
    functionSourceFile: botocore.hooks
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - node_list.middle.remove
    - node_list.last.remove
    - node_list.first.remove
    - botocore.hooks._PrefixTrie._remove_item
    - key.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 393
    functionName: botocore.hooks.HierarchicalEmitter.__copy__
    functionSourceFile: botocore.hooks
    functionUses: 0
    functionsReached:
    - copy.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - event_emitter
    - event_aliases
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 403
    functionName: botocore.hooks.EventAliaser.__init__
    functionSourceFile: botocore.hooks
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - event_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 410
    functionName: botocore.hooks.EventAliaser.emit
    functionSourceFile: botocore.hooks
    functionUses: 5
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.hooks._PrefixTrie._get_items
    - event_name.split
    - collections.deque.extendleft
    - responses.append
    - botocore.hooks._PrefixTrie.prefix_search
    - botocore.hooks.HierarchicalEmitter.emit
    - event_parts.index
    - botocore.hooks.HierarchicalEmitter._emit
    - children.get
    - botocore.hooks.EventAliaser._replace_subsection
    - old_part.split
    - botocore.hooks.EventAliaser._alias_event_name
    - <builtin>.reversed
    - stack.append
    - <builtin>.range
    - stack.pop
    - collections.deque
    - key.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argNames:
    - self
    - event_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 454
    functionName: botocore.hooks.EventAliaser._alias_event_name
    functionSourceFile: botocore.hooks
    functionUses: 17
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.hooks.EventAliaser._replace_subsection
    - event_name.split
    - old_part.split
    - <builtin>.range
    - event_parts.index
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - event_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 414
    functionName: botocore.hooks.EventAliaser.emit_until_response
    functionSourceFile: botocore.hooks
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.hooks._PrefixTrie._get_items
    - event_name.split
    - collections.deque.extendleft
    - responses.append
    - botocore.hooks._PrefixTrie.prefix_search
    - event_parts.index
    - botocore.hooks.HierarchicalEmitter._emit
    - children.get
    - botocore.hooks.HierarchicalEmitter.emit_until_response
    - botocore.hooks.EventAliaser._replace_subsection
    - old_part.split
    - botocore.hooks.EventAliaser._alias_event_name
    - <builtin>.reversed
    - stack.append
    - <builtin>.range
    - stack.pop
    - collections.deque
    - key.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - event_name
    - handler
    - unique_id
    - unique_id_uses_count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 418
    functionName: botocore.hooks.EventAliaser.register
    functionSourceFile: botocore.hooks
    functionUses: 5
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.hooks.BaseEventHooks._verify_accept_kwargs
    - botocore.hooks.BaseEventHooks.register
    - event_name.split
    - botocore.compat.accepts_kwargs
    - botocore.hooks.HierarchicalEmitter._register_section
    - botocore.hooks.EventAliaser.register
    - botocore.hooks.BaseEventHooks._verify_is_callable
    - event_parts.index
    - <builtin>.callable
    - botocore.hooks.EventAliaser._replace_subsection
    - old_part.split
    - botocore.hooks.EventAliaser._alias_event_name
    - botocore.hooks.HierarchicalEmitter._register_first
    - inspect.getfullargspec
    - botocore.hooks.HierarchicalEmitter._register_last
    - botocore.hooks.BaseEventHooks._verify_and_register
    - <builtin>.range
    - collections.namedtuple.__init__
    - botocore.hooks._PrefixTrie.append_item
    - botocore.hooks.HierarchicalEmitter._register
    - key.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - event_name
    - handler
    - unique_id
    - unique_id_uses_count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 426
    functionName: botocore.hooks.EventAliaser.register_first
    functionSourceFile: botocore.hooks
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.hooks.BaseEventHooks._verify_accept_kwargs
    - botocore.hooks.BaseEventHooks.register_first
    - event_name.split
    - botocore.compat.accepts_kwargs
    - botocore.hooks.HierarchicalEmitter._register_section
    - botocore.hooks.BaseEventHooks._verify_is_callable
    - event_parts.index
    - <builtin>.callable
    - botocore.hooks.EventAliaser._replace_subsection
    - old_part.split
    - botocore.hooks.EventAliaser._alias_event_name
    - botocore.hooks.HierarchicalEmitter._register_first
    - inspect.getfullargspec
    - botocore.hooks.HierarchicalEmitter._register_last
    - botocore.hooks.BaseEventHooks._verify_and_register
    - botocore.hooks.EventAliaser.register_first
    - <builtin>.range
    - collections.namedtuple.__init__
    - botocore.hooks._PrefixTrie.append_item
    - botocore.hooks.HierarchicalEmitter._register
    - key.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - event_name
    - handler
    - unique_id
    - unique_id_uses_count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 434
    functionName: botocore.hooks.EventAliaser.register_last
    functionSourceFile: botocore.hooks
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.hooks.BaseEventHooks._verify_accept_kwargs
    - event_name.split
    - botocore.compat.accepts_kwargs
    - botocore.hooks.HierarchicalEmitter._register_section
    - botocore.hooks.BaseEventHooks._verify_is_callable
    - event_parts.index
    - <builtin>.callable
    - botocore.hooks.EventAliaser._replace_subsection
    - old_part.split
    - botocore.hooks.EventAliaser._alias_event_name
    - botocore.hooks.HierarchicalEmitter._register_first
    - botocore.hooks.BaseEventHooks.register_last
    - inspect.getfullargspec
    - botocore.hooks.EventAliaser.register_last
    - botocore.hooks.HierarchicalEmitter._register_last
    - botocore.hooks.BaseEventHooks._verify_and_register
    - <builtin>.range
    - collections.namedtuple.__init__
    - botocore.hooks._PrefixTrie.append_item
    - botocore.hooks.HierarchicalEmitter._register
    - key.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - event_name
    - handler
    - unique_id
    - unique_id_uses_count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 442
    functionName: botocore.hooks.EventAliaser.unregister
    functionSourceFile: botocore.hooks
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.hooks.HierarchicalEmitter.unregister
    - botocore.hooks.EventAliaser._replace_subsection
    - event_name.split
    - old_part.split
    - <builtin>.range
    - node_list.middle.remove
    - node_list.last.remove
    - event_parts.index
    - botocore.hooks.EventAliaser._alias_event_name
    - node_list.first.remove
    - botocore.hooks._PrefixTrie._remove_item
    - key.split
    - botocore.hooks._PrefixTrie.remove_item
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event_name.split
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event_parts.index
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: old_part.split
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - sections
    - old_parts
    - new_part
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 492
    functionName: botocore.hooks.EventAliaser._replace_subsection
    functionSourceFile: botocore.hooks
    functionUses: 18
    functionsReached:
    - <builtin>.len
    - <builtin>.range
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 501
    functionName: botocore.hooks.EventAliaser.__copy__
    functionSourceFile: botocore.hooks
    functionUses: 0
    functionsReached:
    - copy.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.split
    functionSourceFile: <builtin>
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 5
    argNames:
    - self
    - starting_node
    - key_parts
    - collected
    - starting_index
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 571
    functionName: botocore.hooks._PrefixTrie._get_items
    functionSourceFile: botocore.hooks
    functionUses: 11
    functionsReached:
    - <builtin>.len
    - collections.deque.extendleft
    - stack.pop
    - <builtin>.reversed
    - children.get
    - stack.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.reversed
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.deque.extendleft
    functionSourceFile: collections
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: children.get
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 4
    IfCount: 8
    argCount: 5
    argNames:
    - self
    - current_node
    - key_parts
    - value
    - index
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 615
    functionName: botocore.hooks._PrefixTrie._remove_item
    functionSourceFile: botocore.hooks
    functionUses: 4
    functionsReached:
    - <builtin>.len
    - node_list.middle.remove
    - node_list.last.remove
    - node_list.first.remove
    - botocore.hooks._PrefixTrie._remove_item
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node_list.first.remove
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node_list.middle.remove
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node_list.last.remove
    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
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 639
    functionName: botocore.hooks._PrefixTrie.__copy__
    functionSourceFile: botocore.hooks
    functionUses: 0
    functionsReached:
    - botocore.hooks._PrefixTrie._recursive_copy
    - <builtin>.isinstance
    - copy.copy
    - node.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 649
    functionName: botocore.hooks._PrefixTrie._recursive_copy
    functionSourceFile: botocore.hooks
    functionUses: 1
    functionsReached:
    - copy.copy
    - <builtin>.isinstance
    - botocore.hooks._PrefixTrie._recursive_copy
    - node.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.parsers
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 141
    functionName: botocore.parsers.ResponseParserFactory.set_parser_defaults
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 162
    functionName: botocore.parsers._text_content
    functionSourceFile: botocore.parsers
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - shape
    - node_or_string
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 168
    functionName: botocore.parsers._text_content._get_text_content
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - logger.debug
    - <builtin>.isinstance
    - botocore.parsers.BaseXMLResponseParser._handle_timestamp
    - botocore.parsers.BaseXMLResponseParser._handle_float
    - <builtin>.float
    - <builtin>.hasattr
    - datetime.datetime.fromtimestamp
    - botocore.parsers.ResponseParser._default_blob_parser
    - botocore.utils._parse_timestamp_with_tzinfo
    - <builtin>.super
    - botocore.parsers.BaseXMLResponseParser._handle_integer
    - botocore.parsers.BaseXMLResponseParser._handle_blob
    - botocore.parsers.BaseXMLResponseParser._handle_string
    - dateutil.parser.parse
    - botocore.parsers.RestXMLParser._handle_string
    - botocore.utils.parse_timestamp
    - <builtin>.int
    - base64.b64decode
    - botocore.parsers.BaseXMLResponseParser._handle_boolean
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - shape
    - text
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 538
    functionName: botocore.parsers.BaseXMLResponseParser._handle_integer
    functionSourceFile: botocore.parsers
    functionUses: 1
    functionsReached:
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - shape
    - text
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1101
    functionName: botocore.parsers.RestXMLParser._handle_string
    functionSourceFile: botocore.parsers
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - shape
    - text
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 534
    functionName: botocore.parsers.BaseXMLResponseParser._handle_timestamp
    functionSourceFile: botocore.parsers
    functionUses: 1
    functionsReached:
    - dateutil.parser.parse
    - logger.debug
    - <builtin>.isinstance
    - botocore.utils.parse_timestamp
    - datetime.datetime.fromtimestamp
    - botocore.compat.get_tzinfo_options
    - botocore.utils._parse_timestamp_with_tzinfo
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - shape
    - text
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 546
    functionName: botocore.parsers.BaseXMLResponseParser._handle_blob
    functionSourceFile: botocore.parsers
    functionUses: 1
    functionsReached:
    - botocore.parsers.ResponseParser._default_blob_parser
    - base64.b64decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - shape
    - text
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 523
    functionName: botocore.parsers.BaseXMLResponseParser._handle_boolean
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - shape
    - text
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 530
    functionName: botocore.parsers.BaseXMLResponseParser._handle_float
    functionSourceFile: botocore.parsers
    functionUses: 1
    functionsReached:
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - shape
    - text
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 542
    functionName: botocore.parsers.BaseXMLResponseParser._handle_string
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argNames:
    - self
    - timestamp_parser
    - blob_parser
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 204
    functionName: botocore.parsers.ResponseParser.__init__
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 217
    functionName: botocore.parsers.ResponseParser._default_blob_parser
    functionSourceFile: botocore.parsers
    functionUses: 3
    functionsReached:
    - base64.b64decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 3
    argNames:
    - self
    - response
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 223
    functionName: botocore.parsers.ResponseParser.parse
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - botocore.utils.lowercase_dict
    - checksum_context.get
    - LOG.debug
    - response.get
    - shape.metadata.get
    - shape.serialization.get
    - parsed.get
    - botocore.parsers.ResponseParser._do_generic_error_parse
    - key.lower
    - botocore.parsers.ResponseParser._is_generic_error_response
    - botocore.parsers.ResponseParser._add_checksum_response_metadata
    - botocore.parsers.ResponseParser._do_parse
    - <builtin>.str
    - botocore.parsers.ResponseParser._do_error_parse
    - http.client.responses.get
    - botocore.parsers.ResponseParser._is_modeled_error_shape
    - body.startswith
    - botocore.parsers.ResponseParser._do_modeled_error_parse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: LOG.debug
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 281
    functionName: botocore.parsers.ResponseParser._is_generic_error_response
    functionSourceFile: botocore.parsers
    functionUses: 1
    functionsReached:
    - body.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 300
    functionName: botocore.parsers.ResponseParser._do_generic_error_parse
    functionSourceFile: botocore.parsers
    functionUses: 1
    functionsReached:
    - http.client.responses.get
    - LOG.debug
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - shape
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 278
    functionName: botocore.parsers.ResponseParser._is_modeled_error_shape
    functionSourceFile: botocore.parsers
    functionUses: 1
    functionsReached:
    - shape.metadata.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - response
    - shape
    - parsed
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 323
    functionName: botocore.parsers.ResponseParser._do_modeled_error_parse
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - response
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 320
    functionName: botocore.parsers.ResponseParser._do_error_parse
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - response
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 317
    functionName: botocore.parsers.ResponseParser._do_parse
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parsed.get
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - response
    - response_metadata
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 272
    functionName: botocore.parsers.ResponseParser._add_checksum_response_metadata
    functionSourceFile: botocore.parsers
    functionUses: 1
    functionsReached:
    - checksum_context.get
    - response.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: response.get
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: body.startswith
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.client.responses.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: 3
    argNames:
    - self
    - shape
    - node
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 328
    functionName: botocore.parsers.ResponseParser._parse_shape
    functionSourceFile: botocore.parsers
    functionUses: 20
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - shape
    - node
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 334
    functionName: botocore.parsers.ResponseParser._handle_list
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - parsed.append
    - botocore.parsers.ResponseParser._parse_shape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parsed.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - shape
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 343
    functionName: botocore.parsers.ResponseParser._default_handle
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - response
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 346
    functionName: botocore.parsers.ResponseParser._create_event_stream
    functionSourceFile: botocore.parsers
    functionUses: 6
    functionsReached:
    - botocore.eventstream.EventStreamBuffer.add_data
    - botocore.eventstream.EventStream.__init__
    - botocore.eventstream.EventStream._create_raw_event_generator
    - botocore.eventstream.EventStreamBuffer.__init__
    - botocore.eventstream.EventStreamHeaderParser.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 351
    functionName: botocore.parsers.ResponseParser._get_first_key
    functionSourceFile: botocore.parsers
    functionUses: 3
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argNames:
    - self
    - shape
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 354
    functionName: botocore.parsers.ResponseParser._has_unknown_tagged_union_member
    functionSourceFile: botocore.parsers
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - LOG.info
    - botocore.parsers.ResponseParser._get_first_key
    - <builtin>.list
    linkageType: pythonLinkage
    raised:
    - ResponseParserError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: LOG.info
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - tag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 373
    functionName: botocore.parsers.ResponseParser._handle_unknown_tagged_union_member
    functionSourceFile: botocore.parsers
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - timestamp_parser
    - blob_parser
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 378
    functionName: botocore.parsers.BaseXMLResponseParser.__init__
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - re.compile
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argNames:
    - self
    - shape
    - node
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 382
    functionName: botocore.parsers.BaseXMLResponseParser._handle_map
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.getattr
    - value_shape.serialization.get
    - shape.serialization.get
    - botocore.parsers.BaseXMLResponseParser._node_tag
    - botocore.parsers.ResponseParser._parse_shape
    - key_shape.serialization.get
    linkageType: pythonLinkage
    raised:
    - ResponseParserError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key_shape.serialization.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value_shape.serialization.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 403
    functionName: botocore.parsers.BaseXMLResponseParser._node_tag
    functionSourceFile: ''
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - shape
    - node
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 406
    functionName: botocore.parsers.BaseXMLResponseParser._handle_list
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - shape.serialization.get
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 3
    argNames:
    - self
    - shape
    - node
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 416
    functionName: botocore.parsers.BaseXMLResponseParser._handle_structure
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.parsers.BaseXMLResponseParser._build_name_to_xml_node
    - botocore.parsers.ResponseParser._has_unknown_tagged_union_member
    - location_name.split
    - shape.member.serialization.get
    - shape.metadata.get
    - member_shape.serialization.get
    - <builtin>.getattr
    - botocore.parsers.ResponseParser._get_first_key
    - shape.serialization.get
    - node.attrib.items
    - botocore.parsers.BaseXMLResponseParser._node_tag
    - <builtin>.list
    - botocore.parsers.ResponseParser._parse_shape
    - botocore.parsers.BaseXMLResponseParser._member_key_name
    - xml_dict.get
    - LOG.info
    - botocore.parsers.BaseXMLResponseParser._get_error_root
    - botocore.parsers.ResponseParser._handle_unknown_tagged_union_member
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - original_root
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 452
    functionName: botocore.parsers.BaseXMLResponseParser._get_error_root
    functionSourceFile: botocore.parsers
    functionUses: 1
    functionsReached:
    - botocore.parsers.BaseXMLResponseParser._node_tag
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argNames:
    - self
    - parent_node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 475
    functionName: botocore.parsers.BaseXMLResponseParser._build_name_to_xml_node
    functionSourceFile: botocore.parsers
    functionUses: 11
    functionsReached:
    - <builtin>.isinstance
    - botocore.parsers.BaseXMLResponseParser._build_name_to_xml_node
    - botocore.parsers.BaseXMLResponseParser._node_tag
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argNames:
    - self
    - shape
    - member_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 459
    functionName: botocore.parsers.BaseXMLResponseParser._member_key_name
    functionSourceFile: botocore.parsers
    functionUses: 1
    functionsReached:
    - shape.member.serialization.get
    - shape.serialization.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml_dict.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.attrib.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: location_name.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - xml_string
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 498
    functionName: botocore.parsers.BaseXMLResponseParser._parse_xml_string_to_dom
    functionSourceFile: botocore.parsers
    functionUses: 8
    functionsReached:
    - xml.etree.cElementTree.TreeBuilder
    - parser.feed
    - xml.etree.ElementTree.XMLParser
    - xml.etree.cElementTree.XMLParser
    - parser.close
    - xml.etree.ElementTree.TreeBuilder
    linkageType: pythonLinkage
    raised:
    - ResponseParserError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml.etree.ElementTree.TreeBuilder
    functionSourceFile: xml
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml.etree.cElementTree.TreeBuilder
    functionSourceFile: xml
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml.etree.ElementTree.XMLParser
    functionSourceFile: xml
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml.etree.cElementTree.XMLParser
    functionSourceFile: xml
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.feed
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.close
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - parsed
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 513
    functionName: botocore.parsers.BaseXMLResponseParser._replace_nodes
    functionSourceFile: botocore.parsers
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - botocore.parsers.BaseXMLResponseParser._build_name_to_xml_node
    - botocore.parsers.BaseXMLResponseParser._replace_nodes
    - <builtin>.list
    - botocore.parsers.BaseXMLResponseParser._node_tag
    - parsed.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parsed.items
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.parsers.BaseXMLResponseParser
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - botocore.parsers._text_content
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - response
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 555
    functionName: botocore.parsers.QueryParser._do_error_parse
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - botocore.parsers.BaseXMLResponseParser._build_name_to_xml_node
    - xml.etree.cElementTree.TreeBuilder
    - parser.feed
    - botocore.parsers.BaseXMLResponseParser._parse_xml_string_to_dom
    - xml.etree.ElementTree.XMLParser
    - xml.etree.cElementTree.XMLParser
    - parser.close
    - botocore.parsers.BaseXMLResponseParser._node_tag
    - <builtin>.list
    - parsed.update
    - botocore.parsers.BaseXMLResponseParser._replace_nodes
    - xml.etree.ElementTree.TreeBuilder
    - parsed.items
    - parsed.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parsed.pop
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parsed.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - response
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 571
    functionName: botocore.parsers.QueryParser._do_modeled_error_parse
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - sub_mapping.items
    - <builtin>.isinstance
    - botocore.parsers.BaseXMLResponseParser._build_name_to_xml_node
    - <builtin>.getattr
    - xml.etree.cElementTree.TreeBuilder
    - botocore.parsers.QueryParser._find_result_wrapped_shape
    - parser.feed
    - botocore.parsers.QueryParser._inject_response_metadata
    - botocore.parsers.BaseXMLResponseParser._parse_xml_string_to_dom
    - xml.etree.ElementTree.XMLParser
    - xml.etree.cElementTree.XMLParser
    - botocore.parsers.BaseXMLResponseParser._node_tag
    - botocore.parsers.ResponseParser._parse_shape
    - parser.close
    - mapping.get
    - botocore.parsers.QueryParser._parse_body_as_xml
    - xml.etree.ElementTree.TreeBuilder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argNames:
    - self
    - response
    - shape
    - inject_metadata
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 577
    functionName: botocore.parsers.QueryParser._parse_body_as_xml
    functionSourceFile: botocore.parsers
    functionUses: 2
    functionsReached:
    - sub_mapping.items
    - <builtin>.isinstance
    - botocore.parsers.BaseXMLResponseParser._build_name_to_xml_node
    - <builtin>.getattr
    - xml.etree.cElementTree.TreeBuilder
    - botocore.parsers.QueryParser._find_result_wrapped_shape
    - parser.feed
    - botocore.parsers.QueryParser._inject_response_metadata
    - botocore.parsers.BaseXMLResponseParser._parse_xml_string_to_dom
    - xml.etree.ElementTree.XMLParser
    - xml.etree.cElementTree.XMLParser
    - botocore.parsers.BaseXMLResponseParser._node_tag
    - botocore.parsers.ResponseParser._parse_shape
    - parser.close
    - mapping.get
    - xml.etree.ElementTree.TreeBuilder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - response
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 574
    functionName: botocore.parsers.QueryParser._do_parse
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - sub_mapping.items
    - <builtin>.isinstance
    - botocore.parsers.BaseXMLResponseParser._build_name_to_xml_node
    - <builtin>.getattr
    - xml.etree.cElementTree.TreeBuilder
    - botocore.parsers.QueryParser._find_result_wrapped_shape
    - parser.feed
    - botocore.parsers.QueryParser._inject_response_metadata
    - botocore.parsers.BaseXMLResponseParser._parse_xml_string_to_dom
    - xml.etree.ElementTree.XMLParser
    - xml.etree.cElementTree.XMLParser
    - botocore.parsers.BaseXMLResponseParser._node_tag
    - botocore.parsers.ResponseParser._parse_shape
    - parser.close
    - mapping.get
    - botocore.parsers.QueryParser._parse_body_as_xml
    - xml.etree.ElementTree.TreeBuilder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - element_name
    - xml_root_node
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 592
    functionName: botocore.parsers.QueryParser._find_result_wrapped_shape
    functionSourceFile: botocore.parsers
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - botocore.parsers.BaseXMLResponseParser._build_name_to_xml_node
    - botocore.parsers.BaseXMLResponseParser._node_tag
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - node
    - inject_into
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 596
    functionName: botocore.parsers.QueryParser._inject_response_metadata
    functionSourceFile: botocore.parsers
    functionUses: 3
    functionsReached:
    - sub_mapping.items
    - <builtin>.isinstance
    - botocore.parsers.BaseXMLResponseParser._build_name_to_xml_node
    - botocore.parsers.BaseXMLResponseParser._node_tag
    - mapping.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mapping.get
    functionSourceFile: <builtin>
    functionUses: 47
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sub_mapping.items
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - node
    - inject_into
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 607
    functionName: botocore.parsers.EC2QueryParser._inject_response_metadata
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - botocore.parsers.BaseXMLResponseParser._build_name_to_xml_node
    - botocore.parsers.BaseXMLResponseParser._node_tag
    - mapping.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - response
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 613
    functionName: botocore.parsers.EC2QueryParser._do_error_parse
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - original.pop
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: original.pop
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - original_root
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 633
    functionName: botocore.parsers.EC2QueryParser._get_error_root
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - botocore.parsers.BaseXMLResponseParser._node_tag
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 3
    argNames:
    - self
    - shape
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 643
    functionName: botocore.parsers.BaseJSONParser._handle_structure
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.getattr
    - botocore.parsers.ResponseParser._has_unknown_tagged_union_member
    - botocore.parsers.ResponseParser._handle_unknown_tagged_union_member
    - botocore.parsers.ResponseParser._get_first_key
    - value.get
    - LOG.info
    - <builtin>.list
    - botocore.parsers.ResponseParser._parse_shape
    - member_shape.serialization.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - shape
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 668
    functionName: botocore.parsers.BaseJSONParser._handle_map
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - value.items
    - botocore.parsers.ResponseParser._parse_shape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - shape
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 678
    functionName: botocore.parsers.BaseJSONParser._handle_blob
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - botocore.parsers.ResponseParser._default_blob_parser
    - base64.b64decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - shape
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 681
    functionName: botocore.parsers.BaseJSONParser._handle_timestamp
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - dateutil.parser.parse
    - logger.debug
    - <builtin>.isinstance
    - botocore.utils.parse_timestamp
    - datetime.datetime.fromtimestamp
    - botocore.compat.get_tzinfo_options
    - botocore.utils._parse_timestamp_with_tzinfo
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argNames:
    - self
    - response
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 684
    functionName: botocore.parsers.BaseJSONParser._do_error_parse
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.parsers.BaseJSONParser._parse_body_as_json
    - code.rsplit
    - response.get
    - query_error.split
    - botocore.parsers.BaseJSONParser._inject_response_metadata
    - parsed.setdefault
    - json.loads
    - body.get
    - body_contents.decode
    - headers.get
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - body_contents
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 728
    functionName: botocore.parsers.BaseJSONParser._parse_body_as_json
    functionSourceFile: botocore.parsers
    functionUses: 9
    functionsReached:
    - body_contents.decode
    - json.loads
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: body.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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: query_error.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: code.rsplit
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - parsed
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 722
    functionName: botocore.parsers.BaseJSONParser._inject_response_metadata
    functionSourceFile: botocore.parsers
    functionUses: 2
    functionsReached:
    - parsed.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parsed.setdefault
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: body_contents.decode
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - response
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 742
    functionName: botocore.parsers.BaseEventStreamParser._do_parse
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - logger.debug
    - <builtin>.isinstance
    - body.decode
    - member_shape.serialization.get
    - <builtin>.getattr
    - botocore.parsers.BaseEventStreamParser._do_parse
    - shape.serialization.get
    - botocore.parsers.ResponseParser._parse_shape
    - <builtin>.float
    - datetime.datetime.fromtimestamp
    - botocore.utils._parse_timestamp_with_tzinfo
    - botocore.parsers.BaseEventStreamParser._initial_body_parse
    - final_parsed.update
    - botocore.parsers.BaseEventStreamParser._parse_payload
    - dateutil.parser.parse
    - botocore.utils.parse_timestamp
    - botocore.parsers.BaseEventStreamParser._parse_non_payload_attrs
    - shape.members.get
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: shape.members.get
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 5
    argNames:
    - self
    - response
    - shape
    - member_shapes
    - final_parsed
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 801
    functionName: botocore.parsers.BaseEventStreamParser._parse_non_payload_attrs
    functionSourceFile: botocore.parsers
    functionUses: 1
    functionsReached:
    - dateutil.parser.parse
    - logger.debug
    - <builtin>.isinstance
    - botocore.utils.parse_timestamp
    - datetime.datetime.fromtimestamp
    - botocore.utils._parse_timestamp_with_tzinfo
    - <builtin>.float
    - member_shape.serialization.get
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 5
    argNames:
    - self
    - response
    - shape
    - member_shapes
    - final_parsed
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 779
    functionName: botocore.parsers.BaseEventStreamParser._parse_payload
    functionSourceFile: botocore.parsers
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - botocore.parsers.BaseEventStreamParser._initial_body_parse
    - shape.serialization.get
    - botocore.parsers.ResponseParser._parse_shape
    - final_parsed.update
    - body.decode
    - member_shape.serialization.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - response
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 758
    functionName: botocore.parsers.BaseEventStreamParser._do_error_parse
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - botocore.parsers.BaseEventStreamParser._initial_body_parse
    - body.get
    - shape.members.get
    - botocore.parsers.ResponseParser._parse_shape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - body_contents
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 816
    functionName: botocore.parsers.BaseEventStreamParser._initial_body_parse
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: body.decode
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: final_parsed.update
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - body_contents
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 825
    functionName: botocore.parsers.EventStreamJSONParser._initial_body_parse
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - body_contents.decode
    - json.loads
    - botocore.parsers.BaseJSONParser._parse_body_as_json
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - xml_string
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 830
    functionName: botocore.parsers.EventStreamXMLParser._initial_body_parse
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - xml.etree.cElementTree.Element
    - xml.etree.cElementTree.TreeBuilder
    - parser.feed
    - botocore.parsers.BaseXMLResponseParser._parse_xml_string_to_dom
    - xml.etree.ElementTree.XMLParser
    - xml.etree.cElementTree.XMLParser
    - parser.close
    - xml.etree.ElementTree.Element
    - xml.etree.ElementTree.TreeBuilder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml.etree.cElementTree.Element
    functionSourceFile: xml
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - response
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 842
    functionName: botocore.parsers.JSONParser._do_parse
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.next
    - botocore.parsers.BaseJSONParser._parse_body_as_json
    - initial_event.headers.get
    - botocore.eventstream.EventStreamBuffer.add_data
    - botocore.parsers.JSONParser._handle_json_body
    - botocore.parsers.BaseJSONParser._inject_response_metadata
    - botocore.eventstream.EventStream.__init__
    - parsed.setdefault
    - botocore.eventstream.EventStream._create_raw_event_generator
    - botocore.eventstream.EventStream.get_initial_response
    - json.loads
    - botocore.eventstream.EventStreamBuffer.__init__
    - botocore.parsers.ResponseParser._parse_shape
    - body_contents.decode
    - botocore.parsers.JSONParser._handle_event_stream
    - botocore.parsers.ResponseParser._create_event_stream
    - botocore.eventstream.EventStreamHeaderParser.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - response
    - shape
    - event_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 856
    functionName: botocore.parsers.JSONParser._handle_event_stream
    functionSourceFile: botocore.parsers
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - <builtin>.next
    - botocore.parsers.BaseJSONParser._parse_body_as_json
    - initial_event.headers.get
    - botocore.eventstream.EventStreamBuffer.add_data
    - botocore.parsers.JSONParser._handle_json_body
    - botocore.eventstream.EventStream.__init__
    - botocore.eventstream.EventStream._create_raw_event_generator
    - botocore.eventstream.EventStream.get_initial_response
    - botocore.eventstream.EventStreamBuffer.__init__
    - json.loads
    - botocore.parsers.ResponseParser._parse_shape
    - body_contents.decode
    - botocore.parsers.ResponseParser._create_event_stream
    - botocore.eventstream.EventStreamHeaderParser.__init__
    linkageType: pythonLinkage
    raised:
    - ResponseParserError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - raw_body
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 868
    functionName: botocore.parsers.JSONParser._handle_json_body
    functionSourceFile: botocore.parsers
    functionUses: 3
    functionsReached:
    - <builtin>.getattr
    - botocore.parsers.BaseJSONParser._parse_body_as_json
    - json.loads
    - botocore.parsers.ResponseParser._parse_shape
    - body_contents.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - response
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 853
    functionName: botocore.parsers.JSONParser._do_modeled_error_parse
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - botocore.parsers.BaseJSONParser._parse_body_as_json
    - botocore.parsers.JSONParser._handle_json_body
    - json.loads
    - botocore.parsers.ResponseParser._parse_shape
    - body_contents.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - response
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 877
    functionName: botocore.parsers.BaseRestParser._do_parse
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.parsers.BaseRestParser._parse_non_payload_attrs
    - botocore.eventstream.EventStreamBuffer.add_data
    - botocore.parsers.BaseRestParser._parse_header_map
    - botocore.parsers.BaseRestParser._add_modeled_parse
    - header_name.lower
    - body.decode
    - member_shape.serialization.get
    - <builtin>.getattr
    - body_shape.serialization.get
    - botocore.eventstream.EventStream._create_raw_event_generator
    - shape.serialization.get
    - botocore.parsers.ResponseParser._parse_shape
    - botocore.parsers.ResponseParser._create_event_stream
    - botocore.parsers.BaseRestParser._parse_payload
    - botocore.eventstream.EventStream.__init__
    - botocore.eventstream.EventStreamHeaderParser.__init__
    - botocore.parsers.BaseRestParser._initial_body_parse
    - botocore.eventstream.EventStreamBuffer.__init__
    - final_parsed.update
    - headers.get
    - botocore.parsers.BaseRestParser._populate_response_metadata
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 899
    functionName: botocore.parsers.BaseRestParser._populate_response_metadata
    functionSourceFile: botocore.parsers
    functionUses: 3
    functionsReached:
    - headers.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - response
    - shape
    - final_parsed
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 885
    functionName: botocore.parsers.BaseRestParser._add_modeled_parse
    functionSourceFile: botocore.parsers
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.parsers.BaseRestParser._parse_non_payload_attrs
    - botocore.eventstream.EventStreamBuffer.add_data
    - botocore.parsers.BaseRestParser._parse_header_map
    - header_name.lower
    - body.decode
    - member_shape.serialization.get
    - <builtin>.getattr
    - body_shape.serialization.get
    - botocore.eventstream.EventStream._create_raw_event_generator
    - shape.serialization.get
    - botocore.parsers.ResponseParser._parse_shape
    - botocore.parsers.BaseRestParser._parse_payload
    - botocore.eventstream.EventStream.__init__
    - botocore.eventstream.EventStreamHeaderParser.__init__
    - botocore.parsers.BaseRestParser._initial_body_parse
    - botocore.eventstream.EventStreamBuffer.__init__
    - final_parsed.update
    - botocore.parsers.ResponseParser._create_event_stream
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 5
    argNames:
    - self
    - response
    - shape
    - member_shapes
    - final_parsed
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 937
    functionName: botocore.parsers.BaseRestParser._parse_non_payload_attrs
    functionSourceFile: botocore.parsers
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - <builtin>.getattr
    - shape.serialization.get
    - botocore.parsers.BaseRestParser._parse_header_map
    - botocore.parsers.ResponseParser._parse_shape
    - header_name.lower
    - member_shape.serialization.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 5
    argNames:
    - self
    - response
    - shape
    - member_shapes
    - final_parsed
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 912
    functionName: botocore.parsers.BaseRestParser._parse_payload
    functionSourceFile: botocore.parsers
    functionUses: 3
    functionsReached:
    - botocore.parsers.BaseRestParser._initial_body_parse
    - <builtin>.isinstance
    - <builtin>.getattr
    - botocore.eventstream.EventStreamBuffer.add_data
    - botocore.eventstream.EventStream.__init__
    - botocore.eventstream.EventStream._create_raw_event_generator
    - body_shape.serialization.get
    - botocore.eventstream.EventStreamHeaderParser.__init__
    - botocore.eventstream.EventStreamBuffer.__init__
    - botocore.parsers.ResponseParser._parse_shape
    - final_parsed.update
    - body.decode
    - botocore.parsers.ResponseParser._create_event_stream
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - response
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 894
    functionName: botocore.parsers.BaseRestParser._do_modeled_error_parse
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.parsers.BaseRestParser._parse_non_payload_attrs
    - botocore.eventstream.EventStreamBuffer.add_data
    - botocore.parsers.BaseRestParser._parse_header_map
    - header_name.lower
    - body.decode
    - member_shape.serialization.get
    - <builtin>.getattr
    - body_shape.serialization.get
    - botocore.eventstream.EventStream._create_raw_event_generator
    - shape.serialization.get
    - botocore.parsers.ResponseParser._parse_shape
    - botocore.parsers.BaseRestParser._parse_payload
    - botocore.eventstream.EventStream.__init__
    - botocore.eventstream.EventStreamHeaderParser.__init__
    - botocore.parsers.BaseRestParser._initial_body_parse
    - botocore.eventstream.EventStreamBuffer.__init__
    - final_parsed.update
    - botocore.parsers.ResponseParser._create_event_stream
    - botocore.parsers.BaseRestParser._add_modeled_parse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: body_shape.serialization.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: 2
    argNames:
    - self
    - body_contents
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 974
    functionName: botocore.parsers.BaseRestParser._initial_body_parse
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - shape
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 961
    functionName: botocore.parsers.BaseRestParser._parse_header_map
    functionSourceFile: botocore.parsers
    functionUses: 4
    functionsReached:
    - <builtin>.len
    - header_name.lower
    - shape.serialization.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - shape
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 981
    functionName: botocore.parsers.BaseRestParser._handle_string
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - botocore.utils.is_json_value_header
    - shape.serialization.get
    - base64.b64decode
    - json.loads
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - shape
    - node
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 988
    functionName: botocore.parsers.BaseRestParser._handle_list
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - shape.serialization.get
    - <builtin>.super
    - node.split
    - e.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: e.strip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - body_contents
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1000
    functionName: botocore.parsers.RestJSONParser._initial_body_parse
    functionSourceFile: botocore.parsers
    functionUses: 2
    functionsReached:
    - body_contents.decode
    - json.loads
    - botocore.parsers.BaseJSONParser._parse_body_as_json
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - response
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1003
    functionName: botocore.parsers.RestJSONParser._do_error_parse
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - botocore.parsers.RestJSONParser._initial_body_parse
    - botocore.parsers.RestJSONParser._inject_error_code
    - code.split
    - botocore.parsers.BaseJSONParser._parse_body_as_json
    - <builtin>.super
    - json.loads
    - body.get
    - body_contents.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - error
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1008
    functionName: botocore.parsers.RestJSONParser._inject_error_code
    functionSourceFile: botocore.parsers
    functionUses: 1
    functionsReached:
    - botocore.parsers.RestJSONParser._initial_body_parse
    - botocore.parsers.BaseJSONParser._parse_body_as_json
    - body.get
    - json.loads
    - code.split
    - body_contents.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: code.split
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - shape
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1021
    functionName: botocore.parsers.RestJSONParser._handle_integer
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - xml_string
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1031
    functionName: botocore.parsers.RestXMLParser._initial_body_parse
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - xml.etree.cElementTree.Element
    - xml.etree.cElementTree.TreeBuilder
    - parser.feed
    - botocore.parsers.BaseXMLResponseParser._parse_xml_string_to_dom
    - xml.etree.ElementTree.XMLParser
    - xml.etree.cElementTree.XMLParser
    - parser.close
    - xml.etree.ElementTree.Element
    - xml.etree.ElementTree.TreeBuilder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - response
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1036
    functionName: botocore.parsers.RestXMLParser._do_error_parse
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - botocore.parsers.BaseXMLResponseParser._build_name_to_xml_node
    - xml.etree.cElementTree.TreeBuilder
    - LOG.debug
    - parser.feed
    - botocore.parsers.RestXMLParser._parse_error_from_http_status
    - parsed.pop
    - botocore.parsers.BaseXMLResponseParser._parse_xml_string_to_dom
    - botocore.parsers.BaseXMLResponseParser._node_tag
    - <builtin>.list
    - botocore.parsers.BaseXMLResponseParser._replace_nodes
    - xml.etree.ElementTree.TreeBuilder
    - xml.etree.cElementTree.XMLParser
    - parsed.items
    - <builtin>.str
    - http.client.responses.get
    - botocore.parsers.RestXMLParser._parse_error_from_body
    - botocore.utils.merge_dicts
    - xml.etree.ElementTree.XMLParser
    - parser.close
    - headers.get
    - botocore.parsers.BaseRestParser._populate_response_metadata
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1077
    functionName: botocore.parsers.RestXMLParser._parse_error_from_body
    functionSourceFile: botocore.parsers
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - botocore.parsers.BaseXMLResponseParser._build_name_to_xml_node
    - headers.get
    - xml.etree.cElementTree.TreeBuilder
    - botocore.utils.merge_dicts
    - parser.feed
    - botocore.parsers.BaseXMLResponseParser._parse_xml_string_to_dom
    - xml.etree.ElementTree.XMLParser
    - xml.etree.cElementTree.XMLParser
    - parser.close
    - botocore.parsers.BaseXMLResponseParser._node_tag
    - <builtin>.list
    - xml.etree.ElementTree.TreeBuilder
    - botocore.parsers.BaseXMLResponseParser._replace_nodes
    - parsed.items
    - botocore.parsers.BaseRestParser._populate_response_metadata
    - parsed.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1063
    functionName: botocore.parsers.RestXMLParser._parse_error_from_http_status
    functionSourceFile: botocore.parsers
    functionUses: 1
    functionsReached:
    - http.client.responses.get
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.parsers.RestXMLParser
    functionSourceFile: botocore.parsers
    functionUses: 0
    functionsReached:
    - botocore.parsers._text_content
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.history
    functionSourceFile: botocore.history
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - event_type
    - payload
    - source
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 20
    functionName: botocore.history.BaseHistoryHandler.emit
    functionSourceFile: botocore.history
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 25
    functionName: botocore.history.HistoryRecorder.__init__
    functionSourceFile: botocore.history
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 29
    functionName: botocore.history.HistoryRecorder.enable
    functionSourceFile: botocore.history
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 32
    functionName: botocore.history.HistoryRecorder.disable
    functionSourceFile: botocore.history
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 35
    functionName: botocore.history.HistoryRecorder.add_handler
    functionSourceFile: botocore.history
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: handler.emit
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.stub
    functionSourceFile: botocore.stub
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 33
    functionName: botocore.stub._ANY.__eq__
    functionSourceFile: botocore.stub
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 36
    functionName: botocore.stub._ANY.__ne__
    functionSourceFile: botocore.stub
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 39
    functionName: botocore.stub._ANY.__repr__
    functionSourceFile: botocore.stub
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - client
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 168
    functionName: botocore.stub.Stubber.__init__
    functionSourceFile: botocore.stub
    functionUses: 0
    functionsReached:
    - collections.deque
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 177
    functionName: botocore.stub.Stubber.__enter__
    functionSourceFile: botocore.stub
    functionUses: 0
    functionsReached:
    - botocore.stub.Stubber.activate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 184
    functionName: botocore.stub.Stubber.activate
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - exception_type
    - exception_value
    - traceback
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 181
    functionName: botocore.stub.Stubber.__exit__
    functionSourceFile: botocore.stub
    functionUses: 0
    functionsReached:
    - botocore.stub.Stubber.deactivate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 199
    functionName: botocore.stub.Stubber.deactivate
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - method
    - service_response
    - expected_params
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 214
    functionName: botocore.stub.Stubber.add_response
    functionSourceFile: botocore.stub
    functionUses: 0
    functionsReached:
    - botocore.awsrequest.HeadersDict.__init__
    - <builtin>.isinstance
    - collections.abc.MutableMapping.update
    - botocore.stub.Stubber._validate_operation_response
    - botocore.stub.Stubber._validate_response
    - service_model.operation_model
    - <builtin>.enumerate
    - copy.copy
    - <builtin>.getattr
    - <builtin>.type
    - botocore.awsrequest.AWSResponse.__init__
    - botocore.validate.ParamValidator._check_special_validation_cases
    - botocore.validate.ParamValidator.validate
    - shape.serialization.get
    - botocore.validate.validate_parameters
    - botocore.validate.ParamValidator._validate
    - collections.deque.append
    - botocore.validate.ValidationErrors.has_errors
    - <builtin>.hasattr
    - botocore.validate.ParamValidator._validate_jsonvalue_string
    - json.dumps
    - botocore.validate.ValidationErrors.__init__
    - <builtin>.str
    - botocore.stub.Stubber._add_response
    - botocore.utils.is_json_value_header
    - botocore.validate.ValidationErrors.report
    - botocore.validate.ParamValidator._validate_document
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - method
    - service_response
    - expected_params
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 239
    functionName: botocore.stub.Stubber._add_response
    functionSourceFile: botocore.stub
    functionUses: 1
    functionsReached:
    - botocore.awsrequest.HeadersDict.__init__
    - <builtin>.isinstance
    - collections.abc.MutableMapping.update
    - botocore.stub.Stubber._validate_operation_response
    - botocore.stub.Stubber._validate_response
    - service_model.operation_model
    - <builtin>.enumerate
    - copy.copy
    - <builtin>.getattr
    - <builtin>.type
    - botocore.awsrequest.AWSResponse.__init__
    - botocore.validate.ParamValidator._check_special_validation_cases
    - botocore.validate.ParamValidator.validate
    - shape.serialization.get
    - botocore.validate.validate_parameters
    - botocore.validate.ParamValidator._validate
    - collections.deque.append
    - botocore.validate.ValidationErrors.has_errors
    - <builtin>.hasattr
    - botocore.validate.ParamValidator._validate_jsonvalue_string
    - json.dumps
    - botocore.validate.ValidationErrors.__init__
    - <builtin>.str
    - botocore.utils.is_json_value_header
    - botocore.validate.ValidationErrors.report
    - botocore.validate.ParamValidator._validate_document
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - operation_name
    - service_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 405
    functionName: botocore.stub.Stubber._validate_operation_response
    functionSourceFile: botocore.stub
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - botocore.stub.Stubber._validate_response
    - service_model.operation_model
    - <builtin>.enumerate
    - copy.copy
    - <builtin>.getattr
    - <builtin>.type
    - botocore.validate.ParamValidator._check_special_validation_cases
    - botocore.validate.ParamValidator.validate
    - shape.serialization.get
    - botocore.validate.validate_parameters
    - botocore.validate.ParamValidator._validate
    - botocore.validate.ValidationErrors.has_errors
    - <builtin>.hasattr
    - botocore.validate.ParamValidator._validate_jsonvalue_string
    - json.dumps
    - botocore.validate.ValidationErrors.__init__
    - <builtin>.str
    - botocore.utils.is_json_value_header
    - botocore.validate.ValidationErrors.report
    - botocore.validate.ParamValidator._validate_document
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.deque.append
    functionSourceFile: collections
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 9
    argNames:
    - self
    - method
    - service_error_code
    - service_message
    - http_status_code
    - service_error_meta
    - expected_params
    - response_meta
    - modeled_fields
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 260
    functionName: botocore.stub.Stubber.add_client_error
    functionSourceFile: botocore.stub
    functionUses: 0
    functionsReached:
    - botocore.awsrequest.HeadersDict.__init__
    - <builtin>.isinstance
    - collections.abc.MutableMapping.update
    - botocore.stub.Stubber._validate_response
    - <builtin>.enumerate
    - <builtin>.getattr
    - <builtin>.type
    - botocore.awsrequest.AWSResponse.__init__
    - botocore.validate.ParamValidator._check_special_validation_cases
    - botocore.validate.ParamValidator.validate
    - shape.serialization.get
    - botocore.validate.validate_parameters
    - botocore.validate.ParamValidator._validate
    - collections.deque.append
    - botocore.validate.ValidationErrors.has_errors
    - <builtin>.hasattr
    - botocore.validate.ParamValidator._validate_jsonvalue_string
    - json.dumps
    - botocore.validate.ValidationErrors.__init__
    - service_model.shape_for_error_code
    - <builtin>.str
    - botocore.utils.is_json_value_header
    - botocore.validate.ValidationErrors.report
    - parsed_response.update
    - botocore.validate.ParamValidator._validate_document
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - shape
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 419
    functionName: botocore.stub.Stubber._validate_response
    functionSourceFile: botocore.stub
    functionUses: 4
    functionsReached:
    - <builtin>.getattr
    - <builtin>.isinstance
    - botocore.validate.ValidationErrors.has_errors
    - <builtin>.type
    - <builtin>.hasattr
    - botocore.validate.ParamValidator._validate_jsonvalue_string
    - botocore.utils.is_json_value_header
    - json.dumps
    - botocore.validate.ValidationErrors.report
    - botocore.validate.ParamValidator._check_special_validation_cases
    - botocore.validate.ParamValidator.validate
    - shape.serialization.get
    - botocore.validate.ValidationErrors.__init__
    - botocore.validate.validate_parameters
    - <builtin>.enumerate
    - botocore.validate.ParamValidator._validate_document
    - <builtin>.str
    - botocore.validate.ParamValidator._validate
    linkageType: pythonLinkage
    raised:
    - ParamValidationError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 342
    functionName: botocore.stub.Stubber.assert_no_pending_responses
    functionSourceFile: botocore.stub
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - AssertionError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - model
    - params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 350
    functionName: botocore.stub.Stubber._assert_expected_call_order
    functionSourceFile: botocore.stub
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - UnStubbedResponseError
    - StubResponseError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - model
    - params
    - context
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 368
    functionName: botocore.stub.Stubber._get_response_handler
    functionSourceFile: botocore.stub
    functionUses: 0
    functionsReached:
    - collections.deque.popleft
    - botocore.stub.Stubber._assert_expected_call_order
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.deque.popleft
    functionSourceFile: collections
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 5
    argNames:
    - self
    - model
    - params
    - context
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 373
    functionName: botocore.stub.Stubber._assert_expected_params
    functionSourceFile: botocore.stub
    functionUses: 0
    functionsReached:
    - params.keys
    - expected_params.keys
    - botocore.stub.Stubber._assert_expected_call_order
    - expected_params.items
    - context.get
    - <builtin>.sorted
    - botocore.stub.Stubber._should_not_stub
    linkageType: pythonLinkage
    raised:
    - StubAssertionError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 398
    functionName: botocore.stub.Stubber._should_not_stub
    functionSourceFile: botocore.stub
    functionUses: 1
    functionsReached:
    - context.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: expected_params.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: expected_params.keys
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: params.keys
    functionSourceFile: <builtin>
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: service_model.operation_model
    functionSourceFile: <builtin>
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.signers
    functionSourceFile: botocore.signers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 8
    argNames:
    - self
    - service_id
    - region_name
    - signing_name
    - signature_version
    - credentials
    - event_emitter
    - auth_token
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 68
    functionName: botocore.signers.RequestSigner.__init__
    functionSourceFile: botocore.signers
    functionUses: 3
    functionsReached:
    - weakref.proxy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 89
    functionName: botocore.signers.RequestSigner.region_name
    functionSourceFile: botocore.signers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 93
    functionName: botocore.signers.RequestSigner.signature_version
    functionSourceFile: botocore.signers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 97
    functionName: botocore.signers.RequestSigner.signing_name
    functionSourceFile: botocore.signers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - operation_name
    - request
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 100
    functionName: botocore.signers.RequestSigner.handler
    functionSourceFile: botocore.signers
    functionUses: 0
    functionsReached:
    - botocore.signers.RequestSigner.sign
    - signing_context.get
    - auth.add_auth
    - signature_version.endswith
    - botocore.signers.RequestSigner._choose_signer
    - signing.get
    - botocore.signers.RequestSigner.get_auth_instance
    - request.context.get
    - context.get
    - botocore.auth.AUTH_TYPE_MAPS.get
    - signing_type_suffix_map.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 3
    IfCount: 7
    argCount: 7
    argNames:
    - self
    - operation_name
    - request
    - region_name
    - signing_type
    - expires_in
    - signing_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 107
    functionName: botocore.signers.RequestSigner.sign
    functionSourceFile: botocore.signers
    functionUses: 2
    functionsReached:
    - signature_version.endswith
    - signing_context.get
    - auth.add_auth
    - botocore.signers.RequestSigner._choose_signer
    - signing.get
    - botocore.signers.RequestSigner.get_auth_instance
    - request.context.get
    - context.get
    - botocore.auth.AUTH_TYPE_MAPS.get
    - signing_type_suffix_map.get
    linkageType: pythonLinkage
    raised:
    - UnsupportedSignatureVersionError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argNames:
    - self
    - operation_name
    - signing_type
    - context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 191
    functionName: botocore.signers.RequestSigner._choose_signer
    functionSourceFile: botocore.signers
    functionUses: 3
    functionsReached:
    - signing.get
    - signature_version.endswith
    - context.get
    - signing_type_suffix_map.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: signing_context.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 5
    argNames:
    - self
    - signing_name
    - region_name
    - signature_version
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 241
    functionName: botocore.signers.RequestSigner.get_auth_instance
    functionSourceFile: botocore.signers
    functionUses: 3
    functionsReached:
    - botocore.auth.AUTH_TYPE_MAPS.get
    linkageType: pythonLinkage
    raised:
    - UnknownSignatureVersionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: auth.add_auth
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: signing_type_suffix_map.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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: signing.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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: signature_version.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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.auth.AUTH_TYPE_MAPS.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 6
    argNames:
    - self
    - request_dict
    - operation_name
    - expires_in
    - region_name
    - signing_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 297
    functionName: botocore.signers.RequestSigner.generate_presigned_url
    functionSourceFile: botocore.signers
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.awsrequest.HeadersDict.__init__
    - <builtin>.isinstance
    - logger.debug
    - io.BytesIO.seek
    - http.client.HTTPMessage.items
    - botocore.signers.RequestSigner._choose_signer
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - request.context.get
    - headers.items
    - original.params.items
    - botocore.awsrequest.AWSRequest.prepare
    - key.encode
    - botocore.signers.RequestSigner.sign
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - auth.add_auth
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - delim.join
    - http.client.HTTPMessage.__init__
    - <builtin>.type
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - io.BytesIO.tell
    - <builtin>.list
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - value.encode
    - botocore.awsrequest.AWSRequest.__init__
    - r.get
    - signing_type_suffix_map.get
    - urllib.parse.urlencode.items
    - signing_context.get
    - botocore.awsrequest.create_request_object
    - <builtin>.hasattr
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - <builtin>.str
    - signature_version.endswith
    - signing.get
    - botocore.signers.RequestSigner.get_auth_instance
    - urllib.parse.urlencode
    - context.get
    - botocore.auth.AUTH_TYPE_MAPS.get
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - key_id
    - rsa_signer
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 364
    functionName: botocore.signers.CloudFrontSigner.__init__
    functionSourceFile: botocore.signers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 4
    argNames:
    - self
    - url
    - date_less_than
    - policy
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 379
    functionName: botocore.signers.CloudFrontSigner.generate_presigned_url
    functionSourceFile: botocore.signers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - dateutil.tz.tzutc
    - params.extend
    - datetime.datetime
    - <builtin>.hasattr
    - d.total_seconds
    - json.dumps
    - botocore.utils.datetime2timestamp
    - <builtin>.int
    - base64.b64encode
    - policy.encode
    - botocore.signers.CloudFrontSigner.build_policy
    - dt.utcoffset
    - botocore.signers.CloudFrontSigner._url_b64encode
    - collections.OrderedDict
    - botocore.signers.CloudFrontSigner._build_url
    - dt.replace
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 5
    argNames:
    - self
    - resource
    - date_less_than
    - date_greater_than
    - ip_address
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 421
    functionName: botocore.signers.CloudFrontSigner.build_policy
    functionSourceFile: botocore.signers
    functionUses: 1
    functionsReached:
    - dateutil.tz.tzutc
    - datetime.datetime
    - <builtin>.hasattr
    - d.total_seconds
    - json.dumps
    - botocore.utils.datetime2timestamp
    - <builtin>.int
    - dt.utcoffset
    - collections.OrderedDict
    - dt.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: policy.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 463
    functionName: botocore.signers.CloudFrontSigner._url_b64encode
    functionSourceFile: botocore.signers
    functionUses: 1
    functionsReached:
    - base64.b64encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: params.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - base_url
    - extra_params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 417
    functionName: botocore.signers.CloudFrontSigner._build_url
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - class_attributes
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 474
    functionName: botocore.signers.add_generate_db_auth_token
    functionSourceFile: botocore.signers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 5
    argNames:
    - self
    - DBHostname
    - Port
    - DBUsername
    - Region
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 478
    functionName: botocore.signers.generate_db_auth_token
    functionSourceFile: botocore.signers
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - url_path.startswith
    - botocore.awsrequest.prepare_request_dict
    - botocore.awsrequest._urljoin
    - r.get
    - urllib.parse.urlsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request_signer
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 533
    functionName: botocore.signers.S3PostPresigner.__init__
    functionSourceFile: botocore.signers
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 6
    argNames:
    - self
    - request_dict
    - fields
    - conditions
    - expires_in
    - region_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 536
    functionName: botocore.signers.S3PostPresigner.generate_presigned_post
    functionSourceFile: botocore.signers
    functionUses: 1
    functionsReached:
    - expire_date.strftime
    - http.client.HTTPMessage.__init__
    - botocore.awsrequest.create_request_object
    - datetime.datetime.utcnow
    - datetime.timedelta
    - headers.items
    - botocore.awsrequest.AWSRequest.__init__
    - r.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: expire_date.strftime
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - class_attributes
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 614
    functionName: botocore.signers.add_generate_presigned_url
    functionSourceFile: botocore.signers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 5
    argNames:
    - self
    - ClientMethod
    - Params
    - ExpiresIn
    - HttpMethod
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 618
    functionName: botocore.signers.generate_presigned_url
    functionSourceFile: botocore.signers
    functionUses: 0
    functionsReached:
    - botocore.utils.ArnParser.is_arn
    - <builtin>.len
    - <builtin>.isinstance
    - request_signer.generate_presigned_url
    - urllib.parse.unquote.split
    - botocore.signers._should_use_global_endpoint
    - botocore.utils.ArnParser.parse_arn
    - urllib.parse.unquote.startswith
    - params.get
    - s3_config.get
    linkageType: pythonLinkage
    raised:
    - UnknownClientMethodError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 1
    argNames:
    - client
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 820
    functionName: botocore.signers._should_use_global_endpoint
    functionSourceFile: botocore.signers
    functionUses: 2
    functionsReached:
    - s3_config.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request_signer.generate_presigned_url
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - class_attributes
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 688
    functionName: botocore.signers.add_generate_presigned_post
    functionSourceFile: botocore.signers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 6
    argNames:
    - self
    - Bucket
    - Key
    - Fields
    - Conditions
    - ExpiresIn
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 692
    functionName: botocore.signers.generate_presigned_post
    functionSourceFile: botocore.signers
    functionUses: 0
    functionsReached:
    - botocore.utils.ArnParser.is_arn
    - expire_date.strftime
    - <builtin>.isinstance
    - <builtin>.len
    - fields.copy
    - headers.items
    - urllib.parse.unquote.startswith
    - http.client.HTTPMessage.__init__
    - datetime.timedelta
    - params.get
    - botocore.awsrequest.AWSRequest.__init__
    - botocore.signers.S3PostPresigner.__init__
    - r.get
    - botocore.awsrequest.create_request_object
    - urllib.parse.unquote.split
    - botocore.utils.ArnParser.parse_arn
    - botocore.signers._should_use_global_endpoint
    - botocore.signers.S3PostPresigner.generate_presigned_post
    - datetime.datetime.utcnow
    - conditions.append
    - s3_config.get
    - key.endswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fields.copy
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conditions.append
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.endswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.auth
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached:
    - AUTH_TYPE_MAPS.update
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argNames:
    - url
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 70
    functionName: botocore.auth._host_from_url
    functionSourceFile: botocore.auth
    functionUses: 9
    functionsReached:
    - UNSAFE_URL_CHARS.intersection
    - urllib.parse.urlsplit
    - botocore.utils.is_valid_ipv6_endpoint_url
    - default_ports.get
    - IPV6_ADDRZ_RE.match
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: default_ports.get
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argNames:
    - request
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 89
    functionName: botocore.auth._get_body_as_dict
    functionSourceFile: botocore.auth
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - json.loads
    - data.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.decode
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 106
    functionName: botocore.auth.BaseSigner.add_auth
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - auth_token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 116
    functionName: botocore.auth.TokenSigner.__init__
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - credentials
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 125
    functionName: botocore.auth.SigV2Auth.__init__
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - request
    - params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 128
    functionName: botocore.auth.SigV2Auth.calc_signature
    functionSourceFile: botocore.auth
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - key.encode
    - pairs.append
    - logger.debug
    - urllib.parse.urlsplit
    - string_to_sign.encode
    - hmac.new
    - base64.b64encode
    - <builtin>.sorted
    - urllib.parse.quote
    - lhmac.digest
    - value.encode
    - lhmac.update
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hmac.new
    functionSourceFile: hmac
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pairs.append
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: string_to_sign.encode
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lhmac.update
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lhmac.digest
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 156
    functionName: botocore.auth.SigV2Auth.add_auth
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached:
    - time.gmtime
    - <builtin>.len
    - logger.debug
    - key.encode
    - pairs.append
    - lhmac.update
    - string_to_sign.encode
    - hmac.new
    - base64.b64encode
    - time.strftime
    - <builtin>.sorted
    - urllib.parse.quote
    - lhmac.digest
    - botocore.auth.SigV2Auth.calc_signature
    - value.encode
    - urllib.parse.urlsplit
    - <builtin>.str
    linkageType: pythonLinkage
    raised:
    - NoCredentialsError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.gmtime
    functionSourceFile: time
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.strftime
    functionSourceFile: time
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - credentials
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 182
    functionName: botocore.auth.SigV3Auth.__init__
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 185
    functionName: botocore.auth.SigV3Auth.add_auth
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached:
    - new_hmac.digest
    - base64.encodebytes
    - encoded_signature.decode
    - new_hmac.update
    - hmac.new
    - email.utils.formatdate
    - base64.encodebytes.strip
    linkageType: pythonLinkage
    raised:
    - NoCredentialsError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_hmac.update
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_hmac.digest
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: base64.encodebytes
    functionSourceFile: base64
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: base64.encodebytes.strip
    functionSourceFile: base64
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: encoded_signature.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - credentials
    - service_name
    - region_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 216
    functionName: botocore.auth.SigV4Auth.__init__
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - key
    - msg
    - hex
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 224
    functionName: botocore.auth.SigV4Auth._sign
    functionSourceFile: botocore.auth
    functionUses: 3
    functionsReached:
    - hmac.new
    - msg.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: msg.encode
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 231
    functionName: botocore.auth.SigV4Auth.headers_to_sign
    functionSourceFile: botocore.auth
    functionUses: 4
    functionsReached:
    - request.headers.items
    - http.client.HTTPMessage.__init__
    - botocore.auth._host_from_url
    - UNSAFE_URL_CHARS.intersection
    - urllib.parse.urlsplit
    - botocore.utils.is_valid_ipv6_endpoint_url
    - default_ports.get
    - name.lower
    - IPV6_ADDRZ_RE.match
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request.headers.items
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.lower
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 247
    functionName: botocore.auth.SigV4Auth.canonical_query_string
    functionSourceFile: botocore.auth
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - key_val_pairs.append
    - pair.partition
    - params.items
    - sorted_key_vals.append
    - <builtin>.sorted
    - urllib.parse.quote
    - urllib.parse.urlsplit.query.split
    - urllib.parse.urlsplit
    - botocore.auth.SigV4Auth._canonical_query_string_params
    - botocore.auth.SigV4Auth._canonical_query_string_url
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - params
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 257
    functionName: botocore.auth.SigV4Auth._canonical_query_string_params
    functionSourceFile: botocore.auth
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - key_val_pairs.append
    - params.items
    - sorted_key_vals.append
    - <builtin>.sorted
    - urllib.parse.quote
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - parts
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 274
    functionName: botocore.auth.SigV4Auth._canonical_query_string_url
    functionSourceFile: botocore.auth
    functionUses: 3
    functionsReached:
    - key_val_pairs.append
    - sorted_key_vals.append
    - <builtin>.sorted
    - urllib.parse.urlsplit.query.split
    - pair.partition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key_val_pairs.append
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sorted_key_vals.append
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlsplit.query.split
    functionSourceFile: urllib
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pair.partition
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - headers_to_sign
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 290
    functionName: botocore.auth.SigV4Auth.canonical_headers
    functionSourceFile: botocore.auth
    functionUses: 2
    functionsReached:
    - headers_to_sign.get_all
    - <builtin>.set
    - headers.append
    - botocore.compat.ensure_unicode
    - <builtin>.sorted
    - value.split
    - botocore.auth.SigV4Auth._header_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 306
    functionName: botocore.auth.SigV4Auth._header_value
    functionSourceFile: botocore.auth
    functionUses: 3
    functionsReached:
    - value.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: headers_to_sign.get_all
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: headers.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - headers_to_sign
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 314
    functionName: botocore.auth.SigV4Auth.signed_headers
    functionSourceFile: botocore.auth
    functionUses: 4
    functionsReached:
    - <builtin>.set
    - <builtin>.sorted
    - n.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: n.lower
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 318
    functionName: botocore.auth.SigV4Auth._is_streaming_checksum_payload
    functionSourceFile: botocore.auth
    functionUses: 4
    functionsReached:
    - checksum_context.get
    - <builtin>.isinstance
    - algorithm.get
    - request.context.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: algorithm.get
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 323
    functionName: botocore.auth.SigV4Auth.payload
    functionSourceFile: botocore.auth
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.iter
    - <builtin>.hasattr
    - request_body.seek
    - request.url.startswith
    - botocore.auth.SigV4Auth._is_streaming_checksum_payload
    - hashlib.sha256
    - checksum_context.get
    - hashlib.sha256.hexdigest
    - algorithm.get
    - request.context.get
    - hashlib.sha256.update
    - request_body.tell
    - functools.partial
    - botocore.auth.SigV4Auth._should_sha256_sign_payload
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 349
    functionName: botocore.auth.SigV4Auth._should_sha256_sign_payload
    functionSourceFile: botocore.auth
    functionUses: 4
    functionsReached:
    - request.url.startswith
    - request.context.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request_body.tell
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hashlib.sha256.hexdigest
    functionSourceFile: hashlib
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request_body.seek
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request.url.startswith
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 359
    functionName: botocore.auth.SigV4Auth.canonical_request
    functionSourceFile: botocore.auth
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - UNSAFE_URL_CHARS.intersection
    - params.items
    - checksum_context.get
    - algorithm.get
    - request.context.get
    - name.lower
    - headers.append
    - request_body.tell
    - cr.append
    - request.method.upper
    - botocore.compat.ensure_unicode
    - output_list.append
    - http.client.HTTPMessage.__init__
    - botocore.auth.SigV4Auth._is_streaming_checksum_payload
    - botocore.auth.SigV4Auth.canonical_headers
    - <builtin>.set
    - IPV6_ADDRZ_RE.match
    - urllib.parse.urlsplit.query.split
    - value.split
    - botocore.auth.SigV4Auth._header_value
    - botocore.auth.SigV4Auth._canonical_query_string_params
    - botocore.utils.remove_dot_segments
    - botocore.auth.SigV4Auth.signed_headers
    - <builtin>.iter
    - <builtin>.hasattr
    - request_body.seek
    - key_val_pairs.append
    - botocore.utils.is_valid_ipv6_endpoint_url
    - hashlib.sha256
    - output_list.pop
    - sorted_key_vals.append
    - hashlib.sha256.update
    - <builtin>.sorted
    - botocore.auth.SigV4Auth.canonical_query_string
    - urllib.parse.quote
    - n.lower
    - botocore.auth.SigV4Auth.headers_to_sign
    - botocore.utils.normalize_url_path
    - urllib.parse.urlsplit
    - urllib.parse.urlparse.path.split
    - functools.partial
    - botocore.auth.SigV4Auth._should_sha256_sign_payload
    - request.headers.items
    - botocore.auth.SigV4Auth._canonical_query_string_url
    - botocore.auth.SigV4Auth.payload
    - pair.partition
    - <builtin>.str
    - botocore.auth._host_from_url
    - request.url.startswith
    - botocore.auth.SigV4Auth._normalize_url_path
    - default_ports.get
    - hashlib.sha256.hexdigest
    - headers_to_sign.get_all
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request.method.upper
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 374
    functionName: botocore.auth.SigV4Auth._normalize_url_path
    functionSourceFile: botocore.auth
    functionUses: 2
    functionsReached:
    - botocore.utils.remove_dot_segments
    - output_list.append
    - output_list.pop
    - urllib.parse.quote
    - botocore.utils.normalize_url_path
    - urllib.parse.urlparse.path.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cr.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 378
    functionName: botocore.auth.SigV4Auth.scope
    functionSourceFile: botocore.auth
    functionUses: 4
    functionsReached:
    - scope.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: scope.append
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 386
    functionName: botocore.auth.SigV4Auth.credential_scope
    functionSourceFile: botocore.auth
    functionUses: 2
    functionsReached:
    - scope.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - request
    - canonical_request
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 394
    functionName: botocore.auth.SigV4Auth.string_to_sign
    functionSourceFile: botocore.auth
    functionUses: 1
    functionsReached:
    - scope.append
    - sts.append
    - hashlib.sha256
    - hashlib.sha256.hexdigest
    - canonical_request.encode
    - botocore.auth.SigV4Auth.credential_scope
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sts.append
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: canonical_request.encode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - string_to_sign
    - request
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 406
    functionName: botocore.auth.SigV4Auth.signature
    functionSourceFile: botocore.auth
    functionUses: 2
    functionsReached:
    - botocore.auth.SigV4Auth._sign
    - hmac.new
    - msg.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 416
    functionName: botocore.auth.SigV4Auth.add_auth
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached:
    - botocore.auth.SigV4Auth._inject_signature_to_request
    - params.items
    - algorithm.get
    - request_body.tell
    - scope.append
    - datetime_timestamp.timetuple
    - hmac.new
    - botocore.auth.SigV4Auth.signed_headers
    - <builtin>.hasattr
    - sorted_key_vals.append
    - output_list.pop
    - canonical_request.encode
    - <builtin>.sorted
    - urllib.parse.quote
    - botocore.auth.SigV4Auth.scope
    - n.lower
    - botocore.auth.SigV4Auth._canonical_query_string_url
    - <builtin>.str
    - request.url.startswith
    - datetime.datetime.utcnow
    - <builtin>.int
    - logger.debug
    - checksum_context.get
    - headers.append
    - cr.append
    - output_list.append
    - botocore.auth.SigV4Auth._is_streaming_checksum_payload
    - botocore.auth.SigV4Auth.canonical_headers
    - IPV6_ADDRZ_RE.match
    - botocore.auth.SigV4Auth.credential_scope
    - botocore.utils.remove_dot_segments
    - key_val_pairs.append
    - <builtin>.iter
    - botocore.auth.SigV4Auth.string_to_sign
    - request_body.seek
    - botocore.utils.is_valid_ipv6_endpoint_url
    - hashlib.sha256.update
    - botocore.utils.normalize_url_path
    - botocore.auth.SigV4Auth._should_sha256_sign_payload
    - request.headers.items
    - calendar.timegm
    - default_ports.get
    - <builtin>.isinstance
    - name.lower
    - request.method.upper
    - botocore.compat.ensure_unicode
    - sts.append
    - <builtin>.set
    - value.split
    - botocore.auth.SigV4Auth.canonical_query_string
    - botocore.auth.SigV4Auth._modify_request_before_signing
    - pair.partition
    - urllib.parse.urlsplit
    - functools.partial
    - urllib.parse.urlparse.path.split
    - botocore.auth.SigV4Auth.payload
    - hashlib.sha256.hexdigest
    - botocore.auth.SigV4Auth.canonical_request
    - headers_to_sign.get_all
    - msg.encode
    - email.utils.formatdate
    - urllib.parse.urlparse
    - UNSAFE_URL_CHARS.intersection
    - request.context.get
    - http.client.HTTPMessage.__init__
    - auth_str.append
    - urllib.parse.urlsplit.query.split
    - botocore.auth.SigV4Auth._header_value
    - botocore.auth.SigV4Auth._canonical_query_string_params
    - botocore.auth.SigV4Auth._sign
    - botocore.auth.SigV4Auth.signature
    - datetime.datetime.strptime
    - hashlib.sha256
    - botocore.auth.SigV4Auth.headers_to_sign
    - botocore.auth._host_from_url
    - botocore.auth.SigV4Auth._normalize_url_path
    - botocore.auth.SigV4Auth._set_necessary_date_headers
    - datetime_now.strftime
    linkageType: pythonLinkage
    raised:
    - NoCredentialsError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime_now.strftime
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 444
    functionName: botocore.auth.SigV4Auth._modify_request_before_signing
    functionSourceFile: botocore.auth
    functionUses: 1
    functionsReached:
    - calendar.timegm
    - datetime_timestamp.timetuple
    - datetime.datetime.strptime
    - request.context.get
    - <builtin>.int
    - botocore.auth.SigV4Auth._set_necessary_date_headers
    - email.utils.formatdate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - request
    - signature
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 434
    functionName: botocore.auth.SigV4Auth._inject_signature_to_request
    functionSourceFile: botocore.auth
    functionUses: 1
    functionsReached:
    - request.headers.items
    - http.client.HTTPMessage.__init__
    - botocore.auth.SigV4Auth.signed_headers
    - scope.append
    - botocore.auth._host_from_url
    - UNSAFE_URL_CHARS.intersection
    - urllib.parse.urlsplit
    - default_ports.get
    - botocore.utils.is_valid_ipv6_endpoint_url
    - name.lower
    - <builtin>.set
    - auth_str.append
    - IPV6_ADDRZ_RE.match
    - <builtin>.sorted
    - n.lower
    - botocore.auth.SigV4Auth.scope
    - botocore.auth.SigV4Auth.headers_to_sign
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: auth_str.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 458
    functionName: botocore.auth.SigV4Auth._set_necessary_date_headers
    functionSourceFile: botocore.auth
    functionUses: 2
    functionsReached:
    - calendar.timegm
    - datetime_timestamp.timetuple
    - datetime.datetime.strptime
    - <builtin>.int
    - email.utils.formatdate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime_timestamp.timetuple
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 479
    functionName: botocore.auth.S3SigV4Auth._modify_request_before_signing
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached:
    - botocore.auth.SigV4Auth.payload
    - <builtin>.isinstance
    - <builtin>.iter
    - <builtin>.hasattr
    - request_body.seek
    - request.url.startswith
    - botocore.auth.SigV4Auth._is_streaming_checksum_payload
    - hashlib.sha256
    - checksum_context.get
    - hashlib.sha256.hexdigest
    - algorithm.get
    - request.context.get
    - hashlib.sha256.update
    - <builtin>.super
    - request_body.tell
    - functools.partial
    - botocore.auth.SigV4Auth._should_sha256_sign_payload
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 486
    functionName: botocore.auth.S3SigV4Auth._should_sha256_sign_payload
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.isinstance
    - request.url.startswith
    - checksum_context.get
    - algorithm.get
    - request.context.get
    - <builtin>.super
    - s3_config.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 527
    functionName: botocore.auth.S3SigV4Auth._normalize_url_path
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - credentials
    - service_name
    - region_name
    - expires
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 535
    functionName: botocore.auth.SigV4QueryAuth.__init__
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 541
    functionName: botocore.auth.SigV4QueryAuth._modify_request_before_signing
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - botocore.utils.percent_encode_sequence
    - mapping.items
    - UNSAFE_URL_CHARS.intersection
    - name.lower
    - json.loads
    - scope.append
    - request.headers.get
    - urllib.parse.parse_qs
    - http.client.HTTPMessage.__init__
    - botocore.utils.percent_encode
    - <builtin>.set
    - IPV6_ADDRZ_RE.match
    - data.decode
    - query_dict.update
    - botocore.auth._get_body_as_dict
    - botocore.auth.SigV4Auth.signed_headers
    - <builtin>.hasattr
    - botocore.utils.is_valid_ipv6_endpoint_url
    - <builtin>.sorted
    - urllib.parse.quote
    - n.lower
    - botocore.auth.SigV4Auth.scope
    - botocore.auth.SigV4Auth.headers_to_sign
    - urllib.parse.urlsplit
    - <builtin>.str
    - request.headers.items
    - botocore.auth._host_from_url
    - default_ports.get
    - urllib.parse.quote.encode
    - urllib.parse.parse_qs.items
    - encoded_pairs.append
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request.headers.get
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.parse_qs
    functionSourceFile: urllib
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.parse_qs.items
    functionSourceFile: urllib
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: query_dict.update
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - request
    - signature
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 606
    functionName: botocore.auth.SigV4QueryAuth._inject_signature_to_request
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 625
    functionName: botocore.auth.S3SigV4QueryAuth._normalize_url_path
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 629
    functionName: botocore.auth.S3SigV4QueryAuth.payload
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 645
    functionName: botocore.auth.S3SigV4PostAuth.add_auth
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached:
    - botocore.auth.SigV4Auth._sign
    - botocore.auth.SigV4Auth.signature
    - datetime.datetime.utcnow
    - json.dumps
    - conditions.append
    - request.context.get
    - msg.encode
    - policy.get
    - base64.b64encode
    - hmac.new
    - botocore.auth.SigV4Auth.scope
    - datetime_now.strftime
    - scope.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: policy.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - credentials
    - service_name
    - region_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 727
    functionName: botocore.auth.HmacV1Auth.__init__
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - string_to_sign
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 730
    functionName: botocore.auth.HmacV1Auth.sign_string
    functionSourceFile: botocore.auth
    functionUses: 3
    functionsReached:
    - new_hmac.digest
    - base64.encodebytes
    - string_to_sign.encode
    - new_hmac.update
    - hmac.new
    - base64.encodebytes.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argNames:
    - self
    - headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 737
    functionName: botocore.auth.HmacV1Auth.canonical_standard_headers
    functionSourceFile: botocore.auth
    functionUses: 3
    functionsReached:
    - email.utils.formatdate
    - hoi.append
    - key.lower
    - botocore.auth.HmacV1Auth._get_date
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 838
    functionName: botocore.auth.HmacV1Auth._get_date
    functionSourceFile: botocore.auth
    functionUses: 4
    functionsReached:
    - email.utils.formatdate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hoi.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 754
    functionName: botocore.auth.HmacV1Auth.canonical_custom_headers
    functionSourceFile: botocore.auth
    functionUses: 3
    functionsReached:
    - v.strip
    - custom_headers.keys
    - headers.get_all
    - <builtin>.sorted
    - hoi.append
    - key.lower
    - lk.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lk.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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: v.strip
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: headers.get_all
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: custom_headers.keys
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - nv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 769
    functionName: botocore.auth.HmacV1Auth.unquote_v
    functionSourceFile: botocore.auth
    functionUses: 4
    functionsReached:
    - <builtin>.len
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argNames:
    - self
    - split
    - auth_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 778
    functionName: botocore.auth.HmacV1Auth.canonical_resource
    functionSourceFile: botocore.auth
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - qsa.sort
    - a.split
    - botocore.auth.HmacV1Auth.unquote_v
    - urllib.parse.urlsplit.query.split
    - operator.itemgetter
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: a.split
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: qsa.sort
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 6
    argNames:
    - self
    - method
    - split
    - headers
    - expires
    - auth_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 804
    functionName: botocore.auth.HmacV1Auth.canonical_string
    functionSourceFile: botocore.auth
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - botocore.auth.HmacV1Auth._get_date
    - botocore.auth.HmacV1Auth.canonical_custom_headers
    - qsa.sort
    - a.split
    - method.upper
    - headers.get_all
    - botocore.auth.HmacV1Auth.canonical_standard_headers
    - urllib.parse.urlsplit.query.split
    - key.lower
    - <builtin>.sorted
    - hoi.append
    - lk.startswith
    - v.strip
    - custom_headers.keys
    - botocore.auth.HmacV1Auth.unquote_v
    - botocore.auth.HmacV1Auth.canonical_resource
    - email.utils.formatdate
    - operator.itemgetter
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: method.upper
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 6
    argNames:
    - self
    - method
    - split
    - headers
    - expires
    - auth_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 815
    functionName: botocore.auth.HmacV1Auth.get_signature
    functionSourceFile: botocore.auth
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.auth.HmacV1Auth.canonical_string
    - botocore.auth.HmacV1Auth._get_date
    - base64.encodebytes.strip
    - botocore.auth.HmacV1Auth.canonical_custom_headers
    - qsa.sort
    - a.split
    - method.upper
    - headers.get_all
    - botocore.auth.HmacV1Auth.canonical_standard_headers
    - new_hmac.update
    - hmac.new
    - urllib.parse.urlsplit.query.split
    - key.lower
    - string_to_sign.encode
    - <builtin>.sorted
    - hoi.append
    - lk.startswith
    - new_hmac.digest
    - v.strip
    - base64.encodebytes
    - custom_headers.keys
    - botocore.auth.HmacV1Auth.unquote_v
    - botocore.auth.HmacV1Auth.canonical_resource
    - botocore.auth.HmacV1Auth.sign_string
    - email.utils.formatdate
    - operator.itemgetter
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 827
    functionName: botocore.auth.HmacV1Auth.add_auth
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.auth.HmacV1Auth.canonical_string
    - botocore.auth.HmacV1Auth._get_date
    - base64.encodebytes.strip
    - botocore.auth.HmacV1Auth._inject_signature
    - botocore.auth.HmacV1Auth.canonical_custom_headers
    - qsa.sort
    - a.split
    - method.upper
    - headers.get_all
    - botocore.auth.HmacV1Auth.canonical_standard_headers
    - new_hmac.update
    - hmac.new
    - urllib.parse.urlsplit.query.split
    - key.lower
    - string_to_sign.encode
    - <builtin>.sorted
    - hoi.append
    - urllib.parse.urlsplit
    - lk.startswith
    - new_hmac.digest
    - botocore.auth.HmacV1Auth.get_signature
    - v.strip
    - base64.encodebytes
    - custom_headers.keys
    - botocore.auth.HmacV1Auth.unquote_v
    - botocore.auth.HmacV1Auth.canonical_resource
    - botocore.auth.HmacV1Auth.sign_string
    - email.utils.formatdate
    - operator.itemgetter
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - request
    - signature
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 841
    functionName: botocore.auth.HmacV1Auth._inject_signature
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - credentials
    - expires
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 868
    functionName: botocore.auth.HmacV1QueryAuth.__init__
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 872
    functionName: botocore.auth.HmacV1QueryAuth._get_date
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - time.time
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.time
    functionSourceFile: time
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argNames:
    - self
    - request
    - signature
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 875
    functionName: botocore.auth.HmacV1QueryAuth._inject_signature
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - botocore.utils.percent_encode_sequence
    - mapping.items
    - <builtin>.hasattr
    - header_key.lower
    - botocore.utils.percent_encode
    - urllib.parse.quote.encode
    - urllib.parse.quote
    - encoded_pairs.append
    - urllib.parse.urlsplit
    - lk.startswith
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: header_key.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 917
    functionName: botocore.auth.HmacV1PostAuth.add_auth
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached:
    - new_hmac.digest
    - base64.encodebytes
    - json.dumps
    - conditions.append
    - request.context.get
    - string_to_sign.encode
    - policy.get
    - base64.b64encode
    - new_hmac.update
    - hmac.new
    - botocore.auth.HmacV1Auth.sign_string
    - base64.encodebytes.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 956
    functionName: botocore.auth.BearerAuth.add_auth
    functionSourceFile: botocore.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NoAuthTokenError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: AUTH_TYPE_MAPS.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.crt
    functionSourceFile: botocore.crt
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.crt.auth
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - credentials
    - service_name
    - region_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 42
    functionName: botocore.crt.auth.CrtSigV4Auth.__init__
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 48
    functionName: botocore.crt.auth.CrtSigV4Auth._is_streaming_checksum_payload
    functionSourceFile: botocore.crt.auth
    functionUses: 1
    functionsReached:
    - checksum_context.get
    - <builtin>.isinstance
    - algorithm.get
    - request.context.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 53
    functionName: botocore.crt.auth.CrtSigV4Auth.add_auth
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - array.append
    - awscrt.auth.AwsSigningConfig
    - UNSAFE_URL_CHARS.intersection
    - botocore.crt.auth.CrtSigV4Auth._crt_request_from_aws_request
    - checksum_context.get
    - algorithm.get
    - request.context.get
    - botocore.crt.auth.CrtSigV4Auth._should_sha256_sign_payload
    - request.headers.get
    - awscrt.auth.AwsCredentialsProvider.new_static
    - botocore.crt.auth.CrtSigV4Auth._is_streaming_checksum_payload
    - aws_request.headers.items
    - botocore.compat.from_pairs
    - awscrt.http.HttpHeaders
    - IPV6_ADDRZ_RE.match
    - botocore.crt.auth.CrtSigV4Auth._get_existing_sha256
    - <builtin>.list
    - future.result
    - <builtin>.hasattr
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.crt.auth.CrtSigV4Auth._apply_signing_changes
    - botocore.crt.auth.CrtSigV4Auth._modify_request_before_signing
    - awscrt.auth.aws_sign_request
    - urllib.parse.urlsplit
    - <builtin>.str
    - awscrt.http.HttpRequest
    - botocore.auth._host_from_url
    - request.url.startswith
    - datetime.datetime.utcnow
    - default_ports.get
    - aws_request.params.items
    - io.BytesIO
    - botocore.crt.auth.CrtSigV4Auth._should_add_content_sha256_header
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised:
    - NoCredentialsError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 159
    functionName: botocore.crt.auth.CrtSigV4Auth._get_existing_sha256
    functionSourceFile: botocore.crt.auth
    functionUses: 1
    functionsReached:
    - request.headers.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 149
    functionName: botocore.crt.auth.CrtSigV4Auth._modify_request_before_signing
    functionSourceFile: botocore.crt.auth
    functionUses: 1
    functionsReached:
    - botocore.auth._host_from_url
    - UNSAFE_URL_CHARS.intersection
    - urllib.parse.urlsplit
    - botocore.utils.is_valid_ipv6_endpoint_url
    - default_ports.get
    - IPV6_ADDRZ_RE.match
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: awscrt.auth.AwsCredentialsProvider.new_static
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 162
    functionName: botocore.crt.auth.CrtSigV4Auth._should_sha256_sign_payload
    functionSourceFile: botocore.crt.auth
    functionUses: 1
    functionsReached:
    - request.url.startswith
    - request.context.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - explicit_payload
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 172
    functionName: botocore.crt.auth.CrtSigV4Auth._should_add_content_sha256_header
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: awscrt.auth.AwsSigningConfig
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argNames:
    - self
    - aws_request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 110
    functionName: botocore.crt.auth.CrtSigV4Auth._crt_request_from_aws_request
    functionSourceFile: botocore.crt.auth
    functionUses: 1
    functionsReached:
    - <builtin>.hasattr
    - array.append
    - awscrt.http.HttpRequest
    - aws_request.headers.items
    - aws_request.params.items
    - awscrt.http.HttpHeaders
    - io.BytesIO
    - urllib.parse.urlsplit
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: awscrt.auth.aws_sign_request
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: future.result
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - aws_request
    - signed_crt_request
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 140
    functionName: botocore.crt.auth.CrtSigV4Auth._apply_signing_changes
    functionSourceFile: botocore.crt.auth
    functionUses: 1
    functionsReached:
    - botocore.compat.from_pairs
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: aws_request.params.items
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: array.append
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: aws_request.headers.items
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: awscrt.http.HttpHeaders
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: awscrt.http.HttpRequest
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 146
    functionName: botocore.crt.auth.CrtSigV4Auth._should_sign_header
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached:
    - name.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 182
    functionName: botocore.crt.auth.CrtS3SigV4Auth._get_existing_sha256
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 186
    functionName: botocore.crt.auth.CrtS3SigV4Auth._should_sha256_sign_payload
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.isinstance
    - request.url.startswith
    - checksum_context.get
    - algorithm.get
    - request.context.get
    - <builtin>.super
    - s3_config.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - explicit_payload
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 227
    functionName: botocore.crt.auth.CrtS3SigV4Auth._should_add_content_sha256_header
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - credentials
    - service_name
    - region_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 244
    functionName: botocore.crt.auth.CrtSigV4AsymAuth.__init__
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 250
    functionName: botocore.crt.auth.CrtSigV4AsymAuth.add_auth
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - array.append
    - awscrt.auth.AwsSigningConfig
    - UNSAFE_URL_CHARS.intersection
    - checksum_context.get
    - botocore.crt.auth.CrtSigV4AsymAuth._should_add_content_sha256_header
    - request.context.get
    - algorithm.get
    - botocore.crt.auth.CrtSigV4AsymAuth._is_streaming_checksum_payload
    - awscrt.auth.AwsCredentialsProvider.new_static
    - request.headers.get
    - botocore.crt.auth.CrtSigV4AsymAuth._apply_signing_changes
    - botocore.compat.from_pairs
    - awscrt.http.HttpHeaders
    - aws_request.headers.items
    - IPV6_ADDRZ_RE.match
    - <builtin>.list
    - future.result
    - botocore.crt.auth.CrtSigV4AsymAuth._should_sha256_sign_payload
    - <builtin>.hasattr
    - botocore.crt.auth.CrtSigV4AsymAuth._get_existing_sha256
    - botocore.utils.is_valid_ipv6_endpoint_url
    - awscrt.auth.aws_sign_request
    - urllib.parse.urlsplit
    - botocore.crt.auth.CrtSigV4AsymAuth._crt_request_from_aws_request
    - <builtin>.str
    - request.url.startswith
    - botocore.auth._host_from_url
    - botocore.crt.auth.CrtSigV4AsymAuth._modify_request_before_signing
    - awscrt.http.HttpRequest
    - datetime.datetime.utcnow
    - default_ports.get
    - aws_request.params.items
    - io.BytesIO
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised:
    - NoCredentialsError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 356
    functionName: botocore.crt.auth.CrtSigV4AsymAuth._get_existing_sha256
    functionSourceFile: botocore.crt.auth
    functionUses: 1
    functionsReached:
    - request.headers.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 346
    functionName: botocore.crt.auth.CrtSigV4AsymAuth._modify_request_before_signing
    functionSourceFile: botocore.crt.auth
    functionUses: 1
    functionsReached:
    - botocore.auth._host_from_url
    - UNSAFE_URL_CHARS.intersection
    - urllib.parse.urlsplit
    - botocore.utils.is_valid_ipv6_endpoint_url
    - default_ports.get
    - IPV6_ADDRZ_RE.match
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 359
    functionName: botocore.crt.auth.CrtSigV4AsymAuth._is_streaming_checksum_payload
    functionSourceFile: botocore.crt.auth
    functionUses: 1
    functionsReached:
    - checksum_context.get
    - <builtin>.isinstance
    - algorithm.get
    - request.context.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 364
    functionName: botocore.crt.auth.CrtSigV4AsymAuth._should_sha256_sign_payload
    functionSourceFile: botocore.crt.auth
    functionUses: 1
    functionsReached:
    - request.url.startswith
    - request.context.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - explicit_payload
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 374
    functionName: botocore.crt.auth.CrtSigV4AsymAuth._should_add_content_sha256_header
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argNames:
    - self
    - aws_request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 307
    functionName: botocore.crt.auth.CrtSigV4AsymAuth._crt_request_from_aws_request
    functionSourceFile: botocore.crt.auth
    functionUses: 1
    functionsReached:
    - <builtin>.hasattr
    - array.append
    - awscrt.http.HttpRequest
    - aws_request.headers.items
    - aws_request.params.items
    - awscrt.http.HttpHeaders
    - io.BytesIO
    - urllib.parse.urlsplit
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - aws_request
    - signed_crt_request
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 337
    functionName: botocore.crt.auth.CrtSigV4AsymAuth._apply_signing_changes
    functionSourceFile: botocore.crt.auth
    functionUses: 1
    functionsReached:
    - botocore.compat.from_pairs
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 343
    functionName: botocore.crt.auth.CrtSigV4AsymAuth._should_sign_header
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached:
    - name.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 384
    functionName: botocore.crt.auth.CrtS3SigV4AsymAuth._get_existing_sha256
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 388
    functionName: botocore.crt.auth.CrtS3SigV4AsymAuth._should_sha256_sign_payload
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - request.url.startswith
    - request.context.get
    - <builtin>.super
    - s3_config.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - explicit_payload
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 424
    functionName: botocore.crt.auth.CrtS3SigV4AsymAuth._should_add_content_sha256_header
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - credentials
    - service_name
    - region_name
    - expires
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 433
    functionName: botocore.crt.auth.CrtSigV4AsymQueryAuth.__init__
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 439
    functionName: botocore.crt.auth.CrtSigV4AsymQueryAuth._modify_request_before_signing
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached:
    - botocore.auth._get_body_as_dict
    - query_dict.update
    - <builtin>.isinstance
    - botocore.utils.percent_encode_sequence
    - mapping.items
    - <builtin>.hasattr
    - botocore.utils.percent_encode
    - urllib.parse.quote.encode
    - <builtin>.super
    - data.decode
    - json.loads
    - urllib.parse.quote
    - urllib.parse.parse_qs.items
    - encoded_pairs.append
    - request.headers.get
    - urllib.parse.urlsplit
    - urllib.parse.parse_qs
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - aws_request
    - signed_crt_request
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 481
    functionName: botocore.crt.auth.CrtSigV4AsymQueryAuth._apply_signing_changes
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached:
    - urllib.parse.urlsplit
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 508
    functionName: botocore.crt.auth.CrtS3SigV4AsymQueryAuth._should_sha256_sign_payload
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - explicit_payload
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 515
    functionName: botocore.crt.auth.CrtS3SigV4AsymQueryAuth._should_add_content_sha256_header
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - credentials
    - service_name
    - region_name
    - expires
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 524
    functionName: botocore.crt.auth.CrtSigV4QueryAuth.__init__
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 530
    functionName: botocore.crt.auth.CrtSigV4QueryAuth._modify_request_before_signing
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached:
    - query_dict.update
    - botocore.auth._get_body_as_dict
    - <builtin>.isinstance
    - botocore.utils.percent_encode_sequence
    - mapping.items
    - <builtin>.hasattr
    - botocore.utils.percent_encode
    - urllib.parse.quote.encode
    - <builtin>.super
    - data.decode
    - json.loads
    - urllib.parse.quote
    - urllib.parse.parse_qs.items
    - encoded_pairs.append
    - request.headers.get
    - urllib.parse.urlsplit
    - urllib.parse.parse_qs
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - aws_request
    - signed_crt_request
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 578
    functionName: botocore.crt.auth.CrtSigV4QueryAuth._apply_signing_changes
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached:
    - urllib.parse.urlsplit
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 607
    functionName: botocore.crt.auth.CrtS3SigV4QueryAuth._should_sha256_sign_payload
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - explicit_payload
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 614
    functionName: botocore.crt.auth.CrtS3SigV4QueryAuth._should_add_content_sha256_header
    functionSourceFile: botocore.crt.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.errorfactory
    functionSourceFile: botocore.errorfactory
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - code_to_exception
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 20
    functionName: botocore.errorfactory.BaseClientExceptions.__init__
    functionSourceFile: botocore.errorfactory
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - error_code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 30
    functionName: botocore.errorfactory.BaseClientExceptions.from_code
    functionSourceFile: botocore.errorfactory
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 46
    functionName: botocore.errorfactory.BaseClientExceptions.__getattr__
    functionSourceFile: botocore.errorfactory
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 58
    functionName: botocore.errorfactory.ClientExceptionsFactory.__init__
    functionSourceFile: botocore.errorfactory
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - service_model
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 61
    functionName: botocore.errorfactory.ClientExceptionsFactory.create_client_exceptions
    functionSourceFile: botocore.errorfactory
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - botocore.utils.get_service_module_name
    - botocore.errorfactory.ClientExceptionsFactory._create_client_exceptions
    - service_model.metadata.get
    - re.sub
    - name.replace
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - service_model
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 77
    functionName: botocore.errorfactory.ClientExceptionsFactory._create_client_exceptions
    functionSourceFile: botocore.errorfactory
    functionUses: 1
    functionsReached:
    - <builtin>.type
    - botocore.utils.get_service_module_name
    - service_model.metadata.get
    - re.sub
    - name.replace
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: botocore.client
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached:
    - botocore.history.HistoryRecorder.__init__
    - <builtin>.frozenset
    - logging.getLogger
    - botocore.history.get_global_history_recorder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 10
    argNames:
    - self
    - loader
    - endpoint_resolver
    - user_agent
    - event_emitter
    - retry_handler_factory
    - retry_config_translator
    - response_parser_factory
    - exceptions_factory
    - config_store
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 83
    functionName: botocore.client.ClientCreator.__init__
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 11
    argNames:
    - self
    - service_name
    - region_name
    - is_secure
    - endpoint_url
    - verify
    - credentials
    - scoped_config
    - api_version
    - client_config
    - auth_token
    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: 9
    functionLinenumber: 109
    functionName: botocore.client.ClientCreator.create_client
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached:
    - copied_args.pop
    - botocore.retries.bucket.Clock.current_time
    - urllib3.util.ssl_.SSLContext
    - botocore.retries.throttling.CubicCalculator._calculate_zero_point
    - service_model.metadata.get
    - botocore.endpoint_provider.RuleSet._ingest_parameter_spec
    - botocore.config.Config.__init__
    - botocore.client.ClientCreator._create_methods
    - botocore.retries.standard.ExponentialBackoff.__init__
    - retries.pop
    - botocore.model.ServiceModel.__init__
    - botocore.utils.ensure_boolean
    - botocore.args.ClientArgsCreator._compute_retry_max_attempts
    - botocore.client.ClientEndpointBridge._resolve_endpoint_variant_config_var
    - botocore.parsers.ResponseParserFactory.__init__
    - botocore.hooks.first_non_none_response
    - botocore.client.ClientCreator._register_legacy_retries
    - botocore.args.ClientArgsCreator._should_set_global_sts_endpoint
    - re.compile
    - botocore.config.Config._record_user_provided_options
    - botocore.config.Config._validate_retry_configuration
    - name.replace
    - <builtin>.list
    - <builtin>.tuple
    - <builtin>.dict
    - is_special.group
    - socket_options.append
    - <builtin>.hasattr
    - scoped_config.get
    - botocore.utils.S3ControlArnParamHandlerv2.__init__
    - operation_model.get
    - urllib.request.proxy_bypass
    - botocore.utils.S3RegionRedirectorv2.register
    - botocore.model.ServiceModel.operation_model
    - botocore.args.ClientArgsCreator._compute_retry_config
    - _special_case_transform.search
    - botocore.client.ClientCreator._transform_legacy_retries
    - <builtin>.str
    - botocore.args.ClientArgsCreator.compute_client_args
    - botocore.client.ClientEndpointBridge.__init__
    - event_emitter.register
    - botocore.retries.adaptive.RateClocker.__init__
    - botocore.utils.S3ControlArnParamHandlerv2.register
    - s3_config.get
    - botocore.retries.standard.RetryPolicy.__init__
    - logger.debug
    - events.register
    - botocore.client.ClientCreator._requires_endpoint_discovery
    - botocore.config.Config.merge
    - botocore.endpoint_provider.RuleCreator.create
    - urllib.parse.urlsplit.netloc.endswith
    - botocore.retries.standard.StandardRetryConditions.__init__
    - service_config.get
    - botocore.client.ClientCreator._register_v2_adaptive_retries
    - <builtin>.enumerate
    - retries.copy
    - botocore.validate.ParamValidationDecorator.__init__
    - botocore.httpsession.URLLib3Session.__init__
    - botocore.signers.RequestSigner.__init__
    - os.environ.get
    - copy.copy
    - matched.lower
    - s3_configuration.update
    - <builtin>.type
    - botocore.utils.get_service_module_name
    - botocore.client.ClientCreator._create_client_class
    - config_kwargs.get
    - threading.Lock
    - s3.get
    - botocore.args.ClientArgsCreator._compute_endpoint_config
    - urllib.parse.urlsplit.netloc.split
    - botocore.client.ClientCreator._register_v2_standard_retries
    - events.register_first
    - botocore.args.ClientArgsCreator.__init__
    - botocore.retries.standard.TransientRetryableChecker.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.args.ClientArgsCreator._validate_s3_regional_config
    - botocore.endpoint.Endpoint.__init__
    - botocore.httpsession.create_urllib3_context
    - botocore.endpoint.EndpointCreator.create_endpoint
    - botocore.endpoint_provider.RuleSet.__init__
    - time.time
    - client.meta.service_model.service_id.hyphenize
    - botocore.retries.standard.RetryQuotaChecker.__init__
    - botocore.client._get_configured_signature_version
    - botocore.args.ClientArgsCreator._build_endpoint_resolver
    - botocore.utils.get_environ_proxies
    - botocore.args.ClientArgsCreator._resolve_endpoint
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.config.Config._validate_s3_configuration
    - client.meta.events.register
    - <builtin>.super
    - botocore.model.ShapeResolver.__init__
    - botocore.endpoint_provider.ParameterDefinition.__init__
    - botocore.args.ClientArgsCreator._should_force_s3_global
    - emitter.register
    - retries.items
    - botocore.args.ClientArgsCreator._is_s3_service
    - botocore.endpoint.EndpointCreator._get_verify_value
    - config_vars.update
    - botocore.client.ClientEndpointBridge._resolve_use_dualstack_endpoint
    - parameters.items
    - botocore.discovery.EndpointDiscoveryManager.__init__
    - _end_cap_regex.sub
    - botocore.regions.EndpointRulesetResolver.__init__
    - botocore.endpoint.EndpointCreator.__init__
    - _first_cap_regex.sub
    - botocore.retries.standard.register_retry_handler
    - botocore.model.OperationModel.__init__
    - <builtin>.len
    - botocore.xform_name
    - <builtin>.isinstance
    - botocore.args.ClientArgsCreator._set_global_sts_endpoint
    - botocore.utils.is_s3_accelerate_url
    - urllib3.PoolManager
    - botocore.serialize.create_serializer
    - botocore.client.ClientCreator._register_s3_events
    - botocore.args.ClientArgsCreator._compute_s3_endpoint_config
    - weakref.proxy
    - botocore.client.ClientCreator._register_retries
    - s3_configuration.copy
    - botocore.utils.should_bypass_proxies
    - botocore.client.ClientCreator._normalize_fips_region
    - botocore.retries.bucket.Clock.__init__
    - <builtin>.getattr
    - allowed.match
    - urllib.request.getproxies
    - botocore.client.ClientCreator._create_api_method
    - botocore.retries.standard.ThrottledRetryableChecker.__init__
    - region_name.replace
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - kwargs.pop
    - <builtin>.set
    - botocore.parsers.ResponseParserFactory.create_parser
    - botocore.retries.adaptive.register_retry_handler
    - botocore.retries.throttling.CubicCalculator.__init__
    - botocore.args.ClientArgsCreator._compute_retry_mode
    - botocore.client.ClientCreator._load_service_model
    - urllib3.Timeout
    - spec.get
    - endpoint_bridge.resolve
    - botocore.client.ClientCreator._set_s3_presign_signature_version
    - botocore.endpoint_provider.RuleSetStandardLibrary.__init__
    - botocore.client.ClientCreator._get_client_args
    - original_config.get
    - botocore.retries.quota.RetryQuota.__init__
    - botocore.discovery.EndpointDiscoveryHandler.register
    - botocore.endpoint.EndpointCreator._get_proxies
    - botocore.client.ClientCreator._normalize_endpoint_discovery_config
    - botocore.retries.standard.ThrottlingErrorDetector.__init__
    - botocore.client.ClientEndpointBridge.resolver_uses_builtin_data
    - botocore.client.ClientEndpointBridge._is_s3_dualstack_mode
    - botocore.args.ClientArgsCreator._compute_sts_endpoint_config
    - logger.info
    - urllib.parse.urlsplit
    - botocore.parsers.create_parser
    - botocore.retries.standard.RetryHandler.__init__
    - botocore.args.ClientArgsCreator.compute_endpoint_resolver_builtin_defaults
    - botocore.args.ClientArgsCreator._compute_socket_options
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.client.ClientCreator._register_s3_control_events
    - botocore.retries.adaptive.ClientRateLimiter.__init__
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - botocore.retries.standard.MaxAttemptsChecker.__init__
    - urllib.parse.urlparse
    - kwargs.items
    - UNSAFE_URL_CHARS.intersection
    - botocore.client.ClientCreator._load_service_endpoints_ruleset
    - parameter_type.lower
    - endpoint_config.get
    - botocore.client.ClientCreator._create_name_mapping
    - <builtin>.all
    - botocore.endpoint_provider.EndpointProvider.__init__
    - botocore.retries.standard.ModeledRetryableChecker.__init__
    - botocore.args.ClientArgsCreator._ensure_boolean
    - val.lower
    - config_kwargs.update
    - re.sub
    - service_id.hyphenize
    - client_meta.events.register
    - botocore.retries.standard.OrRetryChecker.__init__
    - <builtin>.setattr
    - botocore.args.ClientArgsCreator._set_region_if_custom_s3_endpoint
    - service_description.get
    - botocore.discovery.EndpointDiscoveryHandler.__init__
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - config_options.update
    - botocore.args.ClientArgsCreator._get_sts_regional_endpoints_config
    - botocore.args.ClientArgsCreator._compute_connect_timeout
    - botocore.discovery.EndpointDiscoveryModel.__init__
    - enabled.lower
    - math.floor
    - botocore.utils.S3RegionRedirectorv2.__init__
    - botocore.args.ClientArgsCreator.get_client_args
    - botocore.args.ClientArgsCreator.compute_s3_config
    - botocore.utils.is_valid_endpoint_url
    - botocore.client.ClientCreator._register_endpoint_discovery
    - botocore.docs.docstring.LazyLoadedDocstring.__init__
    - threading.Condition
    - botocore.retries.bucket.TokenBucket.__init__
    - client.meta.config.retries.get
    - config_vars.items
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - service_name
    - api_version
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 227
    functionName: botocore.client.ClientCreator._load_service_model
    functionSourceFile: botocore.client
    functionUses: 2
    functionsReached:
    - botocore.model.ServiceModel.__init__
    - service_description.get
    - botocore.model.ShapeResolver.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - service_name
    - api_version
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 234
    functionName: botocore.client.ClientCreator._load_service_endpoints_ruleset
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - service_name
    - service_model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 188
    functionName: botocore.client.ClientCreator._create_client_class
    functionSourceFile: botocore.client
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - botocore.xform_name
    - service_model.metadata.get
    - botocore.client.ClientCreator._create_methods
    - botocore.client.ClientCreator._create_name_mapping
    - matched.lower
    - <builtin>.type
    - botocore.utils.get_service_module_name
    - botocore.client.ClientCreator._create_api_method
    - re.sub
    - name.replace
    - <builtin>.tuple
    - is_special.group
    - operation_model.get
    - <builtin>.super
    - botocore.model.ServiceModel.operation_model
    - _special_case_transform.search
    - <builtin>.str
    - botocore.docs.docstring.LazyLoadedDocstring.__init__
    - _end_cap_regex.sub
    - _first_cap_regex.sub
    - botocore.model.OperationModel.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argNames:
    - self
    - region_name
    - client_config
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 203
    functionName: botocore.client.ClientCreator._normalize_fips_region
    functionSourceFile: botocore.client
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - copy.copy
    - config_options.update
    - botocore.config.Config.merge
    - s3.get
    - region_name.replace
    - botocore.config.Config._validate_s3_configuration
    - botocore.config.Config.__init__
    - botocore.config.Config._record_user_provided_options
    - botocore.config.Config._validate_retry_configuration
    - retries.items
    - <builtin>.enumerate
    - <builtin>.list
    - <builtin>.setattr
    - config_vars.items
    - config_vars.update
    - kwargs.items
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 8
    argNames:
    - self
    - endpoint_resolver
    - scoped_config
    - client_config
    - default_endpoint
    - service_signing_name
    - config_store
    - service_signature_version
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 562
    functionName: botocore.client.ClientEndpointBridge.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 13
    argNames:
    - self
    - service_model
    - region_name
    - is_secure
    - endpoint_url
    - verify
    - credentials
    - scoped_config
    - client_config
    - endpoint_bridge
    - auth_token
    - endpoints_ruleset_data
    - partition_data
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 462
    functionName: botocore.client.ClientCreator._get_client_args
    functionSourceFile: botocore.client
    functionUses: 1
    functionsReached:
    - urllib3.util.ssl_.SSLContext
    - botocore.endpoint_provider.RuleSet._ingest_parameter_spec
    - botocore.config.Config.__init__
    - retries.pop
    - botocore.utils.ensure_boolean
    - botocore.args.ClientArgsCreator._compute_retry_max_attempts
    - botocore.client.ClientEndpointBridge._resolve_endpoint_variant_config_var
    - botocore.parsers.ResponseParserFactory.__init__
    - botocore.args.ClientArgsCreator._should_set_global_sts_endpoint
    - re.compile
    - botocore.config.Config._record_user_provided_options
    - botocore.config.Config._validate_retry_configuration
    - <builtin>.list
    - <builtin>.dict
    - socket_options.append
    - <builtin>.hasattr
    - scoped_config.get
    - urllib.request.proxy_bypass
    - botocore.args.ClientArgsCreator._compute_retry_config
    - botocore.args.ClientArgsCreator.compute_client_args
    - s3_config.get
    - logger.debug
    - botocore.endpoint_provider.RuleCreator.create
    - urllib.parse.urlsplit.netloc.endswith
    - <builtin>.enumerate
    - botocore.validate.ParamValidationDecorator.__init__
    - config_kwargs.get
    - botocore.signers.RequestSigner.__init__
    - os.environ.get
    - copy.copy
    - s3_configuration.update
    - botocore.httpsession.URLLib3Session.__init__
    - botocore.args.ClientArgsCreator._compute_endpoint_config
    - threading.Lock
    - s3.get
    - botocore.args.ClientArgsCreator.__init__
    - botocore.args.ClientArgsCreator._validate_s3_regional_config
    - IPV6_ADDRZ_RE.match
    - botocore.endpoint.Endpoint.__init__
    - botocore.httpsession.create_urllib3_context
    - botocore.endpoint_provider.RuleSet.__init__
    - botocore.endpoint.EndpointCreator.create_endpoint
    - botocore.args.ClientArgsCreator._build_endpoint_resolver
    - botocore.utils.get_environ_proxies
    - botocore.args.ClientArgsCreator._resolve_endpoint
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.config.Config._validate_s3_configuration
    - botocore.args.ClientArgsCreator._should_force_s3_global
    - botocore.endpoint_provider.ParameterDefinition.__init__
    - retries.items
    - botocore.args.ClientArgsCreator._is_s3_service
    - botocore.endpoint.EndpointCreator._get_verify_value
    - config_vars.update
    - botocore.client.ClientEndpointBridge._resolve_use_dualstack_endpoint
    - parameters.items
    - botocore.regions.EndpointRulesetResolver.__init__
    - botocore.endpoint.EndpointCreator.__init__
    - <builtin>.len
    - botocore.args.ClientArgsCreator._set_global_sts_endpoint
    - <builtin>.isinstance
    - botocore.utils.is_s3_accelerate_url
    - urllib3.PoolManager
    - botocore.serialize.create_serializer
    - botocore.args.ClientArgsCreator._compute_s3_endpoint_config
    - weakref.proxy
    - s3_configuration.copy
    - botocore.utils.should_bypass_proxies
    - allowed.match
    - <builtin>.getattr
    - urllib.request.getproxies
    - kwargs.pop
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - <builtin>.set
    - botocore.parsers.ResponseParserFactory.create_parser
    - endpoint_bridge.resolve
    - botocore.args.ClientArgsCreator._compute_retry_mode
    - urllib3.Timeout
    - spec.get
    - botocore.endpoint_provider.RuleSetStandardLibrary.__init__
    - botocore.endpoint.EndpointCreator._get_proxies
    - botocore.client.ClientEndpointBridge.resolver_uses_builtin_data
    - botocore.client.ClientEndpointBridge._is_s3_dualstack_mode
    - botocore.args.ClientArgsCreator._compute_sts_endpoint_config
    - urllib.parse.urlsplit
    - botocore.parsers.create_parser
    - botocore.args.ClientArgsCreator.compute_endpoint_resolver_builtin_defaults
    - botocore.args.ClientArgsCreator._compute_socket_options
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - kwargs.items
    - UNSAFE_URL_CHARS.intersection
    - parameter_type.lower
    - endpoint_config.get
    - <builtin>.all
    - botocore.endpoint_provider.EndpointProvider.__init__
    - botocore.args.ClientArgsCreator._ensure_boolean
    - val.lower
    - config_kwargs.update
    - <builtin>.setattr
    - botocore.args.ClientArgsCreator._set_region_if_custom_s3_endpoint
    - pool_manager_kwargs.update
    - botocore.args.ClientArgsCreator._get_sts_regional_endpoints_config
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.args.ClientArgsCreator._compute_connect_timeout
    - botocore.args.ClientArgsCreator.compute_s3_config
    - botocore.args.ClientArgsCreator.get_client_args
    - botocore.utils.is_valid_endpoint_url
    - config_vars.items
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.urlsplit.netloc.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argNames:
    - self
    - client
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 239
    functionName: botocore.client.ClientCreator._register_retries
    functionSourceFile: botocore.client
    functionUses: 1
    functionsReached:
    - botocore.retries.standard.RetryPolicy.__init__
    - logger.debug
    - copied_args.pop
    - botocore.retries.bucket.Clock.current_time
    - botocore.retries.throttling.CubicCalculator._calculate_zero_point
    - botocore.retries.standard.StandardRetryConditions.__init__
    - botocore.retries.standard.ExponentialBackoff.__init__
    - botocore.client.ClientCreator._register_v2_adaptive_retries
    - retries.copy
    - botocore.retries.standard.ModeledRetryableChecker.__init__
    - botocore.retries.bucket.Clock.__init__
    - threading.Lock
    - botocore.retries.standard.ThrottledRetryableChecker.__init__
    - botocore.client.ClientCreator._register_v2_standard_retries
    - botocore.client.ClientCreator._register_legacy_retries
    - service_id.hyphenize
    - botocore.retries.standard.TransientRetryableChecker.__init__
    - botocore.retries.standard.OrRetryChecker.__init__
    - botocore.retries.adaptive.RateClocker.__init__
    - botocore.retries.adaptive.register_retry_handler
    - botocore.retries.standard.RetryQuotaChecker.__init__
    - botocore.retries.throttling.CubicCalculator.__init__
    - time.time
    - botocore.retries.quota.RetryQuota.__init__
    - original_config.get
    - client.meta.events.register
    - math.floor
    - botocore.retries.standard.ThrottlingErrorDetector.__init__
    - botocore.client.ClientCreator._transform_legacy_retries
    - botocore.retries.standard.RetryHandler.__init__
    - threading.Condition
    - botocore.retries.bucket.TokenBucket.__init__
    - client.meta.config.retries.get
    - botocore.retries.adaptive.ClientRateLimiter.__init__
    - botocore.retries.standard.MaxAttemptsChecker.__init__
    - botocore.retries.standard.register_retry_handler
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 6
    argNames:
    - self
    - client
    - endpoint_bridge
    - endpoint_url
    - client_config
    - scoped_config
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 370
    functionName: botocore.client.ClientCreator._register_s3_events
    functionSourceFile: botocore.client
    functionUses: 1
    functionsReached:
    - botocore.client._get_configured_signature_version
    - <builtin>.isinstance
    - logger.debug
    - botocore.client.ClientCreator._set_s3_presign_signature_version
    - scoped_config.get
    - botocore.utils.S3RegionRedirectorv2.register
    - emitter.register
    - weakref.proxy
    - botocore.utils.S3RegionRedirectorv2.__init__
    - client_meta.events.register
    - service_config.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 6
    argNames:
    - self
    - client
    - endpoint_bridge
    - endpoint_url
    - client_config
    - scoped_config
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 385
    functionName: botocore.client.ClientCreator._register_s3_control_events
    functionSourceFile: botocore.client
    functionUses: 1
    functionsReached:
    - botocore.utils.S3ControlArnParamHandlerv2.register
    - botocore.utils.S3ControlArnParamHandlerv2.__init__
    - event_emitter.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 4
    argNames:
    - self
    - client
    - endpoint_url
    - config
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 310
    functionName: botocore.client.ClientCreator._register_endpoint_discovery
    functionSourceFile: botocore.client
    functionUses: 1
    functionsReached:
    - botocore.discovery.EndpointDiscoveryManager.__init__
    - botocore.utils.ensure_boolean
    - val.lower
    - <builtin>.isinstance
    - botocore.discovery.EndpointDiscoveryModel.__init__
    - events.register
    - botocore.client.ClientCreator._requires_endpoint_discovery
    - botocore.discovery.EndpointDiscoveryHandler.register
    - enabled.lower
    - botocore.client.ClientCreator._normalize_endpoint_discovery_config
    - events.register_first
    - weakref.proxy
    - client.meta.service_model.service_id.hyphenize
    - botocore.discovery.EndpointDiscoveryHandler.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - service_name
    - api_version
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 184
    functionName: botocore.client.ClientCreator.create_client_class
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.xform_name
    - service_model.metadata.get
    - botocore.client.ClientCreator._create_methods
    - botocore.client.ClientCreator._create_name_mapping
    - botocore.model.ServiceModel.__init__
    - matched.lower
    - <builtin>.type
    - botocore.utils.get_service_module_name
    - botocore.client.ClientCreator._create_client_class
    - botocore.client.ClientCreator._create_api_method
    - re.sub
    - name.replace
    - <builtin>.tuple
    - botocore.client.ClientCreator._load_service_model
    - service_description.get
    - is_special.group
    - operation_model.get
    - <builtin>.super
    - botocore.model.ShapeResolver.__init__
    - botocore.model.ServiceModel.operation_model
    - _special_case_transform.search
    - <builtin>.str
    - botocore.docs.docstring.LazyLoadedDocstring.__init__
    - _end_cap_regex.sub
    - _first_cap_regex.sub
    - botocore.model.OperationModel.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - service_model
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 500
    functionName: botocore.client.ClientCreator._create_methods
    functionSourceFile: botocore.client
    functionUses: 3
    functionsReached:
    - is_special.group
    - botocore.xform_name
    - <builtin>.len
    - botocore.docs.docstring.LazyLoadedDocstring.__init__
    - matched.lower
    - _end_cap_regex.sub
    - botocore.client.ClientCreator._create_api_method
    - operation_model.get
    - <builtin>.super
    - botocore.model.ServiceModel.operation_model
    - _special_case_transform.search
    - _first_cap_regex.sub
    - botocore.model.OperationModel.__init__
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - service_model
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 509
    functionName: botocore.client.ClientCreator._create_name_mapping
    functionSourceFile: botocore.client
    functionUses: 3
    functionsReached:
    - is_special.group
    - botocore.xform_name
    - <builtin>.len
    - matched.lower
    - _end_cap_regex.sub
    - _special_case_transform.search
    - _first_cap_regex.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: region_name.replace
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - client
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 249
    functionName: botocore.client.ClientCreator._register_v2_standard_retries
    functionSourceFile: botocore.client
    functionUses: 2
    functionsReached:
    - botocore.retries.standard.RetryHandler.__init__
    - botocore.retries.standard.RetryPolicy.__init__
    - botocore.retries.quota.RetryQuota.__init__
    - threading.Lock
    - botocore.retries.standard.ThrottledRetryableChecker.__init__
    - client.meta.events.register
    - botocore.retries.standard.TransientRetryableChecker.__init__
    - service_id.hyphenize
    - botocore.retries.standard.StandardRetryConditions.__init__
    - client.meta.config.retries.get
    - botocore.retries.standard.ExponentialBackoff.__init__
    - botocore.retries.standard.OrRetryChecker.__init__
    - botocore.retries.standard.MaxAttemptsChecker.__init__
    - botocore.retries.standard.RetryQuotaChecker.__init__
    - botocore.retries.standard.register_retry_handler
    - botocore.retries.standard.ModeledRetryableChecker.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - client
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 256
    functionName: botocore.client.ClientCreator._register_v2_adaptive_retries
    functionSourceFile: botocore.client
    functionUses: 2
    functionsReached:
    - botocore.retries.bucket.Clock.__init__
    - threading.Condition
    - botocore.retries.bucket.Clock.current_time
    - threading.Lock
    - botocore.retries.bucket.TokenBucket.__init__
    - botocore.retries.throttling.CubicCalculator._calculate_zero_point
    - botocore.retries.standard.ThrottledRetryableChecker.__init__
    - math.floor
    - botocore.retries.throttling.CubicCalculator.__init__
    - botocore.retries.standard.ThrottlingErrorDetector.__init__
    - client.meta.events.register
    - botocore.retries.adaptive.ClientRateLimiter.__init__
    - botocore.retries.adaptive.RateClocker.__init__
    - botocore.retries.adaptive.register_retry_handler
    - time.time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - client
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 259
    functionName: botocore.client.ClientCreator._register_legacy_retries
    functionSourceFile: botocore.client
    functionUses: 2
    functionsReached:
    - logger.debug
    - copied_args.pop
    - original_config.get
    - client.meta.events.register
    - service_id.hyphenize
    - botocore.client.ClientCreator._transform_legacy_retries
    - retries.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.meta.config.retries.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - client
    - max_attempts
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 42
    functionName: botocore.retries.standard.register_retry_handler
    functionSourceFile: botocore.retries.standard
    functionUses: 3
    functionsReached:
    - botocore.retries.standard.RetryHandler.__init__
    - botocore.retries.standard.RetryPolicy.__init__
    - botocore.retries.quota.RetryQuota.__init__
    - threading.Lock
    - botocore.retries.standard.ThrottledRetryableChecker.__init__
    - client.meta.events.register
    - botocore.retries.standard.TransientRetryableChecker.__init__
    - service_id.hyphenize
    - botocore.retries.standard.StandardRetryConditions.__init__
    - botocore.retries.standard.ExponentialBackoff.__init__
    - botocore.retries.standard.OrRetryChecker.__init__
    - botocore.retries.standard.MaxAttemptsChecker.__init__
    - botocore.retries.standard.RetryQuotaChecker.__init__
    - botocore.retries.standard.ModeledRetryableChecker.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - client
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 10
    functionName: botocore.retries.adaptive.register_retry_handler
    functionSourceFile: botocore.retries.adaptive
    functionUses: 3
    functionsReached:
    - botocore.retries.bucket.Clock.__init__
    - threading.Condition
    - botocore.retries.bucket.Clock.current_time
    - threading.Lock
    - botocore.retries.bucket.TokenBucket.__init__
    - botocore.retries.throttling.CubicCalculator._calculate_zero_point
    - botocore.retries.standard.ThrottledRetryableChecker.__init__
    - math.floor
    - client.meta.events.register
    - botocore.retries.standard.ThrottlingErrorDetector.__init__
    - botocore.retries.adaptive.ClientRateLimiter.__init__
    - botocore.retries.adaptive.RateClocker.__init__
    - botocore.retries.throttling.CubicCalculator.__init__
    - time.time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: service_id.hyphenize
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - retries
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 290
    functionName: botocore.client.ClientCreator._transform_legacy_retries
    functionSourceFile: botocore.client
    functionUses: 3
    functionsReached:
    - retries.copy
    - copied_args.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: original_config.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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.meta.events.register
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: retries.copy
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copied_args.pop
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - client
    - config_store
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 301
    functionName: botocore.client.ClientCreator._get_retry_mode
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached:
    - config_store.get_config_variable
    - client_retries.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client_retries.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config_store.get_config_variable
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.meta.service_model.service_id.hyphenize
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argNames:
    - self
    - enabled
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 341
    functionName: botocore.client.ClientCreator._normalize_endpoint_discovery_config
    functionSourceFile: botocore.client
    functionUses: 2
    functionsReached:
    - botocore.utils.ensure_boolean
    - val.lower
    - <builtin>.isinstance
    - enabled.lower
    linkageType: pythonLinkage
    raised:
    - InvalidEndpointDiscoveryConfigurationError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - client
    - enabled
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 354
    functionName: botocore.client.ClientCreator._requires_endpoint_discovery
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 5
    argNames:
    - self
    - client
    - cache
    - current_time
    - always_discover
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 100
    functionName: botocore.discovery.EndpointDiscoveryManager.__init__
    functionSourceFile: botocore.discovery
    functionUses: 2
    functionsReached:
    - weakref.proxy
    - botocore.discovery.EndpointDiscoveryModel.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - manager
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 226
    functionName: botocore.discovery.EndpointDiscoveryHandler.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - events
    - service_id
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 229
    functionName: botocore.discovery.EndpointDiscoveryHandler.register
    functionSourceFile: botocore.discovery
    functionUses: 2
    functionsReached:
    - events.register_first
    - events.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: events.register
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: enabled.lower
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - client
    - endpoint_bridge
    - endpoint_url
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 359
    functionName: botocore.client.ClientCreator._register_eventbridge_events
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached:
    - botocore.utils.EventbridgeSignerSetter.register
    - botocore.utils.EventbridgeSignerSetter.__init__
    - event_emitter.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argNames:
    - self
    - client_meta
    - client_config
    - scoped_config
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 397
    functionName: botocore.client.ClientCreator._set_s3_presign_signature_version
    functionSourceFile: botocore.client
    functionUses: 2
    functionsReached:
    - botocore.client._get_configured_signature_version
    - <builtin>.isinstance
    - logger.debug
    - scoped_config.get
    - client_meta.events.register
    - service_config.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 3
    argNames:
    - service_name
    - client_config
    - scoped_config
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1291
    functionName: botocore.client._get_configured_signature_version
    functionSourceFile: botocore.client
    functionUses: 7
    functionsReached:
    - scoped_config.get
    - <builtin>.isinstance
    - service_config.get
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client_meta.events.register
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - signature_version
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 440
    functionName: botocore.client.ClientCreator._default_s3_presign_to_sigv2
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached:
    - signature_version.startswith
    - signature_version.endswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: signature_version.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 7
    argNames:
    - self
    - event_emitter
    - user_agent
    - response_parser_factory
    - loader
    - exceptions_factory
    - config_store
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 61
    functionName: botocore.args.ClientArgsCreator.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 13
    argNames:
    - self
    - service_model
    - region_name
    - is_secure
    - endpoint_url
    - verify
    - credentials
    - scoped_config
    - client_config
    - endpoint_bridge
    - auth_token
    - endpoints_ruleset_data
    - partition_data
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 77
    functionName: botocore.args.ClientArgsCreator.get_client_args
    functionSourceFile: botocore.args
    functionUses: 2
    functionsReached:
    - urllib3.util.ssl_.SSLContext
    - botocore.endpoint_provider.RuleSet._ingest_parameter_spec
    - botocore.config.Config.__init__
    - retries.pop
    - botocore.utils.ensure_boolean
    - botocore.args.ClientArgsCreator._compute_retry_max_attempts
    - botocore.client.ClientEndpointBridge._resolve_endpoint_variant_config_var
    - botocore.parsers.ResponseParserFactory.__init__
    - botocore.args.ClientArgsCreator._should_set_global_sts_endpoint
    - re.compile
    - botocore.config.Config._record_user_provided_options
    - botocore.config.Config._validate_retry_configuration
    - <builtin>.list
    - <builtin>.dict
    - socket_options.append
    - <builtin>.hasattr
    - scoped_config.get
    - urllib.request.proxy_bypass
    - botocore.args.ClientArgsCreator._compute_retry_config
    - botocore.args.ClientArgsCreator.compute_client_args
    - s3_config.get
    - logger.debug
    - botocore.endpoint_provider.RuleCreator.create
    - urllib.parse.urlsplit.netloc.endswith
    - <builtin>.enumerate
    - botocore.validate.ParamValidationDecorator.__init__
    - config_kwargs.get
    - botocore.signers.RequestSigner.__init__
    - os.environ.get
    - copy.copy
    - s3_configuration.update
    - botocore.httpsession.URLLib3Session.__init__
    - botocore.args.ClientArgsCreator._compute_endpoint_config
    - threading.Lock
    - s3.get
    - botocore.args.ClientArgsCreator._validate_s3_regional_config
    - IPV6_ADDRZ_RE.match
    - botocore.endpoint.Endpoint.__init__
    - botocore.httpsession.create_urllib3_context
    - botocore.endpoint_provider.RuleSet.__init__
    - botocore.endpoint.EndpointCreator.create_endpoint
    - botocore.args.ClientArgsCreator._build_endpoint_resolver
    - botocore.utils.get_environ_proxies
    - botocore.args.ClientArgsCreator._resolve_endpoint
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.config.Config._validate_s3_configuration
    - botocore.args.ClientArgsCreator._should_force_s3_global
    - botocore.endpoint_provider.ParameterDefinition.__init__
    - retries.items
    - botocore.args.ClientArgsCreator._is_s3_service
    - botocore.endpoint.EndpointCreator._get_verify_value
    - config_vars.update
    - botocore.client.ClientEndpointBridge._resolve_use_dualstack_endpoint
    - parameters.items
    - botocore.regions.EndpointRulesetResolver.__init__
    - botocore.endpoint.EndpointCreator.__init__
    - <builtin>.len
    - botocore.args.ClientArgsCreator._set_global_sts_endpoint
    - <builtin>.isinstance
    - botocore.utils.is_s3_accelerate_url
    - urllib3.PoolManager
    - botocore.serialize.create_serializer
    - botocore.args.ClientArgsCreator._compute_s3_endpoint_config
    - weakref.proxy
    - s3_configuration.copy
    - botocore.utils.should_bypass_proxies
    - allowed.match
    - <builtin>.getattr
    - urllib.request.getproxies
    - kwargs.pop
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - <builtin>.set
    - botocore.parsers.ResponseParserFactory.create_parser
    - endpoint_bridge.resolve
    - botocore.args.ClientArgsCreator._compute_retry_mode
    - urllib3.Timeout
    - spec.get
    - botocore.endpoint_provider.RuleSetStandardLibrary.__init__
    - botocore.endpoint.EndpointCreator._get_proxies
    - botocore.client.ClientEndpointBridge.resolver_uses_builtin_data
    - botocore.client.ClientEndpointBridge._is_s3_dualstack_mode
    - botocore.args.ClientArgsCreator._compute_sts_endpoint_config
    - urllib.parse.urlsplit
    - botocore.parsers.create_parser
    - botocore.args.ClientArgsCreator.compute_endpoint_resolver_builtin_defaults
    - botocore.args.ClientArgsCreator._compute_socket_options
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - kwargs.items
    - UNSAFE_URL_CHARS.intersection
    - parameter_type.lower
    - endpoint_config.get
    - <builtin>.all
    - botocore.endpoint_provider.EndpointProvider.__init__
    - botocore.args.ClientArgsCreator._ensure_boolean
    - val.lower
    - config_kwargs.update
    - <builtin>.setattr
    - botocore.args.ClientArgsCreator._set_region_if_custom_s3_endpoint
    - pool_manager_kwargs.update
    - botocore.args.ClientArgsCreator._get_sts_regional_endpoints_config
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.args.ClientArgsCreator._compute_connect_timeout
    - botocore.args.ClientArgsCreator.compute_s3_config
    - botocore.utils.is_valid_endpoint_url
    - config_vars.items
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.urlsplit.netloc.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - py_operation_name
    - operation_name
    - service_model
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 518
    functionName: botocore.client.ClientCreator._create_api_method
    functionSourceFile: botocore.client
    functionUses: 4
    functionsReached:
    - botocore.docs.docstring.LazyLoadedDocstring.__init__
    - operation_model.get
    - <builtin>.super
    - botocore.model.ServiceModel.operation_model
    - botocore.model.OperationModel.__init__
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 521
    functionName: botocore.client.ClientCreator._create_api_method._api_call
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 28
    functionName: botocore.docs.docstring.LazyLoadedDocstring.__init__
    functionSourceFile: botocore.docs.docstring
    functionUses: 8
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 5
    argNames:
    - self
    - service_name
    - region_name
    - endpoint_url
    - is_secure
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 580
    functionName: botocore.client.ClientEndpointBridge.resolve
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached:
    - botocore.client._get_configured_signature_version
    - <builtin>.getattr
    - <builtin>.isinstance
    - botocore.client.ClientEndpointBridge._create_endpoint
    - botocore.client.ClientEndpointBridge._resolve_endpoint_variant_config_var
    - botocore.client.ClientEndpointBridge._resolve_signature_version
    - logger.debug
    - scoped_config.get
    - botocore.client.ClientEndpointBridge._assume_endpoint
    - botocore.client.ClientEndpointBridge._make_url
    - resolved.get
    - botocore.client.ClientEndpointBridge._is_s3_dualstack_mode
    - service_config.get
    - botocore.client.ClientEndpointBridge._create_result
    - botocore.client.ClientEndpointBridge._pick_region_values
    - botocore.client.ClientEndpointBridge._resolve_signing_name
    - botocore.client.ClientEndpointBridge._resolve_use_dualstack_endpoint
    - botocore.client.ClientEndpointBridge._check_default_region
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - service_name
    - region_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 622
    functionName: botocore.client.ClientEndpointBridge._check_default_region
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - service_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 667
    functionName: botocore.client.ClientEndpointBridge._resolve_use_dualstack_endpoint
    functionSourceFile: botocore.client
    functionUses: 6
    functionsReached:
    - <builtin>.getattr
    - botocore.client.ClientEndpointBridge._is_s3_dualstack_mode
    - botocore.client.ClientEndpointBridge._resolve_endpoint_variant_config_var
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - config_var
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 655
    functionName: botocore.client.ClientEndpointBridge._resolve_endpoint_variant_config_var
    functionSourceFile: botocore.client
    functionUses: 7
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 6
    argNames:
    - self
    - resolved
    - service_name
    - region_name
    - endpoint_url
    - is_secure
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 629
    functionName: botocore.client.ClientEndpointBridge._create_endpoint
    functionSourceFile: botocore.client
    functionUses: 1
    functionsReached:
    - botocore.client._get_configured_signature_version
    - <builtin>.isinstance
    - logger.debug
    - botocore.client.ClientEndpointBridge._resolve_signature_version
    - scoped_config.get
    - botocore.client.ClientEndpointBridge._make_url
    - resolved.get
    - service_config.get
    - botocore.client.ClientEndpointBridge._create_result
    - botocore.client.ClientEndpointBridge._pick_region_values
    - botocore.client.ClientEndpointBridge._resolve_signing_name
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argNames:
    - self
    - service_name
    - region_name
    - endpoint_url
    - is_secure
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 697
    functionName: botocore.client.ClientEndpointBridge._assume_endpoint
    functionSourceFile: botocore.client
    functionUses: 1
    functionsReached:
    - botocore.client._get_configured_signature_version
    - logger.debug
    - <builtin>.isinstance
    - botocore.client.ClientEndpointBridge._resolve_signature_version
    - scoped_config.get
    - botocore.client.ClientEndpointBridge._make_url
    - resolved.get
    - service_config.get
    - botocore.client.ClientEndpointBridge._create_result
    - botocore.client.ClientEndpointBridge._resolve_signing_name
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 619
    functionName: botocore.client.ClientEndpointBridge.resolver_uses_builtin_data
    functionSourceFile: botocore.client
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argNames:
    - self
    - resolved
    - region_name
    - endpoint_url
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 766
    functionName: botocore.client.ClientEndpointBridge._pick_region_values
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resolved.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - hostname
    - is_secure
    - supported_protocols
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 746
    functionName: botocore.client.ClientEndpointBridge._make_url
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 3
    argNames:
    - self
    - service_name
    - resolved
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 788
    functionName: botocore.client.ClientEndpointBridge._resolve_signature_version
    functionSourceFile: botocore.client
    functionUses: 3
    functionsReached:
    - botocore.client._get_configured_signature_version
    - <builtin>.isinstance
    - logger.debug
    - scoped_config.get
    - resolved.get
    - service_config.get
    linkageType: pythonLinkage
    raised:
    - UnknownSignatureVersionError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - service_name
    - resolved
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 753
    functionName: botocore.client.ClientEndpointBridge._resolve_signing_name
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 8
    argNames:
    - self
    - service_name
    - region_name
    - signing_region
    - signing_name
    - endpoint_url
    - signature_version
    - metadata
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 726
    functionName: botocore.client.ClientEndpointBridge._create_result
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 2
    argNames:
    - self
    - service_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 675
    functionName: botocore.client.ClientEndpointBridge._is_s3_dualstack_mode
    functionSourceFile: ''
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 12
    argNames:
    - self
    - serializer
    - endpoint
    - response_parser
    - event_emitter
    - request_signer
    - service_model
    - loader
    - client_config
    - partition
    - exceptions_factory
    - endpoint_ruleset_resolver
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 831
    functionName: botocore.client.BaseClient.__init__
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached:
    - botocore.client.ClientMeta.__init__
    - botocore.client.BaseClient._register_handlers
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 7
    argNames:
    - self
    - events
    - client_config
    - endpoint_url
    - service_model
    - method_to_api_mapping
    - partition
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1250
    functionName: botocore.client.ClientMeta.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 884
    functionName: botocore.client.BaseClient._register_handlers
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 865
    functionName: botocore.client.BaseClient.__getattr__
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 880
    functionName: botocore.client.BaseClient.close
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 892
    functionName: botocore.client.BaseClient._service_model
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 3
    argNames:
    - self
    - operation_name
    - api_params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 895
    functionName: botocore.client.BaseClient._make_api_call
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - io.BytesIO.seek
    - logger.debug
    - botocore.httpchecksum.resolve_checksum_context
    - botocore.client.BaseClient._convert_to_request_dict
    - <builtin>.isinstance
    - botocore.utils.calculate_md5
    - botocore.utils._calculate_md5_from_file
    - checksum_context.get
    - a.lower
    - botocore.utils.determine_content_length
    - CHECKSUM_HEADER_PATTERN.match
    - botocore.client.BaseClient._make_request
    - request.get
    - botocore.history.HistoryRecorder.record
    - handler.emit
    - botocore.httpchecksum._apply_request_trailer_checksum
    - fileobj.tell
    - http_checksum.get
    - botocore.httpchecksum.apply_request_checksum
    - url_path.startswith
    - botocore.compat.get_md5
    - usable_algorithms.append
    - io.BytesIO.tell
    - md5.update
    - botocore.hooks.first_non_none_response
    - botocore.utils._calculate_md5_from_bytes
    - botocore.httpchecksum._apply_request_header_checksum
    - base64.b64encode
    - _CHECKSUM_CLS.get
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - params.get
    - botocore.httpchecksum.resolve_request_checksum_algorithm
    - r.get
    - botocore.utils.conditionally_calculate_md5
    - <builtin>.iter
    - <builtin>.hasattr
    - botocore.client.BaseClient._emit_api_params
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - parsed_response.get
    - request_dict.pop
    - botocore.httpchecksum.AwsChunkedWrapper.__init__
    - urllib.parse.urlsplit
    - endpoint_info.properties.get
    - <builtin>.str
    - botocore.awsrequest.prepare_request_dict
    - hashlib.md5
    - botocore.client.BaseClient._resolve_endpoint_ruleset
    - io.BytesIO
    - md5.digest
    - botocore.awsrequest._urljoin
    - botocore.httpchecksum.resolve_response_checksum_algorithms
    linkageType: pythonLinkage
    raised:
    - error_class
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 5
    argNames:
    - self
    - operation_model
    - params
    - request_context
    - ignore_signing_region
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1034
    functionName: botocore.client.BaseClient._resolve_endpoint_ruleset
    functionSourceFile: botocore.client
    functionUses: 1
    functionsReached:
    - endpoint_info.properties.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 7
    argNames:
    - self
    - api_params
    - operation_model
    - endpoint_url
    - context
    - headers
    - set_user_agent_header
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 978
    functionName: botocore.client.BaseClient._convert_to_request_dict
    functionSourceFile: botocore.client
    functionUses: 1
    functionsReached:
    - url_path.startswith
    - botocore.awsrequest.prepare_request_dict
    - botocore.hooks.first_non_none_response
    - botocore.client.BaseClient._emit_api_params
    - botocore.awsrequest._urljoin
    - request_dict.pop
    - r.get
    - urllib.parse.urlsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - operation_model
    - request_dict
    - request_context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 964
    functionName: botocore.client.BaseClient._make_request
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - api_params
    - operation_model
    - context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1009
    functionName: botocore.client.BaseClient._emit_api_params
    functionSourceFile: botocore.client
    functionUses: 2
    functionsReached:
    - botocore.hooks.first_non_none_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request_dict.pop
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: endpoint_info.properties.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - operation_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1084
    functionName: botocore.client.BaseClient.get_paginator
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached:
    - botocore.docs.docstring.LazyLoadedDocstring.__init__
    - <builtin>.getattr
    - <builtin>.type
    - botocore.utils.get_service_module_name
    - service_model.metadata.get
    - re.sub
    - <builtin>.super
    - name.replace
    - botocore.client.BaseClient.can_paginate
    linkageType: pythonLinkage
    raised:
    - OperationNotPageableError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - operation_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1149
    functionName: botocore.client.BaseClient.can_paginate
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1111
    functionName: botocore.client.BaseClient.get_paginator.paginate
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached:
    - input_members.get
    - <builtin>.isinstance
    - botocore.paginate.PageIterator.__init__
    - pagination_config.get
    - botocore.paginate.Paginator._extract_paging_params
    - botocore.paginate.Paginator.paginate
    - kwargs.pop
    - <builtin>.int
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1177
    functionName: botocore.client.BaseClient._get_waiter_config
    functionSourceFile: botocore.client
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - waiter_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1190
    functionName: botocore.client.BaseClient.get_waiter
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.xform_name
    - botocore.waiter.create_waiter_with_client
    - service_model.metadata.get
    - botocore.waiter.SingleWaiterConfig.__init__
    - botocore.waiter.WaiterModel._verify_supported_version
    - matched.lower
    - <builtin>.getattr
    - xform_name
    - <builtin>.type
    - botocore.utils.get_service_module_name
    - re.sub
    - botocore.client.BaseClient._get_waiter_config
    - name.replace
    - <builtin>.list
    - is_special.group
    - botocore.waiter.WaiterModel.get_waiter
    - <builtin>.super
    - waiter_config.get
    - _special_case_transform.search
    - <builtin>.sorted
    - single_waiter_config.get
    - <builtin>.str
    - botocore.docs.docstring.LazyLoadedDocstring.__init__
    - _end_cap_regex.sub
    - botocore.waiter.NormalizedOperationMethod.__init__
    - _first_cap_regex.sub
    - botocore.waiter.WaiterModel.__init__
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - waiter_config
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 101
    functionName: botocore.waiter.WaiterModel.__init__
    functionSourceFile: botocore.waiter
    functionUses: 3
    functionsReached:
    - botocore.waiter.WaiterModel._verify_supported_version
    - waiter_config.get
    - <builtin>.sorted
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - waiter_name
    - waiter_model
    - client
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 27
    functionName: botocore.waiter.create_waiter_with_client
    functionSourceFile: botocore.waiter
    functionUses: 1
    functionsReached:
    - botocore.docs.docstring.LazyLoadedDocstring.__init__
    - <builtin>.getattr
    - botocore.waiter.WaiterModel.get_waiter
    - xform_name
    - <builtin>.type
    - botocore.utils.get_service_module_name
    - botocore.waiter.NormalizedOperationMethod.__init__
    - service_model.metadata.get
    - re.sub
    - <builtin>.super
    - botocore.waiter.SingleWaiterConfig.__init__
    - name.replace
    - single_waiter_config.get
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.client.BaseClient
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached:
    - botocore.utils.CachedProperty
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1215
    functionName: botocore.client.BaseClient.waiter_names
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached:
    - is_special.group
    - botocore.xform_name
    - <builtin>.len
    - matched.lower
    - _end_cap_regex.sub
    - waiter_config.get
    - botocore.client.BaseClient._get_waiter_config
    - _special_case_transform.search
    - _first_cap_regex.sub
    - botocore.waiter.WaiterModel.__init__
    - <builtin>.sorted
    - botocore.waiter.WaiterModel._verify_supported_version
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1226
    functionName: botocore.client.BaseClient.exceptions
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached:
    - botocore.client.BaseClient._load_exceptions
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1231
    functionName: botocore.client.BaseClient._load_exceptions
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1267
    functionName: botocore.client.ClientMeta.service_model
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1271
    functionName: botocore.client.ClientMeta.region_name
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1275
    functionName: botocore.client.ClientMeta.endpoint_url
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1279
    functionName: botocore.client.ClientMeta.config
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1283
    functionName: botocore.client.ClientMeta.method_to_api_mapping
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1287
    functionName: botocore.client.ClientMeta.partition
    functionSourceFile: botocore.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: scoped_config.get
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: service_config.get
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.waiter
    functionSourceFile: botocore.waiter
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - waiter_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 135
    functionName: botocore.waiter.WaiterModel.get_waiter
    functionSourceFile: botocore.waiter
    functionUses: 2
    functionsReached:
    - botocore.waiter.SingleWaiterConfig.__init__
    - single_waiter_config.get
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xform_name
    functionSourceFile: xform_name
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - client_method
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 88
    functionName: botocore.waiter.NormalizedOperationMethod.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 54
    functionName: botocore.waiter.create_waiter_with_client.wait
    functionSourceFile: botocore.waiter
    functionUses: 0
    functionsReached:
    - logger.debug
    - acceptor.matcher_func
    - time.sleep
    - kwargs.pop
    - config.get
    - <builtin>.list
    - botocore.waiter.Waiter.wait
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 2
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 332
    functionName: botocore.waiter.Waiter.wait
    functionSourceFile: botocore.waiter
    functionUses: 1
    functionsReached:
    - logger.debug
    - acceptor.matcher_func
    - time.sleep
    - kwargs.pop
    - <builtin>.list
    - config.get
    linkageType: pythonLinkage
    raised:
    - WaiterError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 80
    functionName: botocore.waiter.is_valid_waiter_error
    functionSourceFile: botocore.waiter
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - response.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 91
    functionName: botocore.waiter.NormalizedOperationMethod.__call__
    functionSourceFile: botocore.waiter
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: waiter_config.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - version
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 125
    functionName: botocore.waiter.WaiterModel._verify_supported_version
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - WaiterConfigError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - single_waiter_config
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 151
    functionName: botocore.waiter.SingleWaiterConfig.__init__
    functionSourceFile: botocore.waiter
    functionUses: 3
    functionsReached:
    - single_waiter_config.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: single_waiter_config.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 162
    functionName: botocore.waiter.SingleWaiterConfig.acceptors
    functionSourceFile: botocore.waiter
    functionUses: 0
    functionsReached:
    - botocore.waiter.AcceptorConfig._create_matcher_func
    - botocore.waiter.AcceptorConfig._create_status_matcher
    - botocore.waiter.AcceptorConfig._create_error_matcher
    - botocore.waiter.AcceptorConfig.__init__
    - botocore.waiter.AcceptorConfig._create_path_all_matcher
    - jmespath.compile
    - config.get
    - acceptors.append
    - botocore.waiter.AcceptorConfig._create_path_any_matcher
    - botocore.waiter.AcceptorConfig._create_path_matcher
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - config
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 171
    functionName: botocore.waiter.AcceptorConfig.__init__
    functionSourceFile: botocore.waiter
    functionUses: 1
    functionsReached:
    - botocore.waiter.AcceptorConfig._create_matcher_func
    - botocore.waiter.AcceptorConfig._create_status_matcher
    - botocore.waiter.AcceptorConfig._create_error_matcher
    - botocore.waiter.AcceptorConfig._create_path_all_matcher
    - jmespath.compile
    - config.get
    - botocore.waiter.AcceptorConfig._create_path_any_matcher
    - botocore.waiter.AcceptorConfig._create_path_matcher
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: acceptors.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 204
    functionName: botocore.waiter.AcceptorConfig._create_matcher_func
    functionSourceFile: botocore.waiter
    functionUses: 2
    functionsReached:
    - botocore.waiter.AcceptorConfig._create_status_matcher
    - botocore.waiter.AcceptorConfig._create_error_matcher
    - botocore.waiter.AcceptorConfig._create_path_all_matcher
    - jmespath.compile
    - botocore.waiter.AcceptorConfig._create_path_any_matcher
    - botocore.waiter.AcceptorConfig._create_path_matcher
    linkageType: pythonLinkage
    raised:
    - WaiterConfigError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 179
    functionName: botocore.waiter.AcceptorConfig.explanation
    functionSourceFile: botocore.waiter
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 228
    functionName: botocore.waiter.AcceptorConfig._create_path_matcher
    functionSourceFile: botocore.waiter
    functionUses: 3
    functionsReached:
    - jmespath.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 239
    functionName: botocore.waiter.AcceptorConfig._create_path_all_matcher
    functionSourceFile: botocore.waiter
    functionUses: 3
    functionsReached:
    - jmespath.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 260
    functionName: botocore.waiter.AcceptorConfig._create_path_any_matcher
    functionSourceFile: botocore.waiter
    functionUses: 3
    functionsReached:
    - jmespath.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 281
    functionName: botocore.waiter.AcceptorConfig._create_status_matcher
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 295
    functionName: botocore.waiter.AcceptorConfig._create_error_matcher
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 232
    functionName: botocore.waiter.AcceptorConfig._create_path_matcher.acceptor_matches
    functionSourceFile: botocore.waiter
    functionUses: 0
    functionsReached:
    - botocore.waiter.is_valid_waiter_error
    - response.get
    - <builtin>.isinstance
    - expression.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 243
    functionName: botocore.waiter.AcceptorConfig._create_path_all_matcher.acceptor_matches
    functionSourceFile: botocore.waiter
    functionUses: 0
    functionsReached:
    - response.get
    - botocore.waiter.is_valid_waiter_error
    - <builtin>.isinstance
    - expression.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 264
    functionName: botocore.waiter.AcceptorConfig._create_path_any_matcher.acceptor_matches
    functionSourceFile: botocore.waiter
    functionUses: 0
    functionsReached:
    - response.get
    - botocore.waiter.is_valid_waiter_error
    - <builtin>.isinstance
    - expression.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 284
    functionName: botocore.waiter.AcceptorConfig._create_status_matcher.acceptor_matches
    functionSourceFile: botocore.waiter
    functionUses: 0
    functionsReached:
    - response.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 298
    functionName: botocore.waiter.AcceptorConfig._create_error_matcher.acceptor_matches
    functionSourceFile: botocore.waiter
    functionUses: 0
    functionsReached:
    - response.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - name
    - config
    - operation_method
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 311
    functionName: botocore.waiter.Waiter.__init__
    functionSourceFile: botocore.waiter
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: acceptor.matcher_func
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.docs
    functionSourceFile: botocore.docs
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argNames:
    - root_dir
    - session
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 18
    functionName: botocore.docs.generate_docs
    functionSourceFile: botocore.docs
    functionUses: 0
    functionsReached:
    - example_section.write
    - closing_section.style.new_line
    - history.append
    - botocore.docs.waiter.WaiterDocumenter.__init__
    - botocore.docs.client.ClientDocumenter.__init__
    - section.style.toctree
    - botocore.docs.paginator.document_paginate_method
    - service_model.metadata.get
    - closing_section.write
    - service_model.operation_model
    - event_section.style.new_paragraph
    - section.write
    - collections.OrderedDict
    - botocore.docs.client.ClientDocumenter._add_title
    - return_description_section.style.bold
    - botocore.docs.client.ClientExceptionsDocumenter._add_overview
    - input_section.add_new_section
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_title_section
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_output
    - comments.get
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_list
    - session.get_available_services
    - error_section.style.bold
    - f.write
    - example_section.style.bold
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_attr_description
    - final_blank_line_section.style.new_line
    - botocore.docs.paginator.PaginatorDocumenter._add_overview
    - name.replace
    - <builtin>.list
    - botocore.docs.client.ClientExceptionsDocumenter._add_exception_catch_example
    - botocore.docs.sharedexample.SharedExampleDocumenter._get_comment
    - value.items
    - service_pagination_response_params.append
    - SECTION_LINE_LIMIT_CONFIG.get
    - section.style.h2
    - paginator_section.write
    - is_special.group
    - <builtin>.hasattr
    - datetime.datetime.fromtimestamp
    - error_section.style.li
    - botocore.docs.client.ClientDocumenter._get_client_methods
    - botocore.utils._parse_timestamp_with_tzinfo
    - example_section.style.new_line
    - response_section.style.end_sphinx_py_attr
    - <builtin>.sorted
    - _special_case_transform.search
    - docs_link.decode
    - method_intro_section.write
    - return_section.add_new_section
    - botocore.docs.client.ClientDocumenter._add_client_intro
    - botocore.docs.client.ClientDocumenter._add_client_creation_example
    - section.style.dedent
    - <builtin>.str
    - path.pop
    - params_section.style.new_paragraph
    - botocore.docs.client.ClientDocumenter._filter_client_methods
    - parameter_names.remove
    - botocore.docs.shape.ShapeDocumenter.__init__
    - botocore.docs.service.ServiceDocumenter.__init__
    - waiter_section.style.end_codeblock
    - inspect.getdoc
    - input_section.style.start_codeblock
    - botocore.docs.service.ServiceDocumenter.waiter_api
    - botocore.docs.utils.escape_controls
    - input_section.write
    - botocore.docs.client.ClientExceptionsDocumenter._exception_class_name
    - inspect.ismethod
    - container_section.add_new_section
    - section.style.external_link
    - botocore.docs.waiter.WaiterDocumenter.document_waiters
    - logger.debug
    - section.style.start_codeblock
    - operation_model.get_event_stream_output
    - collections.OrderedDict.items
    - event_section.style.new_line
    - botocore.docs.service.ServiceDocumenter.paginator_api
    - operation_model.get_streaming_output
    - <builtin>.enumerate
    - method_intro_section.style.start_danger
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_dict
    - matched.lower
    - paginator_config.get
    - botocore.docs.bcdoc.restdoc.DocumentStructure.get_section
    - signature.replace
    - botocore.docs.service.ServiceDocumenter.title
    - botocore.utils.get_service_module_name
    - operation_model.get_streaming_input
    - botocore.docs.method.get_instance_public_methods
    - short_name.startswith
    - params_section.style.new_line
    - output_section.add_new_section
    - item_section.style.new_line
    - list_section.add_new_section
    - section.include_doc_string
    - client_methods.items
    - response_section.style.start_sphinx_py_attr
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.iter
    - botocore.docs.service.ServiceDocumenter.client_api
    - botocore.docs.sharedexample.SharedExampleDocumenter._document
    - <builtin>.super
    - botocore.docs.method.document_model_driven_method
    - botocore.docs.bcdoc.restdoc.DocumentStructure._generate_structure
    - botocore.docs.client.ClientDocumenter._add_client_method
    - paginator_section.style.start_codeblock
    - return_example_section.style.new_paragraph
    - dateutil.parser.parse
    - params.keys
    - botocore.docs.waiter.WaiterDocumenter._add_overview
    - _end_cap_regex.sub
    - waiter_section.style.start_codeblock
    - history.pop
    - return_section.style.indent
    - section.style.start_sphinx_py_class
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_params
    - <builtin>.range
    - example_section.style.start_codeblock
    - params_section.style.bold
    - return_example_section.style.new_line
    - class_section.style.end_sphinx_py_class
    - _first_cap_regex.sub
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_attr
    - paginator_section.style.start_sphinx_py_class
    - botocore.docs.bcdoc.restdoc.DocumentStructure.write_to_file
    - section.add_new_section
    - botocore.docs.client.ClientDocumenter._add_client_methods
    - botocore.docs.client.ClientDocumenter._add_class_signature
    - <builtin>.len
    - botocore.xform_name
    - <builtin>.isinstance
    - method_intro_section.style.end_danger
    - inspect.signature
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - output_section.write
    - section.context.get
    - DOCUMENTATION_LINK_REGEX.search
    - value.splitlines
    - botocore.docs.paginator.PaginatorDocumenter.document_paginators
    - botocore.docs.method.document_model_driven_signature
    - official_name.lower
    - botocore.docs.client.ClientDocumenter._add_custom_method
    - botocore.docs.method.document_custom_method
    - paginator_section.style.new_line
    - parameter_names.append
    - method_intro_section.style.external_link
    - signature.parameters.copy
    - section.style.new_line
    - <builtin>.getattr
    - closing_section.style.end_codeblock
    - botocore.docs.service.ServiceDocumenter.document_service
    - output_section.style.start_codeblock
    - section.style.indent
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - waiter_section.write
    - container_section.style.bold
    - section.style.h1
    - botocore.docs.client.ClientExceptionsDocumenter._add_exception_class
    - botocore.docs.client.ClientExceptionsDocumenter._add_title
    - section.style.tocitem
    - section.style.bold
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_params
    - <builtin>.float
    - service_waiter_model.get_waiter
    - <builtin>.open
    - return_section.style.new_line
    - botocore.docs.sharedexample.SharedExampleDocumenter._start_nested_value
    - error_section.style.new_line
    - botocore.docs.client.ClientDocumenter._is_custom_method
    - botocore.docs.sharedexample.document_shared_examples
    - botocore.docs.paginator.PaginatorDocumenter._add_paginator
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_input
    - botocore.docs.bcdoc.restdoc.DocumentStructure.__init__
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_str
    - section.writeln
    - short_name.lower
    - section.style.new_paragraph
    - os.path.join
    - paginator_section.style.end_codeblock
    - new_params.values
    - botocore.docs.service.ServiceDocumenter.client_exceptions
    - botocore.utils.parse_timestamp
    - botocore.docs.client.ClientExceptionsDocumenter._add_exception_classes
    - class_section.style.start_sphinx_py_class
    - botocore.docs.client.ClientDocumenter.document_client
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_example
    - title_section.style.h1
    - match.group
    - collections.namedtuple.__init__
    - container_section.style.new_paragraph
    - section.style.start_sphinx_py_method
    - os.makedirs
    - return_description_section.style.new_line
    - example_section.style.new_paragraph
    - method_intro_section.writeln
    - os.path.exists
    - botocore.docs.bcdoc.restdoc.DocumentStructure.flush_structure
    - botocore.docs.client.ClientDocumenter._add_method_exceptions_list
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_shared_example
    - botocore.docs.method.document_custom_signature
    - dict_section.add_new_section
    - botocore.docs.waiter.WaiterDocumenter._add_single_waiter
    - method_intro_section.style.write_py_doc_string
    - breadcrumb_section.style.ref
    - method_intro_section.include_doc_string
    - LARGE_SECTION_MESSAGE.format
    - signature_params.rstrip
    - botocore.docs.client.ClientExceptionsDocumenter._add_top_level_documentation
    - _ESCAPE_CONTROLS_RE.sub
    - breadcrumb_section.write
    - re.sub
    - botocore.docs.waiter.document_wait_method
    - section.style.end_codeblock
    - waiter_section.style.new_line
    - param_section.add_new_section
    - name.startswith
    - botocore.docs.bcdoc.style.ReSTStyle.link_target_definition
    - botocore.docs.client.ClientDocumenter._add_model_driven_method
    - return_example_section.style.bold
    - return_description_section.style.new_paragraph
    - path.append
    - method_intro_section.style.new_paragraph
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_datetime
    - botocore.docs.client.ClientExceptionsDocumenter.document_exceptions
    - item_section.write
    - return_section.write
    - loader.load_service_model
    - inspect.getmembers
    - botocore.docs.utils.get_official_service_name
    - event_section.write
    - botocore.docs.bcdoc.restdoc.DocumentStructure.getvalue
    - botocore.docs.sharedexample.SharedExampleDocumenter._end_nested_value
    - botocore.docs.service.ServiceDocumenter.get_examples
    - service_pagination_params.append
    - SECTION_METHOD_PATH_DEPTH.get
    - example.get
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - section.flush_structure
    - botocore.docs.client.ClientExceptionsDocumenter._add_exceptions_list
    - waiter_section.style.start_sphinx_py_class
    - <builtin>.next
    - botocore.docs.paginator.PaginatorDocumenter.__init__
    - output_section.style.new_line
    - dict_section_end.write
    - operation_model.service_model.metadata.get
    - value.decode
    - botocore.docs.client.ClientDocumenter._filter_client_method
    - shape.members.get
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_number
    - botocore.docs.client.ClientExceptionsDocumenter.__init__
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.exists
    functionSourceFile: os
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: session.get_available_services
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - service_name
    - session
    - root_docs_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 21
    functionName: botocore.docs.service.ServiceDocumenter.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 42
    functionName: botocore.docs.service.ServiceDocumenter.document_service
    functionSourceFile: botocore.docs.service
    functionUses: 1
    functionsReached:
    - example_section.write
    - closing_section.style.new_line
    - history.append
    - botocore.docs.waiter.WaiterDocumenter.__init__
    - botocore.docs.client.ClientDocumenter.__init__
    - section.style.toctree
    - botocore.docs.paginator.document_paginate_method
    - service_model.metadata.get
    - closing_section.write
    - service_model.operation_model
    - event_section.style.new_paragraph
    - section.write
    - collections.OrderedDict
    - botocore.docs.client.ClientDocumenter._add_title
    - return_description_section.style.bold
    - botocore.docs.client.ClientExceptionsDocumenter._add_overview
    - input_section.add_new_section
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_title_section
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_output
    - comments.get
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_list
    - error_section.style.bold
    - f.write
    - example_section.style.bold
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_attr_description
    - final_blank_line_section.style.new_line
    - botocore.docs.paginator.PaginatorDocumenter._add_overview
    - name.replace
    - <builtin>.list
    - botocore.docs.sharedexample.SharedExampleDocumenter._get_comment
    - botocore.docs.client.ClientExceptionsDocumenter._add_exception_catch_example
    - value.items
    - service_pagination_response_params.append
    - section.style.h2
    - SECTION_LINE_LIMIT_CONFIG.get
    - paginator_section.write
    - is_special.group
    - <builtin>.hasattr
    - datetime.datetime.fromtimestamp
    - error_section.style.li
    - botocore.docs.client.ClientDocumenter._get_client_methods
    - botocore.utils._parse_timestamp_with_tzinfo
    - example_section.style.new_line
    - response_section.style.end_sphinx_py_attr
    - <builtin>.sorted
    - _special_case_transform.search
    - return_section.add_new_section
    - docs_link.decode
    - method_intro_section.write
    - botocore.docs.client.ClientDocumenter._add_client_intro
    - botocore.docs.client.ClientDocumenter._add_client_creation_example
    - <builtin>.str
    - path.pop
    - params_section.style.new_paragraph
    - botocore.docs.client.ClientDocumenter._filter_client_methods
    - parameter_names.remove
    - botocore.docs.shape.ShapeDocumenter.__init__
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_number
    - waiter_section.style.end_codeblock
    - inspect.getdoc
    - input_section.style.start_codeblock
    - botocore.docs.service.ServiceDocumenter.waiter_api
    - botocore.docs.utils.escape_controls
    - input_section.write
    - botocore.docs.client.ClientExceptionsDocumenter._exception_class_name
    - container_section.add_new_section
    - inspect.ismethod
    - section.style.external_link
    - botocore.docs.waiter.WaiterDocumenter.document_waiters
    - logger.debug
    - section.style.start_codeblock
    - operation_model.get_event_stream_output
    - collections.OrderedDict.items
    - event_section.style.new_line
    - botocore.docs.service.ServiceDocumenter.paginator_api
    - operation_model.get_streaming_output
    - <builtin>.enumerate
    - method_intro_section.style.start_danger
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_dict
    - matched.lower
    - paginator_config.get
    - botocore.docs.bcdoc.restdoc.DocumentStructure.get_section
    - signature.replace
    - botocore.docs.service.ServiceDocumenter.title
    - botocore.utils.get_service_module_name
    - operation_model.get_streaming_input
    - botocore.docs.method.get_instance_public_methods
    - short_name.startswith
    - params_section.style.new_line
    - output_section.add_new_section
    - item_section.style.new_line
    - list_section.add_new_section
    - section.include_doc_string
    - client_methods.items
    - response_section.style.start_sphinx_py_attr
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.iter
    - botocore.docs.service.ServiceDocumenter.client_api
    - botocore.docs.sharedexample.SharedExampleDocumenter._document
    - <builtin>.super
    - botocore.docs.method.document_model_driven_method
    - botocore.docs.bcdoc.restdoc.DocumentStructure._generate_structure
    - botocore.docs.client.ClientDocumenter._add_client_method
    - paginator_section.style.start_codeblock
    - return_example_section.style.new_paragraph
    - dateutil.parser.parse
    - params.keys
    - waiter_section.style.start_codeblock
    - _end_cap_regex.sub
    - botocore.docs.waiter.WaiterDocumenter._add_overview
    - history.pop
    - return_section.style.indent
    - section.style.start_sphinx_py_class
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_params
    - <builtin>.range
    - example_section.style.start_codeblock
    - params_section.style.bold
    - return_example_section.style.new_line
    - class_section.style.end_sphinx_py_class
    - _first_cap_regex.sub
    - section.add_new_section
    - paginator_section.style.start_sphinx_py_class
    - botocore.docs.bcdoc.restdoc.DocumentStructure.write_to_file
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_attr
    - botocore.docs.client.ClientDocumenter._add_client_methods
    - inspect.signature
    - <builtin>.len
    - botocore.xform_name
    - <builtin>.isinstance
    - method_intro_section.style.end_danger
    - output_section.write
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - botocore.docs.client.ClientDocumenter._add_class_signature
    - section.context.get
    - DOCUMENTATION_LINK_REGEX.search
    - value.splitlines
    - botocore.docs.paginator.PaginatorDocumenter.document_paginators
    - botocore.docs.method.document_model_driven_signature
    - official_name.lower
    - botocore.docs.client.ClientDocumenter._add_custom_method
    - botocore.docs.method.document_custom_method
    - paginator_section.style.new_line
    - parameter_names.append
    - method_intro_section.style.external_link
    - signature.parameters.copy
    - section.style.new_line
    - <builtin>.getattr
    - closing_section.style.end_codeblock
    - output_section.style.start_codeblock
    - section.style.indent
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - waiter_section.write
    - container_section.style.bold
    - section.style.h1
    - botocore.docs.client.ClientExceptionsDocumenter._add_exception_class
    - botocore.docs.client.ClientExceptionsDocumenter._add_title
    - section.style.tocitem
    - <builtin>.float
    - section.style.bold
    - service_waiter_model.get_waiter
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_params
    - <builtin>.open
    - return_section.style.new_line
    - botocore.docs.sharedexample.SharedExampleDocumenter._start_nested_value
    - error_section.style.new_line
    - botocore.docs.client.ClientDocumenter._is_custom_method
    - botocore.docs.sharedexample.document_shared_examples
    - botocore.docs.paginator.PaginatorDocumenter._add_paginator
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_input
    - botocore.docs.bcdoc.restdoc.DocumentStructure.__init__
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_str
    - section.writeln
    - short_name.lower
    - section.style.new_paragraph
    - os.path.join
    - paginator_section.style.end_codeblock
    - new_params.values
    - botocore.docs.service.ServiceDocumenter.client_exceptions
    - botocore.utils.parse_timestamp
    - botocore.docs.client.ClientExceptionsDocumenter._add_exception_classes
    - class_section.style.start_sphinx_py_class
    - botocore.docs.client.ClientDocumenter.document_client
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_example
    - title_section.style.h1
    - match.group
    - collections.namedtuple.__init__
    - container_section.style.new_paragraph
    - section.style.start_sphinx_py_method
    - os.makedirs
    - return_description_section.style.new_line
    - example_section.style.new_paragraph
    - method_intro_section.writeln
    - os.path.exists
    - botocore.docs.bcdoc.restdoc.DocumentStructure.flush_structure
    - botocore.docs.client.ClientDocumenter._add_method_exceptions_list
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.method.document_custom_signature
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_shared_example
    - dict_section.add_new_section
    - botocore.docs.waiter.WaiterDocumenter._add_single_waiter
    - method_intro_section.style.write_py_doc_string
    - breadcrumb_section.style.ref
    - method_intro_section.include_doc_string
    - LARGE_SECTION_MESSAGE.format
    - signature_params.rstrip
    - botocore.docs.client.ClientExceptionsDocumenter._add_top_level_documentation
    - _ESCAPE_CONTROLS_RE.sub
    - breadcrumb_section.write
    - re.sub
    - botocore.docs.waiter.document_wait_method
    - section.style.end_codeblock
    - waiter_section.style.new_line
    - param_section.add_new_section
    - name.startswith
    - botocore.docs.bcdoc.style.ReSTStyle.link_target_definition
    - botocore.docs.client.ClientDocumenter._add_model_driven_method
    - return_example_section.style.bold
    - return_description_section.style.new_paragraph
    - path.append
    - method_intro_section.style.new_paragraph
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_datetime
    - item_section.write
    - botocore.docs.client.ClientExceptionsDocumenter.document_exceptions
    - return_section.write
    - loader.load_service_model
    - inspect.getmembers
    - botocore.docs.utils.get_official_service_name
    - event_section.write
    - botocore.docs.bcdoc.restdoc.DocumentStructure.getvalue
    - botocore.docs.sharedexample.SharedExampleDocumenter._end_nested_value
    - botocore.docs.service.ServiceDocumenter.get_examples
    - service_pagination_params.append
    - SECTION_METHOD_PATH_DEPTH.get
    - example.get
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - section.flush_structure
    - botocore.docs.client.ClientExceptionsDocumenter._add_exceptions_list
    - waiter_section.style.start_sphinx_py_class
    - <builtin>.next
    - botocore.docs.paginator.PaginatorDocumenter.__init__
    - output_section.style.new_line
    - dict_section_end.write
    - operation_model.service_model.metadata.get
    - value.decode
    - botocore.docs.client.ClientDocumenter._filter_client_method
    - shape.members.get
    - section.style.dedent
    - botocore.docs.client.ClientExceptionsDocumenter.__init__
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.docs.service
    functionSourceFile: botocore.docs.service
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 5
    argNames:
    - self
    - name
    - section_names
    - target
    - context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 134
    functionName: botocore.docs.bcdoc.restdoc.DocumentStructure.__init__
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 16
    functionsReached:
    - collections.OrderedDict
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    - botocore.docs.bcdoc.restdoc.DocumentStructure._generate_structure
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 213
    functionName: botocore.docs.bcdoc.restdoc.DocumentStructure.get_section
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 57
    functionName: botocore.docs.service.ServiceDocumenter.title
    functionSourceFile: botocore.docs.service
    functionUses: 2
    functionsReached:
    - section.style.h1
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 66
    functionName: botocore.docs.service.ServiceDocumenter.client_api
    functionSourceFile: botocore.docs.service
    functionUses: 2
    functionsReached:
    - example_section.write
    - closing_section.style.new_line
    - history.append
    - botocore.docs.client.ClientDocumenter.__init__
    - section.style.toctree
    - service_model.metadata.get
    - closing_section.write
    - service_model.operation_model
    - event_section.style.new_paragraph
    - section.write
    - botocore.docs.client.ClientDocumenter._add_title
    - collections.OrderedDict
    - return_description_section.style.bold
    - input_section.add_new_section
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_title_section
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_output
    - comments.get
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_list
    - error_section.style.bold
    - f.write
    - example_section.style.bold
    - final_blank_line_section.style.new_line
    - <builtin>.list
    - botocore.docs.sharedexample.SharedExampleDocumenter._get_comment
    - value.items
    - section.style.h2
    - SECTION_LINE_LIMIT_CONFIG.get
    - <builtin>.hasattr
    - datetime.datetime.fromtimestamp
    - error_section.style.li
    - botocore.docs.client.ClientDocumenter._get_client_methods
    - botocore.utils._parse_timestamp_with_tzinfo
    - <builtin>.sorted
    - docs_link.decode
    - botocore.docs.client.ClientDocumenter._add_client_intro
    - method_intro_section.write
    - return_section.add_new_section
    - botocore.docs.client.ClientDocumenter._add_client_creation_example
    - path.pop
    - <builtin>.str
    - botocore.docs.client.ClientDocumenter._filter_client_methods
    - botocore.docs.shape.ShapeDocumenter.__init__
    - parameter_names.remove
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_number
    - inspect.getdoc
    - input_section.style.start_codeblock
    - botocore.docs.utils.escape_controls
    - input_section.write
    - inspect.ismethod
    - container_section.add_new_section
    - logger.debug
    - section.style.start_codeblock
    - operation_model.get_event_stream_output
    - collections.OrderedDict.items
    - event_section.style.new_line
    - operation_model.get_streaming_output
    - <builtin>.enumerate
    - method_intro_section.style.start_danger
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_dict
    - signature.replace
    - botocore.docs.method.get_instance_public_methods
    - operation_model.get_streaming_input
    - short_name.startswith
    - output_section.add_new_section
    - item_section.style.new_line
    - list_section.add_new_section
    - section.include_doc_string
    - client_methods.items
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.iter
    - botocore.docs.sharedexample.SharedExampleDocumenter._document
    - <builtin>.super
    - botocore.docs.method.document_model_driven_method
    - botocore.docs.bcdoc.restdoc.DocumentStructure._generate_structure
    - botocore.docs.client.ClientDocumenter._add_client_method
    - return_example_section.style.new_paragraph
    - dateutil.parser.parse
    - params.keys
    - history.pop
    - section.style.start_sphinx_py_class
    - return_section.style.indent
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_params
    - <builtin>.range
    - example_section.style.start_codeblock
    - return_example_section.style.new_line
    - section.add_new_section
    - botocore.docs.bcdoc.restdoc.DocumentStructure.write_to_file
    - botocore.docs.client.ClientDocumenter._add_client_methods
    - botocore.docs.client.ClientDocumenter._add_class_signature
    - <builtin>.len
    - method_intro_section.style.end_danger
    - <builtin>.isinstance
    - output_section.write
    - inspect.signature
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - section.context.get
    - DOCUMENTATION_LINK_REGEX.search
    - value.splitlines
    - botocore.docs.method.document_model_driven_signature
    - official_name.lower
    - botocore.docs.client.ClientDocumenter._add_custom_method
    - botocore.docs.method.document_custom_method
    - signature.parameters.copy
    - parameter_names.append
    - method_intro_section.style.external_link
    - closing_section.style.end_codeblock
    - section.style.new_line
    - <builtin>.getattr
    - output_section.style.start_codeblock
    - section.style.indent
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - container_section.style.bold
    - section.style.tocitem
    - <builtin>.float
    - <builtin>.open
    - return_section.style.new_line
    - botocore.docs.sharedexample.SharedExampleDocumenter._start_nested_value
    - error_section.style.new_line
    - botocore.docs.client.ClientDocumenter._is_custom_method
    - botocore.docs.sharedexample.document_shared_examples
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_input
    - botocore.docs.bcdoc.restdoc.DocumentStructure.__init__
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_str
    - section.writeln
    - short_name.lower
    - section.style.new_paragraph
    - os.path.join
    - new_params.values
    - botocore.utils.parse_timestamp
    - botocore.docs.client.ClientDocumenter.document_client
    - title_section.style.h1
    - match.group
    - container_section.style.new_paragraph
    - section.style.start_sphinx_py_method
    - os.makedirs
    - return_description_section.style.new_line
    - example_section.style.new_paragraph
    - method_intro_section.writeln
    - os.path.exists
    - botocore.docs.client.ClientDocumenter._add_method_exceptions_list
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_shared_example
    - botocore.docs.bcdoc.restdoc.DocumentStructure.flush_structure
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.method.document_custom_signature
    - dict_section.add_new_section
    - method_intro_section.style.write_py_doc_string
    - breadcrumb_section.style.ref
    - method_intro_section.include_doc_string
    - LARGE_SECTION_MESSAGE.format
    - signature_params.rstrip
    - _ESCAPE_CONTROLS_RE.sub
    - breadcrumb_section.write
    - re.sub
    - section.style.end_codeblock
    - param_section.add_new_section
    - name.startswith
    - botocore.docs.bcdoc.style.ReSTStyle.link_target_definition
    - botocore.docs.client.ClientDocumenter._add_model_driven_method
    - return_example_section.style.bold
    - return_description_section.style.new_paragraph
    - path.append
    - method_intro_section.style.new_paragraph
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_datetime
    - item_section.write
    - loader.load_service_model
    - inspect.getmembers
    - return_section.write
    - botocore.docs.utils.get_official_service_name
    - event_section.write
    - botocore.docs.sharedexample.SharedExampleDocumenter._end_nested_value
    - botocore.docs.bcdoc.restdoc.DocumentStructure.getvalue
    - botocore.docs.service.ServiceDocumenter.get_examples
    - example.get
    - SECTION_METHOD_PATH_DEPTH.get
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - section.flush_structure
    - <builtin>.next
    - output_section.style.new_line
    - dict_section_end.write
    - operation_model.service_model.metadata.get
    - value.decode
    - botocore.docs.client.ClientDocumenter._filter_client_method
    - shape.members.get
    - section.style.dedent
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 77
    functionName: botocore.docs.service.ServiceDocumenter.client_exceptions
    functionSourceFile: botocore.docs.service
    functionUses: 2
    functionsReached:
    - history.append
    - section.style.toctree
    - section.write
    - collections.OrderedDict
    - botocore.docs.client.ClientExceptionsDocumenter._add_overview
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_title_section
    - f.write
    - example_section.style.bold
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_attr_description
    - final_blank_line_section.style.new_line
    - botocore.docs.client.ClientExceptionsDocumenter._add_exception_catch_example
    - SECTION_LINE_LIMIT_CONFIG.get
    - section.style.h2
    - <builtin>.hasattr
    - example_section.style.new_line
    - response_section.style.end_sphinx_py_attr
    - docs_link.decode
    - params_section.style.new_paragraph
    - botocore.docs.shape.ShapeDocumenter.__init__
    - botocore.docs.client.ClientExceptionsDocumenter._exception_class_name
    - section.style.external_link
    - section.style.start_codeblock
    - collections.OrderedDict.items
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    - params_section.style.new_line
    - section.include_doc_string
    - response_section.style.start_sphinx_py_attr
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.super
    - botocore.docs.bcdoc.restdoc.DocumentStructure._generate_structure
    - history.pop
    - params_section.style.bold
    - class_section.style.end_sphinx_py_class
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_attr
    - section.add_new_section
    - botocore.docs.bcdoc.restdoc.DocumentStructure.write_to_file
    - <builtin>.len
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - DOCUMENTATION_LINK_REGEX.search
    - value.splitlines
    - section.style.new_line
    - <builtin>.getattr
    - section.style.indent
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - botocore.docs.client.ClientExceptionsDocumenter._add_exception_class
    - botocore.docs.client.ClientExceptionsDocumenter._add_title
    - section.style.tocitem
    - section.style.bold
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_params
    - <builtin>.open
    - botocore.docs.bcdoc.restdoc.DocumentStructure.__init__
    - section.writeln
    - os.path.join
    - botocore.docs.client.ClientExceptionsDocumenter._add_exception_classes
    - class_section.style.start_sphinx_py_class
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_example
    - title_section.style.h1
    - match.group
    - os.makedirs
    - example_section.style.new_paragraph
    - os.path.exists
    - botocore.docs.bcdoc.restdoc.DocumentStructure.flush_structure
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - breadcrumb_section.style.ref
    - LARGE_SECTION_MESSAGE.format
    - botocore.docs.client.ClientExceptionsDocumenter._add_top_level_documentation
    - breadcrumb_section.write
    - section.style.end_codeblock
    - botocore.docs.bcdoc.style.ReSTStyle.link_target_definition
    - botocore.docs.client.ClientExceptionsDocumenter.document_exceptions
    - botocore.docs.bcdoc.restdoc.DocumentStructure.getvalue
    - SECTION_METHOD_PATH_DEPTH.get
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - section.flush_structure
    - botocore.docs.client.ClientExceptionsDocumenter._add_exceptions_list
    - value.decode
    - section.style.dedent
    - botocore.docs.client.ClientExceptionsDocumenter.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 82
    functionName: botocore.docs.service.ServiceDocumenter.paginator_api
    functionSourceFile: botocore.docs.service
    functionUses: 2
    functionsReached:
    - example_section.write
    - history.append
    - botocore.docs.paginator.document_paginate_method
    - section.style.toctree
    - service_model.metadata.get
    - service_model.operation_model
    - event_section.style.new_paragraph
    - section.write
    - collections.OrderedDict
    - return_description_section.style.bold
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_title_section
    - f.write
    - example_section.style.bold
    - final_blank_line_section.style.new_line
    - botocore.docs.paginator.PaginatorDocumenter._add_overview
    - name.replace
    - <builtin>.list
    - service_pagination_response_params.append
    - section.style.h2
    - SECTION_LINE_LIMIT_CONFIG.get
    - paginator_section.write
    - is_special.group
    - <builtin>.hasattr
    - <builtin>.sorted
    - _special_case_transform.search
    - method_intro_section.write
    - return_section.add_new_section
    - docs_link.decode
    - botocore.docs.shape.ShapeDocumenter.__init__
    - parameter_names.remove
    - section.style.external_link
    - section.style.start_codeblock
    - operation_model.get_event_stream_output
    - event_section.style.new_line
    - collections.OrderedDict.items
    - operation_model.get_streaming_output
    - method_intro_section.style.start_danger
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    - matched.lower
    - paginator_config.get
    - botocore.utils.get_service_module_name
    - operation_model.get_streaming_input
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.super
    - botocore.docs.method.document_model_driven_method
    - botocore.docs.bcdoc.restdoc.DocumentStructure._generate_structure
    - paginator_section.style.start_codeblock
    - return_example_section.style.new_paragraph
    - params.keys
    - _end_cap_regex.sub
    - history.pop
    - return_section.style.indent
    - example_section.style.start_codeblock
    - _first_cap_regex.sub
    - return_example_section.style.new_line
    - section.add_new_section
    - paginator_section.style.start_sphinx_py_class
    - botocore.docs.bcdoc.restdoc.DocumentStructure.write_to_file
    - <builtin>.len
    - botocore.xform_name
    - <builtin>.isinstance
    - method_intro_section.style.end_danger
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - DOCUMENTATION_LINK_REGEX.search
    - value.splitlines
    - botocore.docs.paginator.PaginatorDocumenter.document_paginators
    - botocore.docs.method.document_model_driven_signature
    - paginator_section.style.new_line
    - parameter_names.append
    - method_intro_section.style.external_link
    - section.style.new_line
    - <builtin>.getattr
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - section.style.tocitem
    - <builtin>.open
    - return_section.style.new_line
    - botocore.docs.paginator.PaginatorDocumenter._add_paginator
    - botocore.docs.bcdoc.restdoc.DocumentStructure.__init__
    - section.writeln
    - os.path.join
    - paginator_section.style.end_codeblock
    - title_section.style.h1
    - collections.namedtuple.__init__
    - match.group
    - section.style.start_sphinx_py_method
    - os.makedirs
    - return_description_section.style.new_line
    - example_section.style.new_paragraph
    - method_intro_section.writeln
    - os.path.exists
    - botocore.docs.bcdoc.restdoc.DocumentStructure.flush_structure
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - breadcrumb_section.style.ref
    - method_intro_section.include_doc_string
    - LARGE_SECTION_MESSAGE.format
    - breadcrumb_section.write
    - re.sub
    - botocore.docs.bcdoc.style.ReSTStyle.link_target_definition
    - return_example_section.style.bold
    - return_description_section.style.new_paragraph
    - method_intro_section.style.new_paragraph
    - return_section.write
    - event_section.write
    - botocore.docs.bcdoc.restdoc.DocumentStructure.getvalue
    - service_pagination_params.append
    - SECTION_METHOD_PATH_DEPTH.get
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - section.flush_structure
    - botocore.docs.paginator.PaginatorDocumenter.__init__
    - operation_model.service_model.metadata.get
    - value.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 95
    functionName: botocore.docs.service.ServiceDocumenter.waiter_api
    functionSourceFile: botocore.docs.service
    functionUses: 2
    functionsReached:
    - botocore.docs.waiter.WaiterDocumenter.__init__
    - example_section.write
    - history.append
    - section.style.toctree
    - service_model.metadata.get
    - service_model.operation_model
    - event_section.style.new_paragraph
    - section.write
    - collections.OrderedDict
    - return_description_section.style.bold
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_title_section
    - f.write
    - example_section.style.bold
    - final_blank_line_section.style.new_line
    - name.replace
    - <builtin>.list
    - section.style.h2
    - SECTION_LINE_LIMIT_CONFIG.get
    - is_special.group
    - <builtin>.hasattr
    - _special_case_transform.search
    - docs_link.decode
    - method_intro_section.write
    - return_section.add_new_section
    - botocore.docs.shape.ShapeDocumenter.__init__
    - parameter_names.remove
    - waiter_section.style.end_codeblock
    - section.style.external_link
    - botocore.docs.waiter.WaiterDocumenter.document_waiters
    - section.style.start_codeblock
    - operation_model.get_event_stream_output
    - collections.OrderedDict.items
    - event_section.style.new_line
    - operation_model.get_streaming_output
    - method_intro_section.style.start_danger
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    - matched.lower
    - botocore.utils.get_service_module_name
    - operation_model.get_streaming_input
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.super
    - botocore.docs.method.document_model_driven_method
    - botocore.docs.bcdoc.restdoc.DocumentStructure._generate_structure
    - return_example_section.style.new_paragraph
    - waiter_section.style.start_codeblock
    - botocore.docs.waiter.WaiterDocumenter._add_overview
    - _end_cap_regex.sub
    - params.keys
    - history.pop
    - return_section.style.indent
    - example_section.style.start_codeblock
    - _first_cap_regex.sub
    - return_example_section.style.new_line
    - section.add_new_section
    - botocore.docs.bcdoc.restdoc.DocumentStructure.write_to_file
    - <builtin>.len
    - botocore.xform_name
    - method_intro_section.style.end_danger
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - DOCUMENTATION_LINK_REGEX.search
    - value.splitlines
    - botocore.docs.method.document_model_driven_signature
    - parameter_names.append
    - method_intro_section.style.external_link
    - section.style.new_line
    - <builtin>.getattr
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - waiter_section.write
    - service_waiter_model.get_waiter
    - section.style.tocitem
    - <builtin>.open
    - return_section.style.new_line
    - botocore.docs.bcdoc.restdoc.DocumentStructure.__init__
    - section.writeln
    - os.path.join
    - title_section.style.h1
    - collections.namedtuple.__init__
    - match.group
    - section.style.start_sphinx_py_method
    - os.makedirs
    - return_description_section.style.new_line
    - example_section.style.new_paragraph
    - method_intro_section.writeln
    - os.path.exists
    - botocore.docs.waiter.WaiterDocumenter._add_single_waiter
    - botocore.docs.bcdoc.restdoc.DocumentStructure.flush_structure
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - breadcrumb_section.style.ref
    - method_intro_section.include_doc_string
    - LARGE_SECTION_MESSAGE.format
    - breadcrumb_section.write
    - botocore.docs.waiter.document_wait_method
    - re.sub
    - waiter_section.style.new_line
    - botocore.docs.bcdoc.style.ReSTStyle.link_target_definition
    - return_example_section.style.bold
    - return_description_section.style.new_paragraph
    - method_intro_section.style.new_paragraph
    - return_section.write
    - event_section.write
    - botocore.docs.bcdoc.restdoc.DocumentStructure.getvalue
    - SECTION_METHOD_PATH_DEPTH.get
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - section.flush_structure
    - waiter_section.style.start_sphinx_py_class
    - operation_model.service_model.metadata.get
    - value.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argNames:
    - self
    - docs_link
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 221
    functionName: botocore.docs.bcdoc.restdoc.DocumentStructure.flush_structure
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 17
    functionsReached:
    - <builtin>.len
    - section.flush_structure
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - collections.OrderedDict.items
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - DOCUMENTATION_LINK_REGEX.search
    - match.group
    - value.splitlines
    - value.decode
    - botocore.docs.bcdoc.restdoc.DocumentStructure.getvalue
    - docs_link.decode
    - LARGE_SECTION_MESSAGE.format
    - SECTION_METHOD_PATH_DEPTH.get
    - SECTION_LINE_LIMIT_CONFIG.get
    - botocore.docs.bcdoc.style.ReSTStyle.link_target_definition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.style.h1
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: botocore.docs.service.ServiceDocumenter.table_of_contents
    functionSourceFile: botocore.docs.service
    functionUses: 0
    functionsReached:
    - section.style.table_of_contents
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.style.table_of_contents
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - service_name
    - api_version
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 105
    functionName: botocore.docs.service.ServiceDocumenter.get_examples
    functionSourceFile: botocore.docs.service
    functionUses: 3
    functionsReached:
    - loader.load_service_model
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - client
    - root_docs_path
    - shared_examples
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 39
    functionName: botocore.docs.client.ClientDocumenter.__init__
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 48
    functionName: botocore.docs.client.ClientDocumenter.document_client
    functionSourceFile: botocore.docs.client
    functionUses: 3
    functionsReached:
    - example_section.write
    - closing_section.style.new_line
    - history.append
    - section.style.toctree
    - service_model.metadata.get
    - closing_section.write
    - service_model.operation_model
    - event_section.style.new_paragraph
    - section.write
    - botocore.docs.client.ClientDocumenter._add_title
    - collections.OrderedDict
    - return_description_section.style.bold
    - input_section.add_new_section
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_title_section
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_output
    - comments.get
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_list
    - error_section.style.bold
    - f.write
    - example_section.style.bold
    - final_blank_line_section.style.new_line
    - <builtin>.list
    - botocore.docs.sharedexample.SharedExampleDocumenter._get_comment
    - value.items
    - section.style.h2
    - SECTION_LINE_LIMIT_CONFIG.get
    - <builtin>.hasattr
    - datetime.datetime.fromtimestamp
    - error_section.style.li
    - botocore.docs.client.ClientDocumenter._get_client_methods
    - botocore.utils._parse_timestamp_with_tzinfo
    - <builtin>.sorted
    - docs_link.decode
    - botocore.docs.client.ClientDocumenter._add_client_intro
    - method_intro_section.write
    - return_section.add_new_section
    - botocore.docs.client.ClientDocumenter._add_client_creation_example
    - path.pop
    - <builtin>.str
    - botocore.docs.client.ClientDocumenter._filter_client_methods
    - botocore.docs.shape.ShapeDocumenter.__init__
    - parameter_names.remove
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_number
    - inspect.getdoc
    - input_section.style.start_codeblock
    - botocore.docs.utils.escape_controls
    - input_section.write
    - inspect.ismethod
    - container_section.add_new_section
    - logger.debug
    - section.style.start_codeblock
    - operation_model.get_event_stream_output
    - collections.OrderedDict.items
    - event_section.style.new_line
    - operation_model.get_streaming_output
    - <builtin>.enumerate
    - method_intro_section.style.start_danger
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_dict
    - signature.replace
    - botocore.docs.method.get_instance_public_methods
    - operation_model.get_streaming_input
    - short_name.startswith
    - output_section.add_new_section
    - item_section.style.new_line
    - list_section.add_new_section
    - section.include_doc_string
    - client_methods.items
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.iter
    - botocore.docs.sharedexample.SharedExampleDocumenter._document
    - <builtin>.super
    - botocore.docs.method.document_model_driven_method
    - botocore.docs.bcdoc.restdoc.DocumentStructure._generate_structure
    - botocore.docs.client.ClientDocumenter._add_client_method
    - return_example_section.style.new_paragraph
    - dateutil.parser.parse
    - params.keys
    - history.pop
    - section.style.start_sphinx_py_class
    - return_section.style.indent
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_params
    - <builtin>.range
    - example_section.style.start_codeblock
    - return_example_section.style.new_line
    - section.add_new_section
    - botocore.docs.bcdoc.restdoc.DocumentStructure.write_to_file
    - botocore.docs.client.ClientDocumenter._add_client_methods
    - botocore.docs.client.ClientDocumenter._add_class_signature
    - <builtin>.len
    - method_intro_section.style.end_danger
    - <builtin>.isinstance
    - output_section.write
    - inspect.signature
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - section.context.get
    - DOCUMENTATION_LINK_REGEX.search
    - value.splitlines
    - botocore.docs.method.document_model_driven_signature
    - official_name.lower
    - botocore.docs.client.ClientDocumenter._add_custom_method
    - botocore.docs.method.document_custom_method
    - signature.parameters.copy
    - parameter_names.append
    - method_intro_section.style.external_link
    - closing_section.style.end_codeblock
    - section.style.new_line
    - <builtin>.getattr
    - output_section.style.start_codeblock
    - section.style.indent
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - container_section.style.bold
    - section.style.tocitem
    - <builtin>.float
    - <builtin>.open
    - return_section.style.new_line
    - botocore.docs.sharedexample.SharedExampleDocumenter._start_nested_value
    - error_section.style.new_line
    - botocore.docs.client.ClientDocumenter._is_custom_method
    - botocore.docs.sharedexample.document_shared_examples
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_input
    - botocore.docs.bcdoc.restdoc.DocumentStructure.__init__
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_str
    - section.writeln
    - short_name.lower
    - section.style.new_paragraph
    - os.path.join
    - new_params.values
    - botocore.utils.parse_timestamp
    - title_section.style.h1
    - match.group
    - container_section.style.new_paragraph
    - section.style.start_sphinx_py_method
    - os.makedirs
    - return_description_section.style.new_line
    - example_section.style.new_paragraph
    - method_intro_section.writeln
    - os.path.exists
    - botocore.docs.client.ClientDocumenter._add_method_exceptions_list
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_shared_example
    - botocore.docs.bcdoc.restdoc.DocumentStructure.flush_structure
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.method.document_custom_signature
    - dict_section.add_new_section
    - method_intro_section.style.write_py_doc_string
    - breadcrumb_section.style.ref
    - method_intro_section.include_doc_string
    - LARGE_SECTION_MESSAGE.format
    - signature_params.rstrip
    - _ESCAPE_CONTROLS_RE.sub
    - breadcrumb_section.write
    - re.sub
    - section.style.end_codeblock
    - param_section.add_new_section
    - name.startswith
    - botocore.docs.bcdoc.style.ReSTStyle.link_target_definition
    - botocore.docs.client.ClientDocumenter._add_model_driven_method
    - return_example_section.style.bold
    - return_description_section.style.new_paragraph
    - path.append
    - method_intro_section.style.new_paragraph
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_datetime
    - item_section.write
    - inspect.getmembers
    - return_section.write
    - botocore.docs.utils.get_official_service_name
    - event_section.write
    - botocore.docs.sharedexample.SharedExampleDocumenter._end_nested_value
    - botocore.docs.bcdoc.restdoc.DocumentStructure.getvalue
    - example.get
    - SECTION_METHOD_PATH_DEPTH.get
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - section.flush_structure
    - <builtin>.next
    - output_section.style.new_line
    - dict_section_end.write
    - operation_model.service_model.metadata.get
    - value.decode
    - botocore.docs.client.ClientDocumenter._filter_client_method
    - shape.members.get
    - section.style.dedent
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - client
    - root_docs_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 247
    functionName: botocore.docs.client.ClientExceptionsDocumenter.__init__
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 253
    functionName: botocore.docs.client.ClientExceptionsDocumenter.document_exceptions
    functionSourceFile: botocore.docs.client
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - section.style.start_codeblock
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - os.path.exists
    - botocore.docs.bcdoc.restdoc.DocumentStructure.flush_structure
    - history.append
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - section.style.toctree
    - collections.OrderedDict.items
    - DOCUMENTATION_LINK_REGEX.search
    - value.splitlines
    - breadcrumb_section.style.ref
    - section.write
    - collections.OrderedDict
    - LARGE_SECTION_MESSAGE.format
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    - botocore.docs.client.ClientExceptionsDocumenter._add_overview
    - section.style.new_line
    - <builtin>.getattr
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_title_section
    - botocore.docs.client.ClientExceptionsDocumenter._add_top_level_documentation
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_attr
    - params_section.style.new_line
    - section.style.indent
    - f.write
    - breadcrumb_section.write
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - example_section.style.bold
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_attr_description
    - final_blank_line_section.style.new_line
    - botocore.docs.client.ClientExceptionsDocumenter._add_exception_catch_example
    - section.style.end_codeblock
    - section.include_doc_string
    - botocore.docs.client.ClientExceptionsDocumenter._add_exception_class
    - botocore.docs.client.ClientExceptionsDocumenter._add_title
    - SECTION_LINE_LIMIT_CONFIG.get
    - botocore.docs.bcdoc.style.ReSTStyle.link_target_definition
    - section.style.tocitem
    - section.style.bold
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_params
    - <builtin>.open
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.hasattr
    - response_section.style.start_sphinx_py_attr
    - section.style.h2
    - <builtin>.super
    - example_section.style.new_line
    - response_section.style.end_sphinx_py_attr
    - botocore.docs.bcdoc.restdoc.DocumentStructure.getvalue
    - botocore.docs.bcdoc.restdoc.DocumentStructure._generate_structure
    - botocore.docs.bcdoc.restdoc.DocumentStructure.__init__
    - docs_link.decode
    - section.add_new_section
    - section.writeln
    - SECTION_METHOD_PATH_DEPTH.get
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - section.flush_structure
    - botocore.docs.client.ClientExceptionsDocumenter._add_exceptions_list
    - os.path.join
    - botocore.docs.shape.ShapeDocumenter.__init__
    - history.pop
    - params_section.style.new_paragraph
    - botocore.docs.client.ClientExceptionsDocumenter._add_exception_classes
    - class_section.style.start_sphinx_py_class
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_example
    - title_section.style.h1
    - match.group
    - value.decode
    - params_section.style.bold
    - class_section.style.end_sphinx_py_class
    - os.makedirs
    - botocore.docs.client.ClientExceptionsDocumenter._exception_class_name
    - botocore.docs.bcdoc.restdoc.DocumentStructure.write_to_file
    - section.style.dedent
    - section.style.external_link
    - example_section.style.new_paragraph
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - client
    - service_paginator_model
    - root_docs_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 24
    functionName: botocore.docs.paginator.PaginatorDocumenter.__init__
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 9
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 35
    functionName: botocore.docs.paginator.PaginatorDocumenter.document_paginators
    functionSourceFile: botocore.docs.paginator
    functionUses: 3
    functionsReached:
    - example_section.write
    - history.append
    - botocore.docs.paginator.document_paginate_method
    - section.style.toctree
    - service_model.metadata.get
    - service_model.operation_model
    - event_section.style.new_paragraph
    - section.write
    - collections.OrderedDict
    - return_description_section.style.bold
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_title_section
    - f.write
    - example_section.style.bold
    - final_blank_line_section.style.new_line
    - botocore.docs.paginator.PaginatorDocumenter._add_overview
    - name.replace
    - <builtin>.list
    - service_pagination_response_params.append
    - section.style.h2
    - SECTION_LINE_LIMIT_CONFIG.get
    - paginator_section.write
    - is_special.group
    - <builtin>.hasattr
    - <builtin>.sorted
    - _special_case_transform.search
    - method_intro_section.write
    - return_section.add_new_section
    - docs_link.decode
    - botocore.docs.shape.ShapeDocumenter.__init__
    - parameter_names.remove
    - section.style.external_link
    - section.style.start_codeblock
    - operation_model.get_event_stream_output
    - event_section.style.new_line
    - collections.OrderedDict.items
    - operation_model.get_streaming_output
    - method_intro_section.style.start_danger
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    - matched.lower
    - paginator_config.get
    - botocore.utils.get_service_module_name
    - operation_model.get_streaming_input
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.super
    - botocore.docs.method.document_model_driven_method
    - botocore.docs.bcdoc.restdoc.DocumentStructure._generate_structure
    - paginator_section.style.start_codeblock
    - return_example_section.style.new_paragraph
    - params.keys
    - _end_cap_regex.sub
    - history.pop
    - return_section.style.indent
    - example_section.style.start_codeblock
    - _first_cap_regex.sub
    - return_example_section.style.new_line
    - section.add_new_section
    - paginator_section.style.start_sphinx_py_class
    - botocore.docs.bcdoc.restdoc.DocumentStructure.write_to_file
    - <builtin>.len
    - botocore.xform_name
    - <builtin>.isinstance
    - method_intro_section.style.end_danger
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - DOCUMENTATION_LINK_REGEX.search
    - value.splitlines
    - botocore.docs.method.document_model_driven_signature
    - paginator_section.style.new_line
    - parameter_names.append
    - method_intro_section.style.external_link
    - section.style.new_line
    - <builtin>.getattr
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - section.style.tocitem
    - <builtin>.open
    - return_section.style.new_line
    - botocore.docs.paginator.PaginatorDocumenter._add_paginator
    - botocore.docs.bcdoc.restdoc.DocumentStructure.__init__
    - section.writeln
    - os.path.join
    - paginator_section.style.end_codeblock
    - title_section.style.h1
    - collections.namedtuple.__init__
    - match.group
    - section.style.start_sphinx_py_method
    - os.makedirs
    - return_description_section.style.new_line
    - example_section.style.new_paragraph
    - method_intro_section.writeln
    - os.path.exists
    - botocore.docs.bcdoc.restdoc.DocumentStructure.flush_structure
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - breadcrumb_section.style.ref
    - method_intro_section.include_doc_string
    - LARGE_SECTION_MESSAGE.format
    - breadcrumb_section.write
    - re.sub
    - botocore.docs.bcdoc.style.ReSTStyle.link_target_definition
    - return_example_section.style.bold
    - return_description_section.style.new_paragraph
    - method_intro_section.style.new_paragraph
    - return_section.write
    - event_section.write
    - botocore.docs.bcdoc.restdoc.DocumentStructure.getvalue
    - service_pagination_params.append
    - SECTION_METHOD_PATH_DEPTH.get
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - section.flush_structure
    - operation_model.service_model.metadata.get
    - value.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - client
    - service_waiter_model
    - root_docs_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 24
    functionName: botocore.docs.waiter.WaiterDocumenter.__init__
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 9
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 35
    functionName: botocore.docs.waiter.WaiterDocumenter.document_waiters
    functionSourceFile: botocore.docs.waiter
    functionUses: 3
    functionsReached:
    - example_section.write
    - history.append
    - section.style.toctree
    - service_model.metadata.get
    - service_model.operation_model
    - event_section.style.new_paragraph
    - section.write
    - collections.OrderedDict
    - return_description_section.style.bold
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_title_section
    - f.write
    - example_section.style.bold
    - final_blank_line_section.style.new_line
    - name.replace
    - <builtin>.list
    - section.style.h2
    - SECTION_LINE_LIMIT_CONFIG.get
    - is_special.group
    - <builtin>.hasattr
    - _special_case_transform.search
    - docs_link.decode
    - method_intro_section.write
    - return_section.add_new_section
    - botocore.docs.shape.ShapeDocumenter.__init__
    - parameter_names.remove
    - waiter_section.style.end_codeblock
    - section.style.external_link
    - section.style.start_codeblock
    - operation_model.get_event_stream_output
    - collections.OrderedDict.items
    - event_section.style.new_line
    - operation_model.get_streaming_output
    - method_intro_section.style.start_danger
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    - matched.lower
    - botocore.utils.get_service_module_name
    - operation_model.get_streaming_input
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.super
    - botocore.docs.method.document_model_driven_method
    - botocore.docs.bcdoc.restdoc.DocumentStructure._generate_structure
    - return_example_section.style.new_paragraph
    - waiter_section.style.start_codeblock
    - botocore.docs.waiter.WaiterDocumenter._add_overview
    - _end_cap_regex.sub
    - params.keys
    - history.pop
    - return_section.style.indent
    - example_section.style.start_codeblock
    - _first_cap_regex.sub
    - return_example_section.style.new_line
    - section.add_new_section
    - botocore.docs.bcdoc.restdoc.DocumentStructure.write_to_file
    - <builtin>.len
    - botocore.xform_name
    - method_intro_section.style.end_danger
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - DOCUMENTATION_LINK_REGEX.search
    - value.splitlines
    - botocore.docs.method.document_model_driven_signature
    - parameter_names.append
    - method_intro_section.style.external_link
    - section.style.new_line
    - <builtin>.getattr
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - waiter_section.write
    - service_waiter_model.get_waiter
    - section.style.tocitem
    - <builtin>.open
    - return_section.style.new_line
    - botocore.docs.bcdoc.restdoc.DocumentStructure.__init__
    - section.writeln
    - os.path.join
    - title_section.style.h1
    - collections.namedtuple.__init__
    - match.group
    - section.style.start_sphinx_py_method
    - os.makedirs
    - return_description_section.style.new_line
    - example_section.style.new_paragraph
    - method_intro_section.writeln
    - os.path.exists
    - botocore.docs.waiter.WaiterDocumenter._add_single_waiter
    - botocore.docs.bcdoc.restdoc.DocumentStructure.flush_structure
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - breadcrumb_section.style.ref
    - method_intro_section.include_doc_string
    - LARGE_SECTION_MESSAGE.format
    - breadcrumb_section.write
    - botocore.docs.waiter.document_wait_method
    - re.sub
    - waiter_section.style.new_line
    - botocore.docs.bcdoc.style.ReSTStyle.link_target_definition
    - return_example_section.style.bold
    - return_description_section.style.new_paragraph
    - method_intro_section.style.new_paragraph
    - return_section.write
    - event_section.write
    - botocore.docs.bcdoc.restdoc.DocumentStructure.getvalue
    - SECTION_METHOD_PATH_DEPTH.get
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - section.flush_structure
    - waiter_section.style.start_sphinx_py_class
    - operation_model.service_model.metadata.get
    - value.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loader.load_service_model
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.docs.paginator
    functionSourceFile: botocore.docs.paginator
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.style.h2
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 105
    functionName: botocore.docs.paginator.PaginatorDocumenter._add_overview
    functionSourceFile: botocore.docs.paginator
    functionUses: 4
    functionsReached:
    - section.write
    - section.style.new_line
    - section.style.external_link
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.style.new_line
    functionSourceFile: <builtin>
    functionUses: 63
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.writeln
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.style.toctree
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.style.tocitem
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 10
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - section
    - paginator_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 69
    functionName: botocore.docs.paginator.PaginatorDocumenter._add_paginator
    functionSourceFile: botocore.docs.paginator
    functionUses: 4
    functionsReached:
    - example_section.write
    - history.append
    - botocore.docs.paginator.document_paginate_method
    - service_model.metadata.get
    - service_model.operation_model
    - event_section.style.new_paragraph
    - section.write
    - collections.OrderedDict
    - return_description_section.style.bold
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_title_section
    - example_section.style.bold
    - final_blank_line_section.style.new_line
    - name.replace
    - <builtin>.list
    - service_pagination_response_params.append
    - paginator_section.write
    - is_special.group
    - <builtin>.hasattr
    - _special_case_transform.search
    - method_intro_section.write
    - return_section.add_new_section
    - botocore.docs.shape.ShapeDocumenter.__init__
    - parameter_names.remove
    - section.style.start_codeblock
    - operation_model.get_event_stream_output
    - event_section.style.new_line
    - operation_model.get_streaming_output
    - method_intro_section.style.start_danger
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    - matched.lower
    - paginator_config.get
    - botocore.utils.get_service_module_name
    - operation_model.get_streaming_input
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - botocore.docs.method.document_model_driven_method
    - paginator_section.style.start_codeblock
    - return_example_section.style.new_paragraph
    - params.keys
    - _end_cap_regex.sub
    - history.pop
    - return_section.style.indent
    - example_section.style.start_codeblock
    - _first_cap_regex.sub
    - return_example_section.style.new_line
    - section.add_new_section
    - paginator_section.style.start_sphinx_py_class
    - <builtin>.len
    - botocore.xform_name
    - <builtin>.isinstance
    - method_intro_section.style.end_danger
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - botocore.docs.method.document_model_driven_signature
    - paginator_section.style.new_line
    - parameter_names.append
    - method_intro_section.style.external_link
    - section.style.new_line
    - <builtin>.getattr
    - return_section.style.new_line
    - paginator_section.style.end_codeblock
    - title_section.style.h1
    - collections.namedtuple.__init__
    - section.style.start_sphinx_py_method
    - return_description_section.style.new_line
    - example_section.style.new_paragraph
    - method_intro_section.writeln
    - breadcrumb_section.style.ref
    - method_intro_section.include_doc_string
    - breadcrumb_section.write
    - re.sub
    - return_example_section.style.bold
    - return_description_section.style.new_paragraph
    - method_intro_section.style.new_paragraph
    - return_section.write
    - event_section.write
    - service_pagination_params.append
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - operation_model.service_model.metadata.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - full_path
    - file_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 277
    functionName: botocore.docs.bcdoc.restdoc.DocumentStructure.write_to_file
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 12
    functionsReached:
    - <builtin>.len
    - os.path.exists
    - botocore.docs.bcdoc.restdoc.DocumentStructure.flush_structure
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - collections.OrderedDict.items
    - DOCUMENTATION_LINK_REGEX.search
    - value.splitlines
    - LARGE_SECTION_MESSAGE.format
    - f.write
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - SECTION_LINE_LIMIT_CONFIG.get
    - botocore.docs.bcdoc.style.ReSTStyle.link_target_definition
    - <builtin>.open
    - botocore.docs.bcdoc.restdoc.DocumentStructure.getvalue
    - docs_link.decode
    - SECTION_METHOD_PATH_DEPTH.get
    - section.flush_structure
    - os.path.join
    - match.group
    - value.decode
    - os.makedirs
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - name
    - context
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 186
    functionName: botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    functionSourceFile: ''
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: breadcrumb_section.style.ref
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: breadcrumb_section.write
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - title
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 272
    functionName: botocore.docs.bcdoc.restdoc.DocumentStructure.add_title_section
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 16
    functionsReached:
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    - title_section.style.h1
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: paginator_section.style.start_sphinx_py_class
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: paginator_section.style.start_codeblock
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: paginator_section.style.new_line
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: paginator_section.write
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: paginator_section.style.end_codeblock
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 6
    argNames:
    - section
    - paginator_name
    - event_emitter
    - service_model
    - paginator_config
    - include_signature
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 121
    functionName: botocore.docs.paginator.document_paginate_method
    functionSourceFile: botocore.docs.paginator
    functionUses: 10
    functionsReached:
    - <builtin>.len
    - botocore.xform_name
    - <builtin>.isinstance
    - method_intro_section.writeln
    - method_intro_section.style.end_danger
    - example_section.write
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - section.style.start_codeblock
    - history.append
    - service_model.metadata.get
    - operation_model.get_event_stream_output
    - event_section.style.new_line
    - operation_model.get_streaming_output
    - botocore.docs.method.document_model_driven_signature
    - service_model.operation_model
    - method_intro_section.include_doc_string
    - event_section.style.new_paragraph
    - section.write
    - collections.OrderedDict
    - method_intro_section.style.start_danger
    - return_description_section.style.bold
    - parameter_names.append
    - method_intro_section.style.external_link
    - matched.lower
    - paginator_config.get
    - section.style.new_line
    - <builtin>.getattr
    - botocore.utils.get_service_module_name
    - return_description_section.style.new_line
    - operation_model.get_streaming_input
    - re.sub
    - example_section.style.bold
    - final_blank_line_section.style.new_line
    - name.replace
    - <builtin>.list
    - service_pagination_response_params.append
    - is_special.group
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - return_section.style.new_line
    - return_example_section.style.bold
    - <builtin>.hasattr
    - return_description_section.style.new_paragraph
    - method_intro_section.style.new_paragraph
    - section.style.start_sphinx_py_method
    - botocore.docs.method.document_model_driven_method
    - return_section.write
    - event_section.write
    - _special_case_transform.search
    - method_intro_section.write
    - return_section.add_new_section
    - service_pagination_params.append
    - return_example_section.style.new_paragraph
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - params.keys
    - _end_cap_regex.sub
    - botocore.docs.shape.ShapeDocumenter.__init__
    - parameter_names.remove
    - history.pop
    - return_section.style.indent
    - collections.namedtuple.__init__
    - operation_model.service_model.metadata.get
    - example_section.style.start_codeblock
    - _first_cap_regex.sub
    - return_example_section.style.new_line
    - section.add_new_section
    - example_section.style.new_paragraph
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.write
    functionSourceFile: <builtin>
    functionUses: 74
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.style.external_link
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: paginator_config.get
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: service_pagination_params.append
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: service_pagination_response_params.append
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 35
    IfCount: 7
    argCount: 12
    argNames:
    - section
    - method_name
    - operation_model
    - event_emitter
    - method_description
    - example_prefix
    - include_input
    - include_output
    - exclude_input
    - exclude_output
    - document_output
    - include_signature
    argTypes:
    - N/A
    - 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: 139
    functionName: botocore.docs.method.document_model_driven_method
    functionSourceFile: botocore.docs.method
    functionUses: 22
    functionsReached:
    - method_intro_section.writeln
    - method_intro_section.style.end_danger
    - example_section.write
    - <builtin>.len
    - section.style.start_codeblock
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - history.append
    - operation_model.get_event_stream_output
    - event_section.style.new_line
    - operation_model.get_streaming_output
    - botocore.docs.method.document_model_driven_signature
    - method_intro_section.include_doc_string
    - event_section.style.new_paragraph
    - section.write
    - method_intro_section.style.start_danger
    - return_description_section.style.bold
    - parameter_names.append
    - method_intro_section.style.external_link
    - section.style.new_line
    - <builtin>.getattr
    - return_description_section.style.new_line
    - operation_model.get_streaming_input
    - example_section.style.bold
    - final_blank_line_section.style.new_line
    - <builtin>.list
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - return_example_section.style.bold
    - return_section.style.new_line
    - <builtin>.hasattr
    - return_description_section.style.new_paragraph
    - method_intro_section.style.new_paragraph
    - return_section.write
    - event_section.write
    - method_intro_section.write
    - return_section.add_new_section
    - return_example_section.style.new_paragraph
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - params.keys
    - botocore.docs.shape.ShapeDocumenter.__init__
    - parameter_names.remove
    - history.pop
    - return_section.style.indent
    - operation_model.service_model.metadata.get
    - example_section.style.start_codeblock
    - return_example_section.style.new_line
    - section.style.start_sphinx_py_method
    - section.add_new_section
    - example_section.style.new_paragraph
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.docs.method
    functionSourceFile: botocore.docs.method
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argNames:
    - instance
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 28
    functionName: botocore.docs.method.get_instance_public_methods
    functionSourceFile: botocore.docs.method
    functionUses: 5
    functionsReached:
    - inspect.getmembers
    - inspect.ismethod
    - name.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.getmembers
    functionSourceFile: inspect
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.ismethod
    functionSourceFile: inspect
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 5
    argNames:
    - section
    - name
    - operation_model
    - include
    - exclude
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 46
    functionName: botocore.docs.method.document_model_driven_signature
    functionSourceFile: botocore.docs.method
    functionUses: 23
    functionsReached:
    - params.keys
    - parameter_names.remove
    - <builtin>.list
    - section.style.start_sphinx_py_method
    - parameter_names.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parameter_names.append
    functionSourceFile: <builtin>
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parameter_names.remove
    functionSourceFile: <builtin>
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.style.start_sphinx_py_method
    functionSourceFile: <builtin>
    functionUses: 27
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 5
    argNames:
    - section
    - name
    - method
    - include
    - exclude
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 86
    functionName: botocore.docs.method.document_custom_signature
    functionSourceFile: botocore.docs.method
    functionUses: 8
    functionsReached:
    - signature_params.rstrip
    - <builtin>.isinstance
    - new_params.values
    - <builtin>.iter
    - signature.replace
    - <builtin>.next
    - section.style.start_sphinx_py_method
    - signature.parameters.copy
    - inspect.signature
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.signature
    functionSourceFile: inspect
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: signature.parameters.copy
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_params.values
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: signature.replace
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: signature_params.rstrip
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argNames:
    - section
    - method_name
    - method
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 121
    functionName: botocore.docs.method.document_custom_method
    functionSourceFile: botocore.docs.method
    functionUses: 7
    functionsReached:
    - method_intro_section.writeln
    - <builtin>.isinstance
    - signature_params.rstrip
    - new_params.values
    - <builtin>.iter
    - signature.replace
    - botocore.docs.method.document_custom_signature
    - <builtin>.next
    - inspect.getdoc
    - section.context.get
    - method_intro_section.style.write_py_doc_string
    - section.style.start_sphinx_py_method
    - section.add_new_section
    - signature.parameters.copy
    - inspect.signature
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.context.get
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.add_new_section
    functionSourceFile: <builtin>
    functionUses: 58
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: method_intro_section.writeln
    functionSourceFile: <builtin>
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.getdoc
    functionSourceFile: inspect
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: method_intro_section.style.write_py_doc_string
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: method_intro_section.include_doc_string
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: method_intro_section.style.start_danger
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: method_intro_section.style.end_danger
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operation_model.service_model.metadata.get
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: method_intro_section.style.new_paragraph
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: method_intro_section.write
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: method_intro_section.style.external_link
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: example_section.style.new_paragraph
    functionSourceFile: <builtin>
    functionUses: 29
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: example_section.style.bold
    functionSourceFile: <builtin>
    functionUses: 29
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operation_model.get_streaming_input
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operation_model.get_streaming_output
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operation_model.get_event_stream_output
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argNames:
    - self
    - service_name
    - operation_name
    - event_emitter
    - context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 25
    functionName: botocore.docs.shape.ShapeDocumenter.__init__
    functionSourceFile: ''
    functionUses: 30
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 6
    argNames:
    - self
    - section
    - shape
    - prefix
    - include
    - exclude
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 18
    functionName: botocore.docs.example.BaseExampleDocumenter.document_example
    functionSourceFile: botocore.docs.example
    functionUses: 29
    functionsReached:
    - <builtin>.len
    - section.style.new_line
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.getattr
    - history.pop
    - section.style.start_codeblock
    - history.append
    - <builtin>.hasattr
    - final_blank_line_section.style.new_line
    - section.write
    - section.add_new_section
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: example_section.style.start_codeblock
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: example_section.write
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - section
    - shape
    - include
    - exclude
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 18
    functionName: botocore.docs.params.BaseParamsDocumenter.document_params
    functionSourceFile: botocore.docs.params
    functionUses: 29
    functionsReached:
    - <builtin>.len
    - <builtin>.getattr
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - history.append
    - <builtin>.hasattr
    - history.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: return_section.style.new_line
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: return_section.write
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: return_section.style.indent
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: return_section.add_new_section
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event_section.style.new_paragraph
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event_section.write
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event_section.style.new_line
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: return_example_section.style.new_line
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: return_example_section.style.bold
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: return_example_section.style.new_paragraph
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: return_description_section.style.new_line
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: return_description_section.style.bold
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: return_description_section.style.new_paragraph
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.docs.example
    functionSourceFile: botocore.docs.example
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.style.start_codeblock
    functionSourceFile: <builtin>
    functionUses: 33
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 7
    IfCount: 5
    argCount: 8
    argNames:
    - self
    - section
    - shape
    - history
    - include
    - exclude
    - name
    - is_required
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 35
    functionName: botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    functionSourceFile: botocore.docs.shape
    functionUses: 42
    functionsReached:
    - <builtin>.len
    - <builtin>.getattr
    - history.append
    - history.pop
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: final_blank_line_section.style.new_line
    functionSourceFile: <builtin>
    functionUses: 30
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - section
    - shape
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 52
    functionName: botocore.docs.example.BaseExampleDocumenter.document_recursive_shape
    functionSourceFile: botocore.docs.example
    functionUses: 0
    functionsReached:
    - section.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 7
    argNames:
    - self
    - section
    - shape
    - history
    - include
    - exclude
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 55
    functionName: botocore.docs.example.BaseExampleDocumenter.document_shape_default
    functionSourceFile: botocore.docs.example
    functionUses: 1
    functionsReached:
    - botocore.docs.shape.ShapeDocumenter._get_special_py_default
    - <builtin>.hasattr
    - botocore.docs.shape.ShapeDocumenter._get_value_for_special_type
    - botocore.docs.utils.py_default
    - botocore.utils.is_json_value_header
    - shape.serialization.get
    - section.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - shape
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 104
    functionName: botocore.docs.shape.ShapeDocumenter._get_special_py_default
    functionSourceFile: botocore.docs.shape
    functionUses: 2
    functionsReached:
    - botocore.utils.is_json_value_header
    - shape.serialization.get
    - <builtin>.hasattr
    - botocore.docs.shape.ShapeDocumenter._get_value_for_special_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - type_name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 38
    functionName: botocore.docs.utils.py_default
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 7
    argNames:
    - self
    - section
    - shape
    - history
    - include
    - exclude
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 66
    functionName: botocore.docs.example.BaseExampleDocumenter.document_shape_type_string
    functionSourceFile: botocore.docs.example
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.docs.shape.ShapeDocumenter._get_special_py_default
    - <builtin>.hasattr
    - botocore.docs.shape.ShapeDocumenter._get_value_for_special_type
    - botocore.docs.utils.py_default
    - botocore.utils.is_json_value_header
    - shape.serialization.get
    - botocore.docs.example.BaseExampleDocumenter.document_shape_default
    - <builtin>.enumerate
    - section.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 7
    argNames:
    - self
    - section
    - shape
    - history
    - include
    - exclude
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 77
    functionName: botocore.docs.example.BaseExampleDocumenter.document_shape_type_list
    functionSourceFile: botocore.docs.example
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.getattr
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - history.append
    - section.style.new_line
    - ending_comma_section.write
    - history.pop
    - <builtin>.hasattr
    - section.style.indent
    - botocore.docs.example.BaseExampleDocumenter._end_nested_param
    - botocore.docs.example.BaseExampleDocumenter._start_nested_param
    - section.write
    - section.add_new_section
    - section.style.dedent
    - list_section.add_new_section
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - section
    - start
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 155
    functionName: botocore.docs.example.BaseExampleDocumenter._start_nested_param
    functionSourceFile: botocore.docs.example
    functionUses: 5
    functionsReached:
    - section.write
    - section.style.indent
    - section.style.new_line
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: list_section.add_new_section
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ending_comma_section.write
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - section
    - end
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 162
    functionName: botocore.docs.example.BaseExampleDocumenter._end_nested_param
    functionSourceFile: botocore.docs.example
    functionUses: 6
    functionsReached:
    - section.write
    - section.style.new_line
    - section.style.dedent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 7
    argNames:
    - self
    - section
    - shape
    - history
    - include
    - exclude
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 94
    functionName: botocore.docs.example.BaseExampleDocumenter.document_shape_type_structure
    functionSourceFile: botocore.docs.example
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - param_section.write
    - history.append
    - ending_comma_section.write
    - section.clear_text
    - botocore.docs.example.BaseExampleDocumenter._end_nested_param
    - <builtin>.enumerate
    - botocore.docs.example.BaseExampleDocumenter._add_members_to_shape
    - section.write
    - <builtin>.getattr
    - section.style.new_line
    - section.style.indent
    - botocore.docs.example.BaseExampleDocumenter._end_structure
    - param_section.add_new_section
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.hasattr
    - ending_comma_section.style.new_line
    - botocore.docs.example.BaseExampleDocumenter._start_nested_param
    - members.copy
    - history.pop
    - section.add_new_section
    - section.style.dedent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - members
    - include
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 148
    functionName: botocore.docs.example.BaseExampleDocumenter._add_members_to_shape
    functionSourceFile: botocore.docs.example
    functionUses: 3
    functionsReached:
    - members.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: param_section.write
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: param_section.add_new_section
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ending_comma_section.style.new_line
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - section
    - start
    - end
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 169
    functionName: botocore.docs.example.BaseExampleDocumenter._end_structure
    functionSourceFile: botocore.docs.example
    functionUses: 3
    functionsReached:
    - section.style.new_line
    - section.clear_text
    - botocore.docs.example.BaseExampleDocumenter._end_nested_param
    - section.write
    - section.add_new_section
    - section.style.dedent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 7
    argNames:
    - self
    - section
    - shape
    - history
    - include
    - exclude
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 129
    functionName: botocore.docs.example.BaseExampleDocumenter.document_shape_type_map
    functionSourceFile: botocore.docs.example
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.getattr
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - history.append
    - section.style.new_line
    - history.pop
    - <builtin>.hasattr
    - section.style.indent
    - key_section.write
    - botocore.docs.example.BaseExampleDocumenter._end_nested_param
    - botocore.docs.example.BaseExampleDocumenter._start_nested_param
    - section.write
    - section.add_new_section
    - section.style.dedent
    - map_section.add_new_section
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: map_section.add_new_section
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key_section.write
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: members.copy
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.style.indent
    functionSourceFile: <builtin>
    functionUses: 33
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.style.dedent
    functionSourceFile: <builtin>
    functionUses: 35
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.clear_text
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - section
    - shape
    - history
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 185
    functionName: botocore.docs.example.ResponseExampleDocumenter.document_shape_type_event_stream
    functionSourceFile: botocore.docs.example
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - param_section.write
    - history.append
    - ending_comma_section.write
    - section.clear_text
    - botocore.docs.example.BaseExampleDocumenter._end_nested_param
    - botocore.docs.example.RequestExampleDocumenter.document_shape_type_structure
    - <builtin>.enumerate
    - botocore.docs.example.BaseExampleDocumenter._add_members_to_shape
    - section.write
    - <builtin>.getattr
    - section.style.new_line
    - section.style.indent
    - botocore.docs.example.BaseExampleDocumenter._end_structure
    - param_section.add_new_section
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.hasattr
    - ending_comma_section.style.new_line
    - botocore.docs.example.BaseExampleDocumenter._start_nested_param
    - members.copy
    - botocore.docs.example.BaseExampleDocumenter.document_shape_type_structure
    - history.pop
    - end_section.write
    - section.add_new_section
    - section.style.dedent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 7
    argNames:
    - self
    - section
    - shape
    - history
    - include
    - exclude
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 197
    functionName: botocore.docs.example.RequestExampleDocumenter.document_shape_type_structure
    functionSourceFile: botocore.docs.example
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - param_section.write
    - history.append
    - ending_comma_section.write
    - section.clear_text
    - botocore.docs.example.BaseExampleDocumenter._end_nested_param
    - <builtin>.enumerate
    - botocore.docs.example.BaseExampleDocumenter._add_members_to_shape
    - section.write
    - <builtin>.getattr
    - section.style.new_line
    - section.style.indent
    - botocore.docs.example.BaseExampleDocumenter._end_structure
    - param_section.add_new_section
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.hasattr
    - ending_comma_section.style.new_line
    - botocore.docs.example.BaseExampleDocumenter._start_nested_param
    - members.copy
    - history.pop
    - section.add_new_section
    - section.style.dedent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: end_section.write
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.docs.shape
    functionSourceFile: botocore.docs.shape
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: history.append
    functionSourceFile: <builtin>
    functionUses: 43
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: history.pop
    functionSourceFile: <builtin>
    functionUses: 43
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 3
    argNames:
    - self
    - shape
    - special_type_map
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 124
    functionName: botocore.docs.shape.ShapeDocumenter._get_value_for_special_type
    functionSourceFile: botocore.docs.shape
    functionUses: 14
    functionsReached:
    - botocore.utils.is_json_value_header
    - <builtin>.hasattr
    - shape.serialization.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - shape
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 114
    functionName: botocore.docs.shape.ShapeDocumenter._get_special_py_type_name
    functionSourceFile: botocore.docs.shape
    functionUses: 10
    functionsReached:
    - botocore.utils.is_json_value_header
    - shape.serialization.get
    - <builtin>.hasattr
    - botocore.docs.shape.ShapeDocumenter._get_value_for_special_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.docs.utils
    functionSourceFile: botocore.docs.utils
    functionUses: 0
    functionsReached:
    - re.compile
    - collections.namedtuple
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - type_name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 17
    functionName: botocore.docs.utils.py_type_name
    functionSourceFile: botocore.docs.utils
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argNames:
    - service_model
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 64
    functionName: botocore.docs.utils.get_official_service_name
    functionSourceFile: botocore.docs.utils
    functionUses: 5
    functionsReached:
    - short_name.startswith
    - service_model.metadata.get
    - short_name.lower
    - official_name.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: short_name.startswith
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: short_name.lower
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: official_name.lower
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 7
    argNames:
    - cls
    - name
    - type_name
    - documentation
    - metadata
    - members
    - required_members
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 96
    functionName: botocore.docs.utils.DocumentedShape.__new__
    functionSourceFile: botocore.docs.utils
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - name
    - param_description
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 123
    functionName: botocore.docs.utils.AutoPopulatedParam.__init__
    functionSourceFile: botocore.docs.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 4
    argNames:
    - self
    - event_name
    - section
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 133
    functionName: botocore.docs.utils.AutoPopulatedParam.document_auto_populated_param
    functionSourceFile: botocore.docs.utils
    functionUses: 0
    functionsReached:
    - description_section.writeln
    - section.get_section
    - event_name.startswith
    - section.delete_section
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event_name.startswith
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.get_section
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.delete_section
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: description_section.writeln
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - service_name
    - parameter_name
    - operation_names
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 163
    functionName: botocore.docs.utils.HideParamFromOperations.__init__
    functionSourceFile: botocore.docs.utils
    functionUses: 0
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argNames:
    - self
    - event_name
    - section
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 184
    functionName: botocore.docs.utils.HideParamFromOperations.hide_param
    functionSourceFile: botocore.docs.utils
    functionUses: 0
    functionsReached:
    - section.get_section
    - section.delete_section
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - parameter_name
    - doc_string
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 197
    functionName: botocore.docs.utils.AppendParamDocumentation.__init__
    functionSourceFile: botocore.docs.utils
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - event_name
    - section
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 201
    functionName: botocore.docs.utils.AppendParamDocumentation.append_documentation
    functionSourceFile: botocore.docs.utils
    functionUses: 0
    functionsReached:
    - description_section.writeln
    - section.get_section
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.map
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.docs.utils.<lambda1>
    functionSourceFile: botocore.docs.utils
    functionUses: 0
    functionsReached:
    - match.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 221
    functionName: botocore.docs.utils.escape_controls
    functionSourceFile: botocore.docs.utils
    functionUses: 16
    functionsReached:
    - _ESCAPE_CONTROLS_RE.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _ESCAPE_CONTROLS_RE.sub
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.docs.params
    functionSourceFile: botocore.docs.params
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - section
    - shape
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 43
    functionName: botocore.docs.params.BaseParamsDocumenter.document_recursive_shape
    functionSourceFile: botocore.docs.params
    functionUses: 0
    functionsReached:
    - botocore.docs.params.RequestParamsDocumenter._append_idempotency_documentation
    - documentation_section.include_doc_string
    - end_type_section.style.new_line
    - botocore.docs.params.RequestParamsDocumenter._add_member_documentation
    - type_section.style.italics
    - section.write
    - botocore.docs.utils.py_type_name
    - <builtin>.getattr
    - end_param_section.style.new_paragraph
    - is_required_section.style.indent
    - is_required_section.style.bold
    - shape.serialization.get
    - botocore.docs.params.ResponseParamsDocumenter._add_member_documentation
    - type_section.add_new_section
    - documentation_section.style.indent
    - <builtin>.hasattr
    - botocore.docs.shape.ShapeDocumenter._get_value_for_special_type
    - name_section.write
    - is_required_section.write
    - type_section.write
    - section.style.new_paragraph
    - shape.members.keys
    - example.style.codeblock
    - botocore.utils.is_json_value_header
    - botocore.docs.params.BaseParamsDocumenter._document_non_top_level_param_type
    - botocore.docs.shape.ShapeDocumenter._get_special_py_type_name
    - botocore.docs.params.RequestParamsDocumenter._add_special_trait_documentation
    - botocore.docs.params.BaseParamsDocumenter._add_member_documentation
    - section.add_new_section
    - tagged_union_docs.write
    - name_section.style.bold
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 15
    IfCount: 6
    argCount: 7
    argNames:
    - self
    - section
    - shape
    - name
    - is_top_level_param
    - is_required
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 240
    functionName: botocore.docs.params.RequestParamsDocumenter._add_member_documentation
    functionSourceFile: botocore.docs.params
    functionUses: 7
    functionsReached:
    - botocore.docs.params.RequestParamsDocumenter._append_idempotency_documentation
    - documentation_section.include_doc_string
    - end_type_section.style.new_line
    - type_section.style.italics
    - section.write
    - botocore.docs.utils.py_type_name
    - <builtin>.getattr
    - end_param_section.style.new_paragraph
    - is_required_section.style.indent
    - is_required_section.style.bold
    - shape.serialization.get
    - type_section.add_new_section
    - documentation_section.style.indent
    - <builtin>.hasattr
    - botocore.docs.shape.ShapeDocumenter._get_value_for_special_type
    - name_section.write
    - is_required_section.write
    - type_section.write
    - shape.members.keys
    - botocore.utils.is_json_value_header
    - botocore.docs.params.BaseParamsDocumenter._document_non_top_level_param_type
    - botocore.docs.shape.ShapeDocumenter._get_special_py_type_name
    - botocore.docs.params.RequestParamsDocumenter._add_special_trait_documentation
    - section.add_new_section
    - tagged_union_docs.write
    - name_section.style.bold
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 9
    IfCount: 3
    argCount: 5
    argNames:
    - self
    - section
    - shape
    - name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 162
    functionName: botocore.docs.params.ResponseParamsDocumenter._add_member_documentation
    functionSourceFile: botocore.docs.params
    functionUses: 6
    functionsReached:
    - documentation_section.include_doc_string
    - type_section.style.italics
    - botocore.docs.utils.py_type_name
    - <builtin>.getattr
    - shape.serialization.get
    - documentation_section.style.indent
    - <builtin>.hasattr
    - botocore.docs.shape.ShapeDocumenter._get_value_for_special_type
    - name_section.write
    - type_section.write
    - section.style.new_paragraph
    - shape.members.keys
    - example.style.codeblock
    - botocore.utils.is_json_value_header
    - botocore.docs.params.BaseParamsDocumenter._document_non_top_level_param_type
    - botocore.docs.shape.ShapeDocumenter._get_special_py_type_name
    - section.add_new_section
    - tagged_union_docs.write
    - name_section.style.bold
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - section
    - shape
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 125
    functionName: botocore.docs.params.BaseParamsDocumenter._add_member_documentation
    functionSourceFile: ''
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 7
    argNames:
    - self
    - section
    - shape
    - history
    - include
    - exclude
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 46
    functionName: botocore.docs.params.BaseParamsDocumenter.document_shape_default
    functionSourceFile: botocore.docs.params
    functionUses: 0
    functionsReached:
    - botocore.docs.params.RequestParamsDocumenter._append_idempotency_documentation
    - documentation_section.include_doc_string
    - end_type_section.style.new_line
    - botocore.docs.params.RequestParamsDocumenter._add_member_documentation
    - type_section.style.italics
    - section.write
    - botocore.docs.utils.py_type_name
    - <builtin>.getattr
    - end_param_section.style.new_paragraph
    - is_required_section.style.indent
    - is_required_section.style.bold
    - shape.serialization.get
    - botocore.docs.params.ResponseParamsDocumenter._add_member_documentation
    - type_section.add_new_section
    - documentation_section.style.indent
    - <builtin>.hasattr
    - botocore.docs.shape.ShapeDocumenter._get_value_for_special_type
    - name_section.write
    - is_required_section.write
    - type_section.write
    - section.style.new_paragraph
    - shape.members.keys
    - example.style.codeblock
    - botocore.utils.is_json_value_header
    - botocore.docs.params.BaseParamsDocumenter._document_non_top_level_param_type
    - botocore.docs.shape.ShapeDocumenter._get_special_py_type_name
    - botocore.docs.params.RequestParamsDocumenter._add_special_trait_documentation
    - botocore.docs.params.BaseParamsDocumenter._add_member_documentation
    - section.add_new_section
    - tagged_union_docs.write
    - name_section.style.bold
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 7
    argNames:
    - self
    - section
    - shape
    - history
    - include
    - exclude
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 51
    functionName: botocore.docs.params.BaseParamsDocumenter.document_shape_type_list
    functionSourceFile: botocore.docs.params
    functionUses: 0
    functionsReached:
    - botocore.docs.params.BaseParamsDocumenter._start_nested_param
    - <builtin>.len
    - botocore.docs.params.RequestParamsDocumenter._append_idempotency_documentation
    - history.append
    - documentation_section.include_doc_string
    - end_type_section.style.new_line
    - botocore.docs.params.RequestParamsDocumenter._add_member_documentation
    - type_section.style.italics
    - section.write
    - botocore.docs.utils.py_type_name
    - section.style.new_line
    - <builtin>.getattr
    - end_param_section.style.new_paragraph
    - is_required_section.style.indent
    - section.style.indent
    - is_required_section.style.bold
    - shape.serialization.get
    - botocore.docs.params.ResponseParamsDocumenter._add_member_documentation
    - type_section.add_new_section
    - documentation_section.style.indent
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.hasattr
    - botocore.docs.shape.ShapeDocumenter._get_value_for_special_type
    - name_section.write
    - is_required_section.write
    - type_section.write
    - section.style.new_paragraph
    - shape.members.keys
    - history.pop
    - botocore.docs.params.BaseParamsDocumenter._end_nested_param
    - example.style.codeblock
    - botocore.utils.is_json_value_header
    - botocore.docs.params.BaseParamsDocumenter._document_non_top_level_param_type
    - botocore.docs.shape.ShapeDocumenter._get_special_py_type_name
    - botocore.docs.params.RequestParamsDocumenter._add_special_trait_documentation
    - botocore.docs.params.BaseParamsDocumenter._add_member_documentation
    - section.add_new_section
    - tagged_union_docs.write
    - section.style.dedent
    - name_section.style.bold
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 148
    functionName: botocore.docs.params.BaseParamsDocumenter._start_nested_param
    functionSourceFile: botocore.docs.params
    functionUses: 4
    functionsReached:
    - section.style.indent
    - section.style.new_line
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 152
    functionName: botocore.docs.params.BaseParamsDocumenter._end_nested_param
    functionSourceFile: botocore.docs.params
    functionUses: 4
    functionsReached:
    - section.style.new_line
    - section.style.dedent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 8
    IfCount: 0
    argCount: 7
    argNames:
    - self
    - section
    - shape
    - history
    - include
    - exclude
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 69
    functionName: botocore.docs.params.BaseParamsDocumenter.document_shape_type_map
    functionSourceFile: botocore.docs.params
    functionUses: 0
    functionsReached:
    - botocore.docs.params.BaseParamsDocumenter._start_nested_param
    - <builtin>.len
    - botocore.docs.params.RequestParamsDocumenter._append_idempotency_documentation
    - history.append
    - documentation_section.include_doc_string
    - end_type_section.style.new_line
    - botocore.docs.params.RequestParamsDocumenter._add_member_documentation
    - type_section.style.italics
    - section.write
    - botocore.docs.utils.py_type_name
    - section.style.new_line
    - <builtin>.getattr
    - end_param_section.style.new_paragraph
    - is_required_section.style.indent
    - section.style.indent
    - is_required_section.style.bold
    - shape.serialization.get
    - botocore.docs.params.ResponseParamsDocumenter._add_member_documentation
    - param_section.style.indent
    - type_section.add_new_section
    - documentation_section.style.indent
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.hasattr
    - botocore.docs.shape.ShapeDocumenter._get_value_for_special_type
    - name_section.write
    - is_required_section.write
    - type_section.write
    - section.style.new_paragraph
    - shape.members.keys
    - history.pop
    - botocore.docs.params.BaseParamsDocumenter._end_nested_param
    - example.style.codeblock
    - botocore.utils.is_json_value_header
    - botocore.docs.params.BaseParamsDocumenter._document_non_top_level_param_type
    - botocore.docs.shape.ShapeDocumenter._get_special_py_type_name
    - botocore.docs.params.RequestParamsDocumenter._add_special_trait_documentation
    - botocore.docs.params.BaseParamsDocumenter._add_member_documentation
    - section.add_new_section
    - tagged_union_docs.write
    - section.style.dedent
    - name_section.style.bold
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: param_section.style.indent
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 8
    argNames:
    - self
    - section
    - shape
    - history
    - include
    - exclude
    - name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 96
    functionName: botocore.docs.params.BaseParamsDocumenter.document_shape_type_structure
    functionSourceFile: botocore.docs.params
    functionUses: 1
    functionsReached:
    - botocore.docs.params.BaseParamsDocumenter._start_nested_param
    - <builtin>.len
    - botocore.docs.params.RequestParamsDocumenter._append_idempotency_documentation
    - history.append
    - documentation_section.include_doc_string
    - end_type_section.style.new_line
    - botocore.docs.params.RequestParamsDocumenter._add_member_documentation
    - type_section.style.italics
    - section.write
    - botocore.docs.utils.py_type_name
    - section.style.new_line
    - <builtin>.getattr
    - end_param_section.style.new_paragraph
    - is_required_section.style.indent
    - section.style.indent
    - is_required_section.style.bold
    - shape.serialization.get
    - botocore.docs.params.ResponseParamsDocumenter._add_member_documentation
    - type_section.add_new_section
    - documentation_section.style.indent
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.hasattr
    - botocore.docs.shape.ShapeDocumenter._get_value_for_special_type
    - name_section.write
    - is_required_section.write
    - members.copy
    - type_section.write
    - section.style.new_paragraph
    - shape.members.keys
    - history.pop
    - botocore.docs.params.BaseParamsDocumenter._end_nested_param
    - example.style.codeblock
    - botocore.utils.is_json_value_header
    - botocore.docs.params.BaseParamsDocumenter._add_members_to_shape
    - botocore.docs.params.BaseParamsDocumenter._document_non_top_level_param_type
    - botocore.docs.shape.ShapeDocumenter._get_special_py_type_name
    - botocore.docs.params.RequestParamsDocumenter._add_special_trait_documentation
    - botocore.docs.params.BaseParamsDocumenter._add_member_documentation
    - section.add_new_section
    - tagged_union_docs.write
    - section.style.dedent
    - name_section.style.bold
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - members
    - include
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 128
    functionName: botocore.docs.params.BaseParamsDocumenter._add_members_to_shape
    functionSourceFile: botocore.docs.params
    functionUses: 3
    functionsReached:
    - members.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - type_section
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 135
    functionName: botocore.docs.params.BaseParamsDocumenter._document_non_top_level_param_type
    functionSourceFile: botocore.docs.params
    functionUses: 9
    functionsReached:
    - <builtin>.hasattr
    - botocore.docs.shape.ShapeDocumenter._get_value_for_special_type
    - botocore.utils.is_json_value_header
    - shape.serialization.get
    - botocore.docs.shape.ShapeDocumenter._get_special_py_type_name
    - type_section.style.italics
    - type_section.write
    - botocore.docs.utils.py_type_name
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: type_section.write
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: type_section.style.italics
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name_section.write
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name_section.style.bold
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: documentation_section.style.indent
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: shape.members.keys
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tagged_union_docs.write
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: example.style.codeblock
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: documentation_section.include_doc_string
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.style.new_paragraph
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - section
    - shape
    - history
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 201
    functionName: botocore.docs.params.ResponseParamsDocumenter.document_shape_type_event_stream
    functionSourceFile: botocore.docs.params
    functionUses: 0
    functionsReached:
    - botocore.docs.params.BaseParamsDocumenter._start_nested_param
    - <builtin>.len
    - botocore.docs.params.RequestParamsDocumenter._append_idempotency_documentation
    - history.append
    - documentation_section.include_doc_string
    - end_type_section.style.new_line
    - botocore.docs.params.RequestParamsDocumenter._add_member_documentation
    - type_section.style.italics
    - <builtin>.enumerate
    - section.write
    - botocore.docs.utils.py_type_name
    - section.style.new_line
    - <builtin>.getattr
    - end_param_section.style.new_paragraph
    - is_required_section.style.indent
    - section.style.indent
    - is_required_section.style.bold
    - shape.serialization.get
    - botocore.docs.params.ResponseParamsDocumenter._add_member_documentation
    - type_section.add_new_section
    - documentation_section.style.indent
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.hasattr
    - botocore.docs.shape.ShapeDocumenter._get_value_for_special_type
    - param_section.style.new_line
    - botocore.docs.params.BaseParamsDocumenter.document_shape_type_structure
    - name_section.write
    - is_required_section.write
    - members.copy
    - type_section.write
    - section.style.new_paragraph
    - shape.members.keys
    - history.pop
    - botocore.docs.params.BaseParamsDocumenter._end_nested_param
    - example.style.codeblock
    - botocore.utils.is_json_value_header
    - botocore.docs.params.BaseParamsDocumenter._add_members_to_shape
    - botocore.docs.params.BaseParamsDocumenter._document_non_top_level_param_type
    - botocore.docs.shape.ShapeDocumenter._get_special_py_type_name
    - botocore.docs.params.RequestParamsDocumenter._add_special_trait_documentation
    - botocore.docs.params.RequestParamsDocumenter.document_shape_type_structure
    - botocore.docs.params.BaseParamsDocumenter._add_member_documentation
    - section.add_new_section
    - tagged_union_docs.write
    - section.style.dedent
    - name_section.style.bold
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 7
    argNames:
    - self
    - section
    - shape
    - history
    - include
    - exclude
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 212
    functionName: botocore.docs.params.RequestParamsDocumenter.document_shape_type_structure
    functionSourceFile: botocore.docs.params
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - botocore.docs.params.RequestParamsDocumenter._append_idempotency_documentation
    - history.append
    - documentation_section.include_doc_string
    - end_type_section.style.new_line
    - botocore.docs.params.RequestParamsDocumenter._add_member_documentation
    - type_section.style.italics
    - <builtin>.enumerate
    - section.write
    - botocore.docs.utils.py_type_name
    - section.style.new_line
    - <builtin>.getattr
    - end_param_section.style.new_paragraph
    - is_required_section.style.indent
    - section.style.indent
    - is_required_section.style.bold
    - shape.serialization.get
    - type_section.add_new_section
    - documentation_section.style.indent
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.hasattr
    - botocore.docs.shape.ShapeDocumenter._get_value_for_special_type
    - param_section.style.new_line
    - name_section.write
    - members.copy
    - is_required_section.write
    - type_section.write
    - shape.members.keys
    - history.pop
    - botocore.utils.is_json_value_header
    - botocore.docs.params.BaseParamsDocumenter._add_members_to_shape
    - botocore.docs.params.BaseParamsDocumenter._document_non_top_level_param_type
    - botocore.docs.shape.ShapeDocumenter._get_special_py_type_name
    - botocore.docs.params.RequestParamsDocumenter._add_special_trait_documentation
    - section.add_new_section
    - tagged_union_docs.write
    - section.style.dedent
    - name_section.style.bold
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: param_section.style.new_line
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: type_section.add_new_section
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: end_type_section.style.new_line
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: is_required_section.style.indent
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: is_required_section.style.bold
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: is_required_section.write
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - section
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 297
    functionName: botocore.docs.params.RequestParamsDocumenter._add_special_trait_documentation
    functionSourceFile: botocore.docs.params
    functionUses: 8
    functionsReached:
    - section.write
    - botocore.docs.params.RequestParamsDocumenter._append_idempotency_documentation
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: end_param_section.style.new_paragraph
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 301
    functionName: botocore.docs.params.RequestParamsDocumenter._append_idempotency_documentation
    functionSourceFile: botocore.docs.params
    functionUses: 9
    functionsReached:
    - section.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.docs.bcdoc.restdoc
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 0
    functionsReached:
    - re.compile
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - target
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 51
    functionName: botocore.docs.bcdoc.restdoc.ReSTDocument.__init__
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - botocore.docs.bcdoc.docstringparser.DocStringParser.__init__
    - botocore.docs.bcdoc.style.BaseStyle.__init__
    - botocore.docs.bcdoc.style.ReSTStyle.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - doc
    - indent_width
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 79
    functionName: botocore.docs.bcdoc.style.ReSTStyle.__init__
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 1
    functionsReached:
    - botocore.docs.bcdoc.style.BaseStyle.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - doc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 29
    functionName: botocore.docs.bcdoc.docstringparser.DocStringParser.__init__
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 62
    functionName: botocore.docs.bcdoc.restdoc.ReSTDocument._write
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - content
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 66
    functionName: botocore.docs.bcdoc.restdoc.ReSTDocument.write
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.restdoc.ReSTDocument._write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - content
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 72
    functionName: botocore.docs.bcdoc.restdoc.ReSTDocument.writeln
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.restdoc.ReSTDocument._write
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 46
    functionName: botocore.docs.bcdoc.style.BaseStyle.spaces
    functionSourceFile: ''
    functionUses: 54
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 78
    functionName: botocore.docs.bcdoc.restdoc.ReSTDocument.peek_write
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 85
    functionName: botocore.docs.bcdoc.restdoc.ReSTDocument.pop_write
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 91
    functionName: botocore.docs.bcdoc.restdoc.ReSTDocument.push_write
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 97
    functionName: botocore.docs.bcdoc.restdoc.ReSTDocument.getvalue
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - botocore.docs.bcdoc.style.ReSTStyle.link_target_definition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 85
    functionName: botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 43
    functionsReached:
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - refname
    - link
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 238
    functionName: botocore.docs.bcdoc.style.ReSTStyle.link_target_definition
    functionSourceFile: ''
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - words
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 107
    functionName: botocore.docs.bcdoc.restdoc.ReSTDocument.translate_words
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 110
    functionName: botocore.docs.bcdoc.restdoc.ReSTDocument.handle_data
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.restdoc.ReSTDocument._write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - doc_string
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 114
    functionName: botocore.docs.bcdoc.restdoc.ReSTDocument.include_doc_string
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.docs.bcdoc.docstringparser.StemNode.rstrip
    - cur.rstrip
    - <builtin>.isinstance
    - botocore.docs.bcdoc.docstringparser.TagNode._write_start
    - LOG.debug
    - botocore.docs.bcdoc.docstringparser.TagNode.collapse_whitespace
    - cur.startswith_whitespace
    - <builtin>.getattr
    - botocore.docs.bcdoc.docstringparser.HTMLTree.__init__
    - child.write
    - botocore.docs.bcdoc.docstringparser.TagNode._write_end
    - botocore.docs.bcdoc.docstringparser.StemNode.write
    - cur.lstrip
    - botocore.docs.bcdoc.docstringparser.HTMLTree.write
    - botocore.docs.bcdoc.docstringparser.StemNode.__init__
    - botocore.docs.bcdoc.docstringparser.StemNode.collapse_whitespace
    - botocore.docs.bcdoc.docstringparser.DocStringParser.feed
    - botocore.docs.bcdoc.docstringparser.DocStringParser.close
    - <builtin>.hasattr
    - <builtin>.zip
    - <builtin>.super
    - botocore.docs.bcdoc.docstringparser.TagNode.write
    - botocore.docs.bcdoc.docstringparser.StemNode.lstrip
    - itertools.zip_longest
    - botocore.docs.bcdoc.docstringparser.TagNode._has_nested_tags
    - nxt.startswith_whitespace
    - botocore.docs.bcdoc.docstringparser.StemNode._write_children
    - prev.endswith_whitespace
    - <builtin>.any
    - child.collapse_whitespace
    - cur.endswith_whitespace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 38
    functionName: botocore.docs.bcdoc.docstringparser.DocStringParser.feed
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 1
    functionsReached:
    - botocore.docs.bcdoc.docstringparser.StemNode.rstrip
    - <builtin>.isinstance
    - cur.rstrip
    - botocore.docs.bcdoc.docstringparser.TagNode._write_start
    - botocore.docs.bcdoc.docstringparser.TagNode.collapse_whitespace
    - cur.startswith_whitespace
    - <builtin>.getattr
    - botocore.docs.bcdoc.docstringparser.HTMLTree.__init__
    - child.write
    - botocore.docs.bcdoc.docstringparser.TagNode._write_end
    - botocore.docs.bcdoc.docstringparser.StemNode.write
    - botocore.docs.bcdoc.docstringparser.StemNode.__init__
    - botocore.docs.bcdoc.docstringparser.HTMLTree.write
    - cur.lstrip
    - botocore.docs.bcdoc.docstringparser.StemNode.collapse_whitespace
    - <builtin>.hasattr
    - <builtin>.zip
    - botocore.docs.bcdoc.docstringparser.TagNode.write
    - <builtin>.super
    - botocore.docs.bcdoc.docstringparser.StemNode.lstrip
    - itertools.zip_longest
    - botocore.docs.bcdoc.docstringparser.TagNode._has_nested_tags
    - nxt.startswith_whitespace
    - botocore.docs.bcdoc.docstringparser.StemNode._write_children
    - prev.endswith_whitespace
    - <builtin>.any
    - child.collapse_whitespace
    - cur.endswith_whitespace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 43
    functionName: botocore.docs.bcdoc.docstringparser.DocStringParser.close
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 1
    functionsReached:
    - botocore.docs.bcdoc.docstringparser.StemNode.rstrip
    - <builtin>.isinstance
    - cur.rstrip
    - botocore.docs.bcdoc.docstringparser.TagNode._write_start
    - botocore.docs.bcdoc.docstringparser.TagNode.collapse_whitespace
    - cur.startswith_whitespace
    - <builtin>.getattr
    - botocore.docs.bcdoc.docstringparser.HTMLTree.__init__
    - child.write
    - botocore.docs.bcdoc.docstringparser.TagNode._write_end
    - botocore.docs.bcdoc.docstringparser.StemNode.write
    - botocore.docs.bcdoc.docstringparser.StemNode.__init__
    - botocore.docs.bcdoc.docstringparser.HTMLTree.write
    - cur.lstrip
    - botocore.docs.bcdoc.docstringparser.StemNode.collapse_whitespace
    - <builtin>.hasattr
    - <builtin>.zip
    - botocore.docs.bcdoc.docstringparser.TagNode.write
    - <builtin>.super
    - botocore.docs.bcdoc.docstringparser.StemNode.lstrip
    - itertools.zip_longest
    - botocore.docs.bcdoc.docstringparser.TagNode._has_nested_tags
    - nxt.startswith_whitespace
    - botocore.docs.bcdoc.docstringparser.StemNode._write_children
    - prev.endswith_whitespace
    - <builtin>.any
    - child.collapse_whitespace
    - cur.endswith_whitespace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 126
    functionName: botocore.docs.bcdoc.restdoc.ReSTDocument.remove_last_doc_string
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - section_names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 182
    functionName: botocore.docs.bcdoc.restdoc.DocumentStructure._generate_structure
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 17
    functionsReached:
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 158
    functionName: botocore.docs.bcdoc.restdoc.DocumentStructure.name
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 171
    functionName: botocore.docs.bcdoc.restdoc.DocumentStructure.path
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 175
    functionName: botocore.docs.bcdoc.restdoc.DocumentStructure.available_sections
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 0
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 179
    functionName: botocore.docs.bcdoc.restdoc.DocumentStructure.context
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 217
    functionName: botocore.docs.bcdoc.restdoc.DocumentStructure.delete_section
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: SECTION_METHOD_PATH_DEPTH.get
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 263
    functionName: botocore.docs.bcdoc.restdoc.DocumentStructure.getvalue
    functionSourceFile: ''
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.OrderedDict.items
    functionSourceFile: collections
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.decode
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: DOCUMENTATION_LINK_REGEX.search
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.flush_structure
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.splitlines
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: SECTION_LINE_LIMIT_CONFIG.get
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: docs_link.decode
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: LARGE_SECTION_MESSAGE.format
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 266
    functionName: botocore.docs.bcdoc.restdoc.DocumentStructure.remove_all_sections
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 0
    functionsReached:
    - collections.OrderedDict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 269
    functionName: botocore.docs.bcdoc.restdoc.DocumentStructure.clear_text
    functionSourceFile: botocore.docs.bcdoc.restdoc
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: title_section.style.h1
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.docs.bcdoc.docstringparser
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 34
    functionName: botocore.docs.bcdoc.docstringparser.DocStringParser.reset
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.docstringparser.StemNode.__init__
    - botocore.docs.bcdoc.docstringparser.HTMLTree.__init__
    - html.parser.HTMLParser.reset
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.parser.HTMLParser.reset
    functionSourceFile: html
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - doc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 66
    functionName: botocore.docs.bcdoc.docstringparser.HTMLTree.__init__
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 4
    functionsReached:
    - botocore.docs.bcdoc.docstringparser.StemNode.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 95
    functionName: botocore.docs.bcdoc.docstringparser.HTMLTree.write
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 3
    functionsReached:
    - cur.rstrip
    - botocore.docs.bcdoc.docstringparser.StemNode.rstrip
    - <builtin>.isinstance
    - botocore.docs.bcdoc.docstringparser.TagNode._write_start
    - botocore.docs.bcdoc.docstringparser.TagNode.collapse_whitespace
    - cur.startswith_whitespace
    - <builtin>.getattr
    - child.write
    - botocore.docs.bcdoc.docstringparser.TagNode._write_end
    - botocore.docs.bcdoc.docstringparser.StemNode.write
    - cur.lstrip
    - botocore.docs.bcdoc.docstringparser.StemNode.collapse_whitespace
    - <builtin>.hasattr
    - <builtin>.zip
    - botocore.docs.bcdoc.docstringparser.TagNode.write
    - botocore.docs.bcdoc.docstringparser.StemNode.lstrip
    - itertools.zip_longest
    - botocore.docs.bcdoc.docstringparser.TagNode._has_nested_tags
    - nxt.startswith_whitespace
    - botocore.docs.bcdoc.docstringparser.StemNode._write_children
    - prev.endswith_whitespace
    - <builtin>.any
    - child.collapse_whitespace
    - cur.endswith_whitespace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - tag
    - attrs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 49
    functionName: botocore.docs.bcdoc.docstringparser.DocStringParser.handle_starttag
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.docstringparser.TagNode.__init__
    - <builtin>.hasattr
    - botocore.docs.bcdoc.docstringparser.StemNode.add_child
    - <builtin>.super
    - botocore.docs.bcdoc.docstringparser.HTMLTree.add_tag
    - botocore.docs.bcdoc.docstringparser.HTMLTree._doc_has_handler
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argNames:
    - self
    - tag
    - attrs
    - is_start
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 72
    functionName: botocore.docs.bcdoc.docstringparser.HTMLTree.add_tag
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 2
    functionsReached:
    - botocore.docs.bcdoc.docstringparser.TagNode.__init__
    - <builtin>.hasattr
    - botocore.docs.bcdoc.docstringparser.StemNode.add_child
    - <builtin>.super
    - botocore.docs.bcdoc.docstringparser.HTMLTree._doc_has_handler
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - tag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 52
    functionName: botocore.docs.bcdoc.docstringparser.DocStringParser.handle_endtag
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.docstringparser.TagNode.__init__
    - <builtin>.hasattr
    - botocore.docs.bcdoc.docstringparser.StemNode.add_child
    - <builtin>.super
    - botocore.docs.bcdoc.docstringparser.HTMLTree.add_tag
    - botocore.docs.bcdoc.docstringparser.HTMLTree._doc_has_handler
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 55
    functionName: botocore.docs.bcdoc.docstringparser.DocStringParser.handle_data
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - <builtin>.next
    - botocore.docs.bcdoc.docstringparser.DataNode.__init__
    - botocore.docs.bcdoc.docstringparser.StemNode.add_child
    - <builtin>.super
    - botocore.docs.bcdoc.docstringparser.HTMLTree.add_data
    - <builtin>.enumerate
    - <builtin>.reversed
    - data.isspace
    - ch.isspace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 92
    functionName: botocore.docs.bcdoc.docstringparser.HTMLTree.add_data
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - <builtin>.next
    - botocore.docs.bcdoc.docstringparser.DataNode.__init__
    - botocore.docs.bcdoc.docstringparser.StemNode.add_child
    - <builtin>.super
    - <builtin>.enumerate
    - <builtin>.reversed
    - data.isspace
    - ch.isspace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - parent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 108
    functionName: botocore.docs.bcdoc.docstringparser.StemNode.__init__
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 5
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - tag
    - is_start
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 84
    functionName: botocore.docs.bcdoc.docstringparser.HTMLTree._doc_has_handler
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 3
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - tag
    - attrs
    - parent
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 168
    functionName: botocore.docs.bcdoc.docstringparser.TagNode.__init__
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 3
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - child
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 112
    functionName: botocore.docs.bcdoc.docstringparser.StemNode.add_child
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argNames:
    - self
    - data
    - parent
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 240
    functionName: botocore.docs.bcdoc.docstringparser.DataNode.__init__
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - <builtin>.next
    - <builtin>.super
    - <builtin>.enumerate
    - <builtin>.reversed
    - data.isspace
    - ch.isspace
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - doc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 116
    functionName: botocore.docs.bcdoc.docstringparser.StemNode.write
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 4
    functionsReached:
    - cur.rstrip
    - <builtin>.isinstance
    - botocore.docs.bcdoc.docstringparser.StemNode.rstrip
    - <builtin>.zip
    - child.write
    - prev.endswith_whitespace
    - botocore.docs.bcdoc.docstringparser.TagNode.collapse_whitespace
    - cur.endswith_whitespace
    - botocore.docs.bcdoc.docstringparser.StemNode.lstrip
    - cur.startswith_whitespace
    - itertools.zip_longest
    - cur.lstrip
    - botocore.docs.bcdoc.docstringparser.StemNode.collapse_whitespace
    - child.collapse_whitespace
    - nxt.startswith_whitespace
    - botocore.docs.bcdoc.docstringparser.StemNode._write_children
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - doc
    - next_child
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 177
    functionName: botocore.docs.bcdoc.docstringparser.TagNode.write
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 4
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.getattr
    - <builtin>.hasattr
    - botocore.docs.bcdoc.docstringparser.TagNode._write_start
    - child.write
    - botocore.docs.bcdoc.docstringparser.TagNode._write_end
    - <builtin>.any
    - itertools.zip_longest
    - botocore.docs.bcdoc.docstringparser.TagNode._has_nested_tags
    - botocore.docs.bcdoc.docstringparser.StemNode._write_children
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - parent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 100
    functionName: botocore.docs.bcdoc.docstringparser.Node.__init__
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - doc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 103
    functionName: botocore.docs.bcdoc.docstringparser.Node.write
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 194
    functionName: botocore.docs.bcdoc.docstringparser.TagNode.collapse_whitespace
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 5
    functionsReached:
    - botocore.docs.bcdoc.docstringparser.StemNode.rstrip
    - cur.rstrip
    - <builtin>.zip
    - prev.endswith_whitespace
    - cur.endswith_whitespace
    - botocore.docs.bcdoc.docstringparser.StemNode.lstrip
    - cur.startswith_whitespace
    - cur.lstrip
    - child.collapse_whitespace
    - nxt.startswith_whitespace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 148
    functionName: botocore.docs.bcdoc.docstringparser.StemNode.collapse_whitespace
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 5
    functionsReached:
    - botocore.docs.bcdoc.docstringparser.StemNode.rstrip
    - botocore.docs.bcdoc.docstringparser.StemNode.lstrip
    - child.collapse_whitespace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - doc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 120
    functionName: botocore.docs.bcdoc.docstringparser.StemNode._write_children
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 6
    functionsReached:
    - <builtin>.isinstance
    - itertools.zip_longest
    - child.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: child.write
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 127
    functionName: botocore.docs.bcdoc.docstringparser.StemNode.is_whitespace
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 0
    functionsReached:
    - <builtin>.all
    - child.is_whitespace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: child.is_whitespace
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 130
    functionName: botocore.docs.bcdoc.docstringparser.StemNode.startswith_whitespace
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 133
    functionName: botocore.docs.bcdoc.docstringparser.StemNode.endswith_whitespace
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 136
    functionName: botocore.docs.bcdoc.docstringparser.StemNode.lstrip
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 142
    functionName: botocore.docs.bcdoc.docstringparser.StemNode.rstrip
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: child.collapse_whitespace
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 173
    functionName: botocore.docs.bcdoc.docstringparser.TagNode._has_nested_tags
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 5
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - doc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 220
    functionName: botocore.docs.bcdoc.docstringparser.TagNode._write_start
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 5
    functionsReached:
    - <builtin>.getattr
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - doc
    - next_child
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 225
    functionName: botocore.docs.bcdoc.docstringparser.TagNode._write_end
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 5
    functionsReached:
    - <builtin>.getattr
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: prev.endswith_whitespace
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cur.startswith_whitespace
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cur.lstrip
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cur.endswith_whitespace
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nxt.startswith_whitespace
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cur.rstrip
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.isspace
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ch.isspace
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 263
    functionName: botocore.docs.bcdoc.docstringparser.DataNode.data
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 269
    functionName: botocore.docs.bcdoc.docstringparser.DataNode.is_whitespace
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 274
    functionName: botocore.docs.bcdoc.docstringparser.DataNode.startswith_whitespace
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 279
    functionName: botocore.docs.bcdoc.docstringparser.DataNode.endswith_whitespace
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 284
    functionName: botocore.docs.bcdoc.docstringparser.DataNode.lstrip
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.docstringparser.DataNode.rstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 290
    functionName: botocore.docs.bcdoc.docstringparser.DataNode.rstrip
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 301
    functionName: botocore.docs.bcdoc.docstringparser.DataNode.collapse_whitespace
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - doc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 305
    functionName: botocore.docs.bcdoc.docstringparser.DataNode.write
    functionSourceFile: botocore.docs.bcdoc.docstringparser
    functionUses: 0
    functionsReached:
    - doc.translate_words
    - doc.handle_data
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doc.translate_words
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doc.handle_data
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.docs.bcdoc.style
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - doc
    - indent_width
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 22
    functionName: botocore.docs.bcdoc.style.BaseStyle.__init__
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 33
    functionName: botocore.docs.bcdoc.style.BaseStyle.indentation
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 36
    functionName: botocore.docs.bcdoc.style.BaseStyle.new_paragraph
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 39
    functionName: botocore.docs.bcdoc.style.BaseStyle.indent
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 42
    functionName: botocore.docs.bcdoc.style.BaseStyle.dedent
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 49
    functionName: botocore.docs.bcdoc.style.BaseStyle.bold
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - link
    - title
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 52
    functionName: botocore.docs.bcdoc.style.BaseStyle.ref
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 55
    functionName: botocore.docs.bcdoc.style.BaseStyle.h2
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 58
    functionName: botocore.docs.bcdoc.style.BaseStyle.h3
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 61
    functionName: botocore.docs.bcdoc.style.BaseStyle.underline
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 64
    functionName: botocore.docs.bcdoc.style.BaseStyle.italics
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 67
    functionName: botocore.docs.bcdoc.style.BaseStyle.add_trailing_space_to_previous_write
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 88
    functionName: botocore.docs.bcdoc.style.ReSTStyle.new_line
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 5
    functionsReached:
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - markup
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 91
    functionName: botocore.docs.bcdoc.style.ReSTStyle._start_inline
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - markup
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 103
    functionName: botocore.docs.bcdoc.style.ReSTStyle._end_inline
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - attrs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 114
    functionName: botocore.docs.bcdoc.style.ReSTStyle.start_bold
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 2
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle._start_inline
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 117
    functionName: botocore.docs.bcdoc.style.ReSTStyle.end_bold
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 2
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle._end_inline
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - attrs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 120
    functionName: botocore.docs.bcdoc.style.ReSTStyle.start_b
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle._start_inline
    - botocore.docs.bcdoc.style.ReSTStyle.start_bold
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 124
    functionName: botocore.docs.bcdoc.style.ReSTStyle.end_b
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle._end_inline
    - botocore.docs.bcdoc.style.ReSTStyle.end_bold
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 128
    functionName: botocore.docs.bcdoc.style.ReSTStyle.bold
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle._start_inline
    - botocore.docs.bcdoc.style.ReSTStyle._end_inline
    - botocore.docs.bcdoc.style.ReSTStyle.end_bold
    - botocore.docs.bcdoc.style.ReSTStyle.start_bold
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - title
    - link
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 134
    functionName: botocore.docs.bcdoc.style.ReSTStyle.ref
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - s
    - border_char
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 139
    functionName: botocore.docs.bcdoc.style.ReSTStyle._heading
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 145
    functionName: botocore.docs.bcdoc.style.ReSTStyle.h1
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.docs.bcdoc.style.ReSTStyle._heading
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 148
    functionName: botocore.docs.bcdoc.style.ReSTStyle.h2
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.docs.bcdoc.style.ReSTStyle._heading
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 151
    functionName: botocore.docs.bcdoc.style.ReSTStyle.h3
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.docs.bcdoc.style.ReSTStyle._heading
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - attrs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 154
    functionName: botocore.docs.bcdoc.style.ReSTStyle.start_italics
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 2
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle._start_inline
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 157
    functionName: botocore.docs.bcdoc.style.ReSTStyle.end_italics
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 2
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle._end_inline
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 160
    functionName: botocore.docs.bcdoc.style.ReSTStyle.italics
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle._start_inline
    - botocore.docs.bcdoc.style.ReSTStyle._end_inline
    - botocore.docs.bcdoc.style.ReSTStyle.end_italics
    - botocore.docs.bcdoc.style.ReSTStyle.start_italics
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - attrs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 166
    functionName: botocore.docs.bcdoc.style.ReSTStyle.start_p
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 170
    functionName: botocore.docs.bcdoc.style.ReSTStyle.end_p
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - attrs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 174
    functionName: botocore.docs.bcdoc.style.ReSTStyle.start_code
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 1
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle._start_inline
    - botocore.docs.bcdoc.style.BaseStyle.add_trailing_space_to_previous_write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 179
    functionName: botocore.docs.bcdoc.style.ReSTStyle.end_code
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 1
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle._end_inline
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 183
    functionName: botocore.docs.bcdoc.style.ReSTStyle.code
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.BaseStyle.add_trailing_space_to_previous_write
    - botocore.docs.bcdoc.style.ReSTStyle.start_code
    - botocore.docs.bcdoc.style.ReSTStyle._end_inline
    - botocore.docs.bcdoc.style.ReSTStyle._start_inline
    - botocore.docs.bcdoc.style.ReSTStyle.end_code
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - attrs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 189
    functionName: botocore.docs.bcdoc.style.ReSTStyle.start_note
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.indent
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 195
    functionName: botocore.docs.bcdoc.style.ReSTStyle.end_note
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - botocore.docs.bcdoc.style.BaseStyle.dedent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - attrs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 199
    functionName: botocore.docs.bcdoc.style.ReSTStyle.start_important
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.indent
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 205
    functionName: botocore.docs.bcdoc.style.ReSTStyle.end_important
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - botocore.docs.bcdoc.style.BaseStyle.dedent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - attrs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 209
    functionName: botocore.docs.bcdoc.style.ReSTStyle.start_danger
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.indent
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 215
    functionName: botocore.docs.bcdoc.style.ReSTStyle.end_danger
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - botocore.docs.bcdoc.style.BaseStyle.dedent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - attrs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 219
    functionName: botocore.docs.bcdoc.style.ReSTStyle.start_a
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.BaseStyle.add_trailing_space_to_previous_write
    - attr_value.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attr_value.strip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - label
    - text
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 241
    functionName: botocore.docs.bcdoc.style.ReSTStyle.sphinx_reference_label
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 249
    functionName: botocore.docs.bcdoc.style.ReSTStyle._clean_link_text
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 1
    functionsReached:
    - doc.push_write
    - doc.pop_write
    - last_write.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doc.pop_write
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: last_write.startswith
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doc.push_write
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 2
    argNames:
    - self
    - next_child
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 259
    functionName: botocore.docs.bcdoc.style.ReSTStyle.end_a
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - doc.pop_write
    - last_write.rstrip
    - last_write.replace
    - doc.push_write
    - last_write.startswith
    - botocore.docs.bcdoc.style.ReSTStyle._clean_link_text
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: last_write.rstrip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: last_write.replace
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - attrs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 283
    functionName: botocore.docs.bcdoc.style.ReSTStyle.start_i
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle._start_inline
    - botocore.docs.bcdoc.style.ReSTStyle.start_italics
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 287
    functionName: botocore.docs.bcdoc.style.ReSTStyle.end_i
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle._end_inline
    - botocore.docs.bcdoc.style.ReSTStyle.end_italics
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - attrs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 291
    functionName: botocore.docs.bcdoc.style.ReSTStyle.start_li
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 3
    functionsReached:
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - botocore.docs.bcdoc.style.ReSTStyle.new_line
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 296
    functionName: botocore.docs.bcdoc.style.ReSTStyle.end_li
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 3
    functionsReached:
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - botocore.docs.bcdoc.style.ReSTStyle.new_line
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 300
    functionName: botocore.docs.bcdoc.style.ReSTStyle.li
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 2
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.end_li
    - botocore.docs.bcdoc.style.ReSTStyle.start_li
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - botocore.docs.bcdoc.style.ReSTStyle.new_line
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - attrs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 306
    functionName: botocore.docs.bcdoc.style.ReSTStyle.start_ul
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 1
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.indent
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 312
    functionName: botocore.docs.bcdoc.style.ReSTStyle.end_ul
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - botocore.docs.bcdoc.style.BaseStyle.dedent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - attrs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 318
    functionName: botocore.docs.bcdoc.style.ReSTStyle.start_ol
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.indent
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 325
    functionName: botocore.docs.bcdoc.style.ReSTStyle.end_ol
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - botocore.docs.bcdoc.style.BaseStyle.dedent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - attrs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 331
    functionName: botocore.docs.bcdoc.style.ReSTStyle.start_examples
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 334
    functionName: botocore.docs.bcdoc.style.ReSTStyle.end_examples
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - attrs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 337
    functionName: botocore.docs.bcdoc.style.ReSTStyle.start_fullname
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 340
    functionName: botocore.docs.bcdoc.style.ReSTStyle.end_fullname
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - attrs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 343
    functionName: botocore.docs.bcdoc.style.ReSTStyle.start_codeblock
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 1
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.indent
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 348
    functionName: botocore.docs.bcdoc.style.ReSTStyle.end_codeblock
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 1
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - botocore.docs.bcdoc.style.BaseStyle.dedent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 352
    functionName: botocore.docs.bcdoc.style.ReSTStyle.codeblock
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.BaseStyle.indent
    - botocore.docs.bcdoc.style.ReSTStyle.start_codeblock
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - botocore.docs.bcdoc.style.ReSTStyle.end_codeblock
    - botocore.docs.bcdoc.style.BaseStyle.dedent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 363
    functionName: botocore.docs.bcdoc.style.ReSTStyle.toctree
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.indent
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - botocore.docs.bcdoc.style.ReSTStyle.start_ul
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - item
    - file_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 371
    functionName: botocore.docs.bcdoc.style.ReSTStyle.tocitem
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 1
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.end_li
    - botocore.docs.bcdoc.style.ReSTStyle.li
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - botocore.docs.bcdoc.style.ReSTStyle.new_line
    - botocore.docs.bcdoc.style.ReSTStyle.start_li
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 380
    functionName: botocore.docs.bcdoc.style.ReSTStyle.hidden_toctree
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 386
    functionName: botocore.docs.bcdoc.style.ReSTStyle.hidden_tocitem
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.end_li
    - botocore.docs.bcdoc.style.ReSTStyle.li
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - botocore.docs.bcdoc.style.ReSTStyle.new_line
    - botocore.docs.bcdoc.style.ReSTStyle.tocitem
    - botocore.docs.bcdoc.style.ReSTStyle.start_li
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - title
    - depth
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 390
    functionName: botocore.docs.bcdoc.style.ReSTStyle.table_of_contents
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - class_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 397
    functionName: botocore.docs.bcdoc.style.ReSTStyle.start_sphinx_py_class
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.indent
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 403
    functionName: botocore.docs.bcdoc.style.ReSTStyle.end_sphinx_py_class
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - botocore.docs.bcdoc.style.BaseStyle.dedent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - method_name
    - parameters
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 407
    functionName: botocore.docs.bcdoc.style.ReSTStyle.start_sphinx_py_method
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.indent
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 416
    functionName: botocore.docs.bcdoc.style.ReSTStyle.end_sphinx_py_method
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - botocore.docs.bcdoc.style.BaseStyle.dedent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - attr_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 420
    functionName: botocore.docs.bcdoc.style.ReSTStyle.start_sphinx_py_attr
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.indent
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 426
    functionName: botocore.docs.bcdoc.style.ReSTStyle.end_sphinx_py_attr
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - botocore.docs.bcdoc.style.BaseStyle.dedent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - docstring
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 430
    functionName: botocore.docs.bcdoc.style.ReSTStyle.write_py_doc_string
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached:
    - docstring.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: docstring.splitlines
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - title
    - link
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 435
    functionName: botocore.docs.bcdoc.style.ReSTStyle.external_link
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - title
    - page
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 441
    functionName: botocore.docs.bcdoc.style.ReSTStyle.internal_link
    functionSourceFile: botocore.docs.bcdoc.style
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.docs.client
    functionSourceFile: botocore.docs.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - method_name
    - service_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 28
    functionName: botocore.docs.client._allowlist_generate_presigned_url
    functionSourceFile: botocore.docs.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 85
    functionName: botocore.docs.client.ClientDocumenter._add_title
    functionSourceFile: botocore.docs.client
    functionUses: 4
    functionsReached:
    - section.style.h2
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 113
    functionName: botocore.docs.client.ClientDocumenter._add_class_signature
    functionSourceFile: botocore.docs.client
    functionUses: 4
    functionsReached:
    - section.style.start_sphinx_py_class
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 59
    functionName: botocore.docs.client.ClientDocumenter._get_client_methods
    functionSourceFile: botocore.docs.client
    functionUses: 4
    functionsReached:
    - botocore.docs.client.ClientDocumenter._filter_client_methods
    - botocore.docs.method.get_instance_public_methods
    - inspect.getmembers
    - botocore.docs.client.ClientDocumenter._filter_client_method
    - inspect.ismethod
    - client_methods.items
    - name.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 9
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - section
    - client_methods
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 88
    functionName: botocore.docs.client.ClientDocumenter._add_client_intro
    functionSourceFile: botocore.docs.client
    functionUses: 4
    functionsReached:
    - section.style.new_paragraph
    - section.style.new_line
    - section.style.start_codeblock
    - short_name.startswith
    - section.style.toctree
    - service_model.metadata.get
    - section.style.dedent
    - botocore.docs.utils.get_official_service_name
    - <builtin>.sorted
    - section.add_new_section
    - official_name.lower
    - section.write
    - section.style.end_codeblock
    - section.include_doc_string
    - botocore.docs.client.ClientDocumenter._add_client_creation_example
    - section.writeln
    - short_name.lower
    - section.style.tocitem
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - client_methods
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 128
    functionName: botocore.docs.client.ClientDocumenter._add_client_methods
    functionSourceFile: botocore.docs.client
    functionUses: 4
    functionsReached:
    - example_section.write
    - closing_section.style.new_line
    - history.append
    - closing_section.write
    - service_model.operation_model
    - event_section.style.new_paragraph
    - section.write
    - collections.OrderedDict
    - return_description_section.style.bold
    - input_section.add_new_section
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_title_section
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_output
    - comments.get
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_list
    - error_section.style.bold
    - f.write
    - example_section.style.bold
    - final_blank_line_section.style.new_line
    - <builtin>.list
    - botocore.docs.sharedexample.SharedExampleDocumenter._get_comment
    - value.items
    - SECTION_LINE_LIMIT_CONFIG.get
    - <builtin>.hasattr
    - datetime.datetime.fromtimestamp
    - error_section.style.li
    - botocore.utils._parse_timestamp_with_tzinfo
    - <builtin>.sorted
    - docs_link.decode
    - method_intro_section.write
    - return_section.add_new_section
    - section.style.dedent
    - path.pop
    - <builtin>.str
    - botocore.docs.shape.ShapeDocumenter.__init__
    - parameter_names.remove
    - inspect.getdoc
    - input_section.style.start_codeblock
    - botocore.docs.utils.escape_controls
    - input_section.write
    - container_section.add_new_section
    - logger.debug
    - section.style.start_codeblock
    - operation_model.get_event_stream_output
    - collections.OrderedDict.items
    - event_section.style.new_line
    - operation_model.get_streaming_output
    - <builtin>.enumerate
    - method_intro_section.style.start_danger
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_dict
    - signature.replace
    - operation_model.get_streaming_input
    - output_section.add_new_section
    - item_section.style.new_line
    - list_section.add_new_section
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.iter
    - botocore.docs.sharedexample.SharedExampleDocumenter._document
    - <builtin>.super
    - botocore.docs.method.document_model_driven_method
    - botocore.docs.bcdoc.restdoc.DocumentStructure._generate_structure
    - botocore.docs.client.ClientDocumenter._add_client_method
    - return_example_section.style.new_paragraph
    - dateutil.parser.parse
    - params.keys
    - history.pop
    - return_section.style.indent
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_params
    - <builtin>.range
    - example_section.style.start_codeblock
    - return_example_section.style.new_line
    - section.add_new_section
    - botocore.docs.bcdoc.restdoc.DocumentStructure.write_to_file
    - inspect.signature
    - <builtin>.len
    - method_intro_section.style.end_danger
    - <builtin>.isinstance
    - output_section.write
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - section.context.get
    - DOCUMENTATION_LINK_REGEX.search
    - value.splitlines
    - botocore.docs.method.document_model_driven_signature
    - closing_section.style.end_codeblock
    - botocore.docs.client.ClientDocumenter._add_custom_method
    - botocore.docs.method.document_custom_method
    - signature.parameters.copy
    - parameter_names.append
    - method_intro_section.style.external_link
    - section.style.new_line
    - <builtin>.getattr
    - output_section.style.start_codeblock
    - section.style.indent
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - container_section.style.bold
    - <builtin>.float
    - <builtin>.open
    - return_section.style.new_line
    - botocore.docs.sharedexample.SharedExampleDocumenter._start_nested_value
    - error_section.style.new_line
    - botocore.docs.client.ClientDocumenter._is_custom_method
    - botocore.docs.sharedexample.document_shared_examples
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_input
    - botocore.docs.bcdoc.restdoc.DocumentStructure.__init__
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_str
    - section.style.new_paragraph
    - os.path.join
    - new_params.values
    - botocore.utils.parse_timestamp
    - title_section.style.h1
    - match.group
    - container_section.style.new_paragraph
    - section.style.start_sphinx_py_method
    - os.makedirs
    - return_description_section.style.new_line
    - example_section.style.new_paragraph
    - method_intro_section.writeln
    - os.path.exists
    - botocore.docs.bcdoc.restdoc.DocumentStructure.flush_structure
    - botocore.docs.client.ClientDocumenter._add_method_exceptions_list
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_shared_example
    - botocore.docs.method.document_custom_signature
    - dict_section.add_new_section
    - method_intro_section.style.write_py_doc_string
    - breadcrumb_section.style.ref
    - method_intro_section.include_doc_string
    - LARGE_SECTION_MESSAGE.format
    - signature_params.rstrip
    - _ESCAPE_CONTROLS_RE.sub
    - breadcrumb_section.write
    - re.sub
    - param_section.add_new_section
    - botocore.docs.bcdoc.style.ReSTStyle.link_target_definition
    - botocore.docs.client.ClientDocumenter._add_model_driven_method
    - return_example_section.style.bold
    - return_description_section.style.new_paragraph
    - path.append
    - method_intro_section.style.new_paragraph
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_datetime
    - item_section.write
    - return_section.write
    - event_section.write
    - botocore.docs.bcdoc.restdoc.DocumentStructure.getvalue
    - botocore.docs.sharedexample.SharedExampleDocumenter._end_nested_value
    - example.get
    - SECTION_METHOD_PATH_DEPTH.get
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - section.flush_structure
    - <builtin>.next
    - output_section.style.new_line
    - operation_model.service_model.metadata.get
    - value.decode
    - dict_section_end.write
    - shape.members.get
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_number
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - client_methods
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: botocore.docs.client.ClientDocumenter._filter_client_methods
    functionSourceFile: botocore.docs.client
    functionUses: 5
    functionsReached:
    - client_methods.items
    - botocore.docs.client.ClientDocumenter._filter_client_method
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client_methods.items
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 75
    functionName: botocore.docs.client.ClientDocumenter._filter_client_method
    functionSourceFile: ''
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.include_doc_string
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 118
    functionName: botocore.docs.client.ClientDocumenter._add_client_creation_example
    functionSourceFile: botocore.docs.client
    functionUses: 5
    functionsReached:
    - section.write
    - section.style.end_codeblock
    - section.style.new_line
    - section.style.start_codeblock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.style.start_sphinx_py_class
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.style.end_codeblock
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - section
    - method_name
    - method
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 144
    functionName: botocore.docs.client.ClientDocumenter._add_client_method
    functionSourceFile: botocore.docs.client
    functionUses: 5
    functionsReached:
    - example_section.write
    - closing_section.style.new_line
    - history.append
    - closing_section.write
    - service_model.operation_model
    - event_section.style.new_paragraph
    - section.write
    - return_description_section.style.bold
    - input_section.add_new_section
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_title_section
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_list
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_output
    - comments.get
    - error_section.style.bold
    - example_section.style.bold
    - final_blank_line_section.style.new_line
    - <builtin>.list
    - botocore.docs.sharedexample.SharedExampleDocumenter._get_comment
    - value.items
    - <builtin>.hasattr
    - datetime.datetime.fromtimestamp
    - error_section.style.li
    - botocore.utils._parse_timestamp_with_tzinfo
    - method_intro_section.write
    - return_section.add_new_section
    - section.style.dedent
    - <builtin>.str
    - path.pop
    - botocore.docs.shape.ShapeDocumenter.__init__
    - parameter_names.remove
    - inspect.getdoc
    - input_section.style.start_codeblock
    - botocore.docs.utils.escape_controls
    - input_section.write
    - container_section.add_new_section
    - logger.debug
    - section.style.start_codeblock
    - operation_model.get_event_stream_output
    - event_section.style.new_line
    - operation_model.get_streaming_output
    - <builtin>.enumerate
    - method_intro_section.style.start_danger
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_dict
    - signature.replace
    - operation_model.get_streaming_input
    - output_section.add_new_section
    - item_section.style.new_line
    - list_section.add_new_section
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.iter
    - botocore.docs.sharedexample.SharedExampleDocumenter._document
    - botocore.docs.method.document_model_driven_method
    - return_example_section.style.new_paragraph
    - dateutil.parser.parse
    - params.keys
    - history.pop
    - return_section.style.indent
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_params
    - <builtin>.range
    - example_section.style.start_codeblock
    - return_example_section.style.new_line
    - section.add_new_section
    - inspect.signature
    - method_intro_section.style.end_danger
    - output_section.write
    - <builtin>.isinstance
    - <builtin>.len
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - section.context.get
    - botocore.docs.method.document_model_driven_signature
    - botocore.docs.client.ClientDocumenter._add_custom_method
    - closing_section.style.end_codeblock
    - botocore.docs.method.document_custom_method
    - signature.parameters.copy
    - parameter_names.append
    - method_intro_section.style.external_link
    - section.style.new_line
    - <builtin>.getattr
    - output_section.style.start_codeblock
    - section.style.indent
    - container_section.style.bold
    - <builtin>.float
    - return_section.style.new_line
    - botocore.docs.sharedexample.SharedExampleDocumenter._start_nested_value
    - error_section.style.new_line
    - botocore.docs.client.ClientDocumenter._is_custom_method
    - botocore.docs.sharedexample.document_shared_examples
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_input
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_str
    - section.style.new_paragraph
    - new_params.values
    - botocore.utils.parse_timestamp
    - title_section.style.h1
    - container_section.style.new_paragraph
    - section.style.start_sphinx_py_method
    - return_description_section.style.new_line
    - example_section.style.new_paragraph
    - method_intro_section.writeln
    - botocore.docs.client.ClientDocumenter._add_method_exceptions_list
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_shared_example
    - botocore.docs.method.document_custom_signature
    - dict_section.add_new_section
    - method_intro_section.style.write_py_doc_string
    - breadcrumb_section.style.ref
    - method_intro_section.include_doc_string
    - signature_params.rstrip
    - _ESCAPE_CONTROLS_RE.sub
    - breadcrumb_section.write
    - re.sub
    - param_section.add_new_section
    - botocore.docs.client.ClientDocumenter._add_model_driven_method
    - return_example_section.style.bold
    - return_description_section.style.new_paragraph
    - path.append
    - method_intro_section.style.new_paragraph
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_datetime
    - item_section.write
    - return_section.write
    - event_section.write
    - botocore.docs.sharedexample.SharedExampleDocumenter._end_nested_value
    - example.get
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - <builtin>.next
    - output_section.style.new_line
    - operation_model.service_model.metadata.get
    - dict_section_end.write
    - shape.members.get
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_number
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - method_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 164
    functionName: botocore.docs.client.ClientDocumenter._is_custom_method
    functionSourceFile: ''
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - section
    - method_name
    - method
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 167
    functionName: botocore.docs.client.ClientDocumenter._add_custom_method
    functionSourceFile: botocore.docs.client
    functionUses: 6
    functionsReached:
    - method_intro_section.writeln
    - <builtin>.isinstance
    - signature_params.rstrip
    - new_params.values
    - <builtin>.iter
    - signature.replace
    - botocore.docs.method.document_custom_signature
    - <builtin>.next
    - inspect.getdoc
    - section.context.get
    - method_intro_section.style.write_py_doc_string
    - signature.parameters.copy
    - section.style.start_sphinx_py_method
    - section.add_new_section
    - botocore.docs.method.document_custom_method
    - inspect.signature
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - section
    - method_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 181
    functionName: botocore.docs.client.ClientDocumenter._add_model_driven_method
    functionSourceFile: botocore.docs.client
    functionUses: 6
    functionsReached:
    - example_section.write
    - closing_section.style.new_line
    - history.append
    - closing_section.write
    - service_model.operation_model
    - event_section.style.new_paragraph
    - section.write
    - return_description_section.style.bold
    - input_section.add_new_section
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_output
    - comments.get
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_list
    - error_section.style.bold
    - example_section.style.bold
    - final_blank_line_section.style.new_line
    - <builtin>.list
    - botocore.docs.sharedexample.SharedExampleDocumenter._get_comment
    - value.items
    - <builtin>.hasattr
    - datetime.datetime.fromtimestamp
    - error_section.style.li
    - botocore.utils._parse_timestamp_with_tzinfo
    - method_intro_section.write
    - return_section.add_new_section
    - path.pop
    - <builtin>.str
    - botocore.docs.shape.ShapeDocumenter.__init__
    - parameter_names.remove
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_number
    - input_section.style.start_codeblock
    - botocore.docs.utils.escape_controls
    - input_section.write
    - container_section.add_new_section
    - logger.debug
    - section.style.start_codeblock
    - operation_model.get_event_stream_output
    - event_section.style.new_line
    - operation_model.get_streaming_output
    - <builtin>.enumerate
    - method_intro_section.style.start_danger
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_dict
    - operation_model.get_streaming_input
    - item_section.style.new_line
    - output_section.add_new_section
    - list_section.add_new_section
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - botocore.docs.sharedexample.SharedExampleDocumenter._document
    - botocore.docs.method.document_model_driven_method
    - return_example_section.style.new_paragraph
    - dateutil.parser.parse
    - params.keys
    - history.pop
    - return_section.style.indent
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_params
    - <builtin>.range
    - example_section.style.start_codeblock
    - return_example_section.style.new_line
    - section.add_new_section
    - method_intro_section.style.end_danger
    - <builtin>.len
    - <builtin>.isinstance
    - output_section.write
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - section.context.get
    - botocore.docs.method.document_model_driven_signature
    - closing_section.style.end_codeblock
    - parameter_names.append
    - method_intro_section.style.external_link
    - section.style.new_line
    - <builtin>.getattr
    - output_section.style.start_codeblock
    - section.style.indent
    - container_section.style.bold
    - <builtin>.float
    - return_section.style.new_line
    - botocore.docs.sharedexample.SharedExampleDocumenter._start_nested_value
    - error_section.style.new_line
    - botocore.docs.sharedexample.document_shared_examples
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_input
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_str
    - section.style.new_paragraph
    - botocore.utils.parse_timestamp
    - container_section.style.new_paragraph
    - section.style.start_sphinx_py_method
    - return_description_section.style.new_line
    - example_section.style.new_paragraph
    - method_intro_section.writeln
    - botocore.docs.client.ClientDocumenter._add_method_exceptions_list
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_shared_example
    - dict_section.add_new_section
    - method_intro_section.include_doc_string
    - _ESCAPE_CONTROLS_RE.sub
    - re.sub
    - param_section.add_new_section
    - return_example_section.style.bold
    - return_description_section.style.new_paragraph
    - path.append
    - method_intro_section.style.new_paragraph
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_datetime
    - item_section.write
    - return_section.write
    - event_section.write
    - botocore.docs.sharedexample.SharedExampleDocumenter._end_nested_value
    - example.get
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - output_section.style.new_line
    - operation_model.service_model.metadata.get
    - dict_section_end.write
    - shape.members.get
    - section.style.dedent
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - section
    - operation_model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 170
    functionName: botocore.docs.client.ClientDocumenter._add_method_exceptions_list
    functionSourceFile: botocore.docs.client
    functionUses: 7
    functionsReached:
    - error_section.style.bold
    - error_section.style.li
    - section.add_new_section
    - error_section.style.new_line
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: error_section.style.new_line
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: error_section.style.bold
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: error_section.style.li
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 4
    argNames:
    - section
    - operation_model
    - example_prefix
    - shared_examples
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 204
    functionName: botocore.docs.sharedexample.document_shared_examples
    functionSourceFile: botocore.docs.sharedexample
    functionUses: 7
    functionsReached:
    - <builtin>.len
    - output_section.write
    - <builtin>.isinstance
    - closing_section.style.new_line
    - logger.debug
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_shared_example
    - dict_section.add_new_section
    - closing_section.write
    - <builtin>.enumerate
    - section.write
    - closing_section.style.end_codeblock
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_dict
    - section.style.new_line
    - input_section.add_new_section
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_output
    - comments.get
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_list
    - output_section.style.start_codeblock
    - section.style.indent
    - _ESCAPE_CONTROLS_RE.sub
    - re.sub
    - container_section.style.bold
    - output_section.add_new_section
    - item_section.style.new_line
    - botocore.docs.sharedexample.SharedExampleDocumenter._get_comment
    - list_section.add_new_section
    - value.items
    - param_section.add_new_section
    - <builtin>.float
    - botocore.docs.sharedexample.SharedExampleDocumenter._start_nested_value
    - datetime.datetime.fromtimestamp
    - path.append
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_datetime
    - item_section.write
    - botocore.docs.sharedexample.SharedExampleDocumenter._document
    - botocore.utils._parse_timestamp_with_tzinfo
    - botocore.docs.sharedexample.SharedExampleDocumenter._end_nested_value
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_input
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_str
    - example.get
    - path.pop
    - section.style.new_paragraph
    - <builtin>.str
    - dateutil.parser.parse
    - botocore.utils.parse_timestamp
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_number
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_params
    - input_section.style.start_codeblock
    - output_section.style.new_line
    - <builtin>.range
    - botocore.docs.utils.escape_controls
    - dict_section_end.write
    - container_section.style.new_paragraph
    - input_section.write
    - shape.members.get
    - section.add_new_section
    - container_section.add_new_section
    - section.style.dedent
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.docs.client.ClientExceptionsDocumenter
    functionSourceFile: botocore.docs.client
    functionUses: 0
    functionsReached:
    - collections.namedtuple.__init__
    - collections.OrderedDict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 259
    functionName: botocore.docs.client.ClientExceptionsDocumenter._add_title
    functionSourceFile: botocore.docs.client
    functionUses: 4
    functionsReached:
    - section.style.h2
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 262
    functionName: botocore.docs.client.ClientExceptionsDocumenter._add_overview
    functionSourceFile: botocore.docs.client
    functionUses: 4
    functionsReached:
    - section.write
    - section.style.new_line
    - section.style.external_link
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 7
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 280
    functionName: botocore.docs.client.ClientExceptionsDocumenter._add_exceptions_list
    functionSourceFile: botocore.docs.client
    functionUses: 4
    functionsReached:
    - section.style.new_line
    - section.style.toctree
    - section.write
    - section.writeln
    - section.style.tocitem
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 295
    functionName: botocore.docs.client.ClientExceptionsDocumenter._add_exception_classes
    functionSourceFile: botocore.docs.client
    functionUses: 4
    functionsReached:
    - <builtin>.len
    - section.style.start_codeblock
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - os.path.exists
    - botocore.docs.bcdoc.restdoc.DocumentStructure.flush_structure
    - history.append
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - collections.OrderedDict.items
    - DOCUMENTATION_LINK_REGEX.search
    - value.splitlines
    - breadcrumb_section.style.ref
    - section.write
    - collections.OrderedDict
    - LARGE_SECTION_MESSAGE.format
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    - section.style.new_line
    - <builtin>.getattr
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_title_section
    - botocore.docs.client.ClientExceptionsDocumenter._add_top_level_documentation
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_attr
    - params_section.style.new_line
    - section.style.indent
    - f.write
    - breadcrumb_section.write
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - example_section.style.bold
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_attr_description
    - final_blank_line_section.style.new_line
    - botocore.docs.client.ClientExceptionsDocumenter._add_exception_catch_example
    - section.style.end_codeblock
    - section.include_doc_string
    - botocore.docs.client.ClientExceptionsDocumenter._add_exception_class
    - section.style.bold
    - response_section.style.start_sphinx_py_attr
    - botocore.docs.bcdoc.style.ReSTStyle.link_target_definition
    - SECTION_LINE_LIMIT_CONFIG.get
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_params
    - <builtin>.open
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.hasattr
    - <builtin>.super
    - example_section.style.new_line
    - response_section.style.end_sphinx_py_attr
    - botocore.docs.bcdoc.restdoc.DocumentStructure.getvalue
    - botocore.docs.bcdoc.restdoc.DocumentStructure._generate_structure
    - botocore.docs.bcdoc.restdoc.DocumentStructure.__init__
    - docs_link.decode
    - section.add_new_section
    - SECTION_METHOD_PATH_DEPTH.get
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - section.flush_structure
    - os.path.join
    - botocore.docs.shape.ShapeDocumenter.__init__
    - params_section.style.new_paragraph
    - history.pop
    - class_section.style.start_sphinx_py_class
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_example
    - title_section.style.h1
    - match.group
    - value.decode
    - params_section.style.bold
    - class_section.style.end_sphinx_py_class
    - os.makedirs
    - botocore.docs.client.ClientExceptionsDocumenter._exception_class_name
    - botocore.docs.bcdoc.restdoc.DocumentStructure.write_to_file
    - section.style.dedent
    - example_section.style.new_paragraph
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - shape
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 277
    functionName: botocore.docs.client.ClientExceptionsDocumenter._exception_class_name
    functionSourceFile: botocore.docs.client
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 8
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - section
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 314
    functionName: botocore.docs.client.ClientExceptionsDocumenter._add_exception_class
    functionSourceFile: botocore.docs.client
    functionUses: 5
    functionsReached:
    - <builtin>.len
    - section.style.start_codeblock
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - history.append
    - breadcrumb_section.style.ref
    - section.write
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    - section.style.new_line
    - <builtin>.getattr
    - botocore.docs.client.ClientExceptionsDocumenter._add_top_level_documentation
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_title_section
    - params_section.style.new_line
    - section.style.indent
    - breadcrumb_section.write
    - example_section.style.bold
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_attr_description
    - final_blank_line_section.style.new_line
    - botocore.docs.client.ClientExceptionsDocumenter._add_exception_catch_example
    - section.style.end_codeblock
    - section.include_doc_string
    - section.style.bold
    - response_section.style.start_sphinx_py_attr
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_params
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.hasattr
    - example_section.style.new_line
    - response_section.style.end_sphinx_py_attr
    - section.add_new_section
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - botocore.docs.client.ClientExceptionsDocumenter._exception_class_name
    - params_section.style.new_paragraph
    - botocore.docs.shape.ShapeDocumenter.__init__
    - history.pop
    - class_section.style.start_sphinx_py_class
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_example
    - title_section.style.h1
    - params_section.style.bold
    - class_section.style.end_sphinx_py_class
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_attr
    - section.style.dedent
    - example_section.style.new_paragraph
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: class_section.style.start_sphinx_py_class
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - section
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 329
    functionName: botocore.docs.client.ClientExceptionsDocumenter._add_top_level_documentation
    functionSourceFile: botocore.docs.client
    functionUses: 6
    functionsReached:
    - section.include_doc_string
    - section.style.new_line
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 15
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - section
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 335
    functionName: botocore.docs.client.ClientExceptionsDocumenter._add_exception_catch_example
    functionSourceFile: botocore.docs.client
    functionUses: 6
    functionsReached:
    - section.style.new_line
    - section.style.start_codeblock
    - section.style.indent
    - section.write
    - section.style.end_codeblock
    - section.style.dedent
    - section.style.bold
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - section
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 352
    functionName: botocore.docs.client.ClientExceptionsDocumenter._add_response_attr
    functionSourceFile: botocore.docs.client
    functionUses: 6
    functionsReached:
    - <builtin>.len
    - section.style.start_codeblock
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - history.append
    - section.write
    - section.style.new_line
    - <builtin>.getattr
    - params_section.style.new_line
    - example_section.style.bold
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_attr_description
    - final_blank_line_section.style.new_line
    - section.include_doc_string
    - response_section.style.start_sphinx_py_attr
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_params
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.hasattr
    - example_section.style.new_line
    - response_section.style.end_sphinx_py_attr
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - params_section.style.new_paragraph
    - botocore.docs.shape.ShapeDocumenter.__init__
    - history.pop
    - botocore.docs.client.ClientExceptionsDocumenter._add_response_example
    - params_section.style.bold
    - section.add_new_section
    - example_section.style.new_paragraph
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: class_section.style.end_sphinx_py_class
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.style.bold
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: response_section.style.start_sphinx_py_attr
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 360
    functionName: botocore.docs.client.ClientExceptionsDocumenter._add_response_attr_description
    functionSourceFile: botocore.docs.client
    functionUses: 7
    functionsReached:
    - section.include_doc_string
    - section.style.new_line
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - section
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 370
    functionName: botocore.docs.client.ClientExceptionsDocumenter._add_response_example
    functionSourceFile: botocore.docs.client
    functionUses: 7
    functionsReached:
    - <builtin>.len
    - section.style.new_line
    - botocore.docs.shape.ShapeDocumenter.__init__
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - <builtin>.getattr
    - section.style.start_codeblock
    - history.append
    - history.pop
    - <builtin>.hasattr
    - example_section.style.bold
    - example_section.style.new_line
    - final_blank_line_section.style.new_line
    - section.write
    - section.add_new_section
    - example_section.style.new_paragraph
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - section
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 386
    functionName: botocore.docs.client.ClientExceptionsDocumenter._add_response_params
    functionSourceFile: botocore.docs.client
    functionUses: 7
    functionsReached:
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - params_section.style.new_paragraph
    - <builtin>.len
    - botocore.docs.shape.ShapeDocumenter.__init__
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.getattr
    - history.append
    - history.pop
    - <builtin>.hasattr
    - params_section.style.new_line
    - params_section.style.bold
    - section.add_new_section
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: response_section.style.end_sphinx_py_attr
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: example_section.style.new_line
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: params_section.style.new_line
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: params_section.style.bold
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: params_section.style.new_paragraph
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.docs.sharedexample
    functionSourceFile: botocore.docs.sharedexample
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - example
    - prefix
    - section
    - operation_model
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 21
    functionName: botocore.docs.sharedexample.SharedExampleDocumenter.document_shared_example
    functionSourceFile: botocore.docs.sharedexample
    functionUses: 8
    functionsReached:
    - <builtin>.len
    - output_section.write
    - <builtin>.isinstance
    - closing_section.style.new_line
    - logger.debug
    - dict_section.add_new_section
    - closing_section.write
    - <builtin>.enumerate
    - section.write
    - closing_section.style.end_codeblock
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_dict
    - section.style.new_line
    - input_section.add_new_section
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_output
    - comments.get
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_list
    - output_section.style.start_codeblock
    - section.style.indent
    - _ESCAPE_CONTROLS_RE.sub
    - re.sub
    - output_section.add_new_section
    - item_section.style.new_line
    - botocore.docs.sharedexample.SharedExampleDocumenter._get_comment
    - list_section.add_new_section
    - value.items
    - param_section.add_new_section
    - <builtin>.float
    - botocore.docs.sharedexample.SharedExampleDocumenter._start_nested_value
    - datetime.datetime.fromtimestamp
    - path.append
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_datetime
    - item_section.write
    - botocore.docs.sharedexample.SharedExampleDocumenter._document
    - botocore.utils._parse_timestamp_with_tzinfo
    - botocore.docs.sharedexample.SharedExampleDocumenter._end_nested_value
    - botocore.docs.sharedexample.SharedExampleDocumenter.document_input
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_str
    - example.get
    - path.pop
    - section.style.new_paragraph
    - <builtin>.str
    - dateutil.parser.parse
    - botocore.utils.parse_timestamp
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_number
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_params
    - input_section.style.start_codeblock
    - output_section.style.new_line
    - <builtin>.range
    - botocore.docs.utils.escape_controls
    - dict_section_end.write
    - input_section.write
    - shape.members.get
    - section.add_new_section
    - section.style.dedent
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: example.get
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    IfCount: 2
    argCount: 5
    argNames:
    - self
    - section
    - example
    - prefix
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 42
    functionName: botocore.docs.sharedexample.SharedExampleDocumenter.document_input
    functionSourceFile: botocore.docs.sharedexample
    functionUses: 9
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - closing_section.style.new_line
    - logger.debug
    - dict_section.add_new_section
    - closing_section.write
    - <builtin>.enumerate
    - section.write
    - closing_section.style.end_codeblock
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_dict
    - input_section.add_new_section
    - section.style.new_line
    - comments.get
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_list
    - section.style.indent
    - _ESCAPE_CONTROLS_RE.sub
    - re.sub
    - item_section.style.new_line
    - botocore.docs.sharedexample.SharedExampleDocumenter._get_comment
    - list_section.add_new_section
    - value.items
    - param_section.add_new_section
    - <builtin>.float
    - botocore.docs.sharedexample.SharedExampleDocumenter._start_nested_value
    - datetime.datetime.fromtimestamp
    - path.append
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_datetime
    - item_section.write
    - botocore.docs.sharedexample.SharedExampleDocumenter._document
    - botocore.utils._parse_timestamp_with_tzinfo
    - botocore.docs.sharedexample.SharedExampleDocumenter._end_nested_value
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_str
    - example.get
    - path.pop
    - dateutil.parser.parse
    - <builtin>.str
    - botocore.utils.parse_timestamp
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_number
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_params
    - input_section.style.start_codeblock
    - <builtin>.range
    - botocore.docs.utils.escape_controls
    - dict_section_end.write
    - input_section.write
    - shape.members.get
    - section.add_new_section
    - section.style.dedent
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - section
    - example
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 59
    functionName: botocore.docs.sharedexample.SharedExampleDocumenter.document_output
    functionSourceFile: botocore.docs.sharedexample
    functionUses: 9
    functionsReached:
    - <builtin>.len
    - output_section.write
    - <builtin>.isinstance
    - logger.debug
    - dict_section.add_new_section
    - <builtin>.enumerate
    - section.write
    - closing_section.style.end_codeblock
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_dict
    - section.style.new_line
    - comments.get
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_list
    - output_section.style.start_codeblock
    - section.style.indent
    - _ESCAPE_CONTROLS_RE.sub
    - re.sub
    - output_section.add_new_section
    - item_section.style.new_line
    - botocore.docs.sharedexample.SharedExampleDocumenter._get_comment
    - list_section.add_new_section
    - value.items
    - <builtin>.float
    - botocore.docs.sharedexample.SharedExampleDocumenter._start_nested_value
    - datetime.datetime.fromtimestamp
    - path.append
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_datetime
    - item_section.write
    - botocore.docs.sharedexample.SharedExampleDocumenter._document
    - botocore.utils._parse_timestamp_with_tzinfo
    - botocore.docs.sharedexample.SharedExampleDocumenter._end_nested_value
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_str
    - example.get
    - <builtin>.str
    - path.pop
    - dateutil.parser.parse
    - botocore.utils.parse_timestamp
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_number
    - output_section.style.new_line
    - <builtin>.range
    - botocore.docs.utils.escape_controls
    - dict_section_end.write
    - shape.members.get
    - section.add_new_section
    - section.style.dedent
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: input_section.style.start_codeblock
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: input_section.write
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: comments.get
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: input_section.add_new_section
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    IfCount: 2
    argCount: 6
    argNames:
    - self
    - section
    - value
    - comments
    - path
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 130
    functionName: botocore.docs.sharedexample.SharedExampleDocumenter._document_params
    functionSourceFile: botocore.docs.sharedexample
    functionUses: 10
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - logger.debug
    - dict_section.add_new_section
    - <builtin>.enumerate
    - section.write
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_dict
    - section.style.new_line
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_list
    - section.style.indent
    - _ESCAPE_CONTROLS_RE.sub
    - re.sub
    - item_section.style.new_line
    - botocore.docs.sharedexample.SharedExampleDocumenter._get_comment
    - list_section.add_new_section
    - value.items
    - param_section.add_new_section
    - <builtin>.float
    - botocore.docs.sharedexample.SharedExampleDocumenter._start_nested_value
    - datetime.datetime.fromtimestamp
    - path.append
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_datetime
    - item_section.write
    - botocore.docs.sharedexample.SharedExampleDocumenter._document
    - botocore.utils._parse_timestamp_with_tzinfo
    - botocore.docs.sharedexample.SharedExampleDocumenter._end_nested_value
    - section.style.dedent
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_str
    - path.pop
    - dateutil.parser.parse
    - <builtin>.str
    - botocore.utils.parse_timestamp
    - <builtin>.range
    - botocore.docs.utils.escape_controls
    - dict_section_end.write
    - shape.members.get
    - section.add_new_section
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_number
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: closing_section.style.new_line
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: closing_section.write
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: closing_section.style.end_codeblock
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: output_section.style.new_line
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: output_section.write
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: output_section.style.start_codeblock
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 10
    IfCount: 5
    argCount: 7
    argNames:
    - self
    - section
    - value
    - comments
    - path
    - shape
    - top_level
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 101
    functionName: botocore.docs.sharedexample.SharedExampleDocumenter._document_dict
    functionSourceFile: botocore.docs.sharedexample
    functionUses: 14
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - logger.debug
    - dict_section.add_new_section
    - <builtin>.enumerate
    - section.write
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_dict
    - section.style.new_line
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_list
    - section.style.indent
    - re.sub
    - _ESCAPE_CONTROLS_RE.sub
    - item_section.style.new_line
    - botocore.docs.sharedexample.SharedExampleDocumenter._get_comment
    - list_section.add_new_section
    - value.items
    - <builtin>.float
    - botocore.docs.sharedexample.SharedExampleDocumenter._start_nested_value
    - datetime.datetime.fromtimestamp
    - path.append
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_datetime
    - item_section.write
    - botocore.docs.sharedexample.SharedExampleDocumenter._document
    - botocore.utils._parse_timestamp_with_tzinfo
    - botocore.docs.sharedexample.SharedExampleDocumenter._end_nested_value
    - section.style.dedent
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_str
    - path.pop
    - dateutil.parser.parse
    - <builtin>.str
    - botocore.utils.parse_timestamp
    - <builtin>.range
    - botocore.docs.utils.escape_controls
    - dict_section_end.write
    - shape.members.get
    - section.add_new_section
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_number
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: output_section.add_new_section
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 6
    argNames:
    - self
    - section
    - value
    - comments
    - path
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 76
    functionName: botocore.docs.sharedexample.SharedExampleDocumenter._document
    functionSourceFile: botocore.docs.sharedexample
    functionUses: 14
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - logger.debug
    - dict_section.add_new_section
    - <builtin>.enumerate
    - section.write
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_dict
    - section.style.new_line
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_list
    - section.style.indent
    - _ESCAPE_CONTROLS_RE.sub
    - re.sub
    - item_section.style.new_line
    - botocore.docs.sharedexample.SharedExampleDocumenter._get_comment
    - list_section.add_new_section
    - value.items
    - <builtin>.float
    - botocore.docs.sharedexample.SharedExampleDocumenter._start_nested_value
    - datetime.datetime.fromtimestamp
    - path.append
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_datetime
    - item_section.write
    - botocore.docs.sharedexample.SharedExampleDocumenter._document
    - botocore.utils._parse_timestamp_with_tzinfo
    - botocore.docs.sharedexample.SharedExampleDocumenter._end_nested_value
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_str
    - path.pop
    - dateutil.parser.parse
    - <builtin>.str
    - botocore.utils.parse_timestamp
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_number
    - <builtin>.range
    - botocore.docs.utils.escape_controls
    - dict_section_end.write
    - shape.members.get
    - section.add_new_section
    - section.style.dedent
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 8
    IfCount: 1
    argCount: 6
    argNames:
    - self
    - section
    - value
    - comments
    - path
    - shape
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 152
    functionName: botocore.docs.sharedexample.SharedExampleDocumenter._document_list
    functionSourceFile: botocore.docs.sharedexample
    functionUses: 14
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - logger.debug
    - dict_section.add_new_section
    - <builtin>.enumerate
    - section.write
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_dict
    - section.style.new_line
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_list
    - section.style.indent
    - _ESCAPE_CONTROLS_RE.sub
    - re.sub
    - item_section.style.new_line
    - botocore.docs.sharedexample.SharedExampleDocumenter._get_comment
    - list_section.add_new_section
    - value.items
    - <builtin>.float
    - botocore.docs.sharedexample.SharedExampleDocumenter._start_nested_value
    - datetime.datetime.fromtimestamp
    - path.append
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_datetime
    - item_section.write
    - botocore.docs.sharedexample.SharedExampleDocumenter._document
    - botocore.utils._parse_timestamp_with_tzinfo
    - botocore.docs.sharedexample.SharedExampleDocumenter._end_nested_value
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_str
    - path.pop
    - dateutil.parser.parse
    - <builtin>.str
    - botocore.utils.parse_timestamp
    - botocore.docs.sharedexample.SharedExampleDocumenter._document_number
    - <builtin>.range
    - botocore.docs.utils.escape_controls
    - dict_section_end.write
    - shape.members.get
    - section.add_new_section
    - section.style.dedent
    - botocore.compat.get_tzinfo_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - section
    - value
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 175
    functionName: botocore.docs.sharedexample.SharedExampleDocumenter._document_number
    functionSourceFile: botocore.docs.sharedexample
    functionUses: 15
    functionsReached:
    - section.write
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - section
    - value
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 178
    functionName: botocore.docs.sharedexample.SharedExampleDocumenter._document_datetime
    functionSourceFile: botocore.docs.sharedexample
    functionUses: 15
    functionsReached:
    - <builtin>.len
    - dateutil.parser.parse
    - logger.debug
    - <builtin>.isinstance
    - botocore.utils.parse_timestamp
    - datetime.datetime.fromtimestamp
    - botocore.compat.get_tzinfo_options
    - botocore.utils._parse_timestamp_with_tzinfo
    - <builtin>.range
    - <builtin>.float
    - section.write
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - section
    - value
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 169
    functionName: botocore.docs.sharedexample.SharedExampleDocumenter._document_str
    functionSourceFile: botocore.docs.sharedexample
    functionUses: 15
    functionsReached:
    - section.write
    - _ESCAPE_CONTROLS_RE.sub
    - botocore.docs.utils.escape_controls
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - section
    - start
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 192
    functionName: botocore.docs.sharedexample.SharedExampleDocumenter._start_nested_value
    functionSourceFile: botocore.docs.sharedexample
    functionUses: 15
    functionsReached:
    - section.write
    - section.style.indent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: path.append
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dict_section.add_new_section
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: item_section.style.new_line
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - path
    - comments
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 185
    functionName: botocore.docs.sharedexample.SharedExampleDocumenter._get_comment
    functionSourceFile: botocore.docs.sharedexample
    functionUses: 15
    functionsReached:
    - re.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: item_section.write
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: path.pop
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - section
    - end
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 197
    functionName: botocore.docs.sharedexample.SharedExampleDocumenter._end_nested_value
    functionSourceFile: botocore.docs.sharedexample
    functionUses: 15
    functionsReached:
    - section.write
    - section.style.new_line
    - section.style.dedent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dict_section_end.write
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: container_section.style.new_paragraph
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: container_section.style.bold
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: container_section.add_new_section
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.docs.waiter
    functionSourceFile: botocore.docs.waiter
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 89
    functionName: botocore.docs.waiter.WaiterDocumenter._add_overview
    functionSourceFile: botocore.docs.waiter
    functionUses: 4
    functionsReached:
    - section.write
    - section.style.new_line
    - section.style.external_link
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 10
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - section
    - waiter_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 59
    functionName: botocore.docs.waiter.WaiterDocumenter._add_single_waiter
    functionSourceFile: botocore.docs.waiter
    functionUses: 4
    functionsReached:
    - <builtin>.len
    - botocore.xform_name
    - method_intro_section.writeln
    - method_intro_section.style.end_danger
    - example_section.write
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - section.style.start_codeblock
    - history.append
    - service_model.metadata.get
    - operation_model.get_event_stream_output
    - event_section.style.new_line
    - operation_model.get_streaming_output
    - breadcrumb_section.style.ref
    - botocore.docs.method.document_model_driven_signature
    - service_model.operation_model
    - method_intro_section.include_doc_string
    - event_section.style.new_paragraph
    - section.write
    - collections.OrderedDict
    - method_intro_section.style.start_danger
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    - return_description_section.style.bold
    - parameter_names.append
    - method_intro_section.style.external_link
    - matched.lower
    - section.style.new_line
    - <builtin>.getattr
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_title_section
    - botocore.utils.get_service_module_name
    - return_description_section.style.new_line
    - operation_model.get_streaming_input
    - breadcrumb_section.write
    - botocore.docs.waiter.document_wait_method
    - re.sub
    - waiter_section.write
    - example_section.style.bold
    - final_blank_line_section.style.new_line
    - name.replace
    - <builtin>.list
    - waiter_section.style.new_line
    - service_waiter_model.get_waiter
    - is_special.group
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - return_section.style.new_line
    - return_example_section.style.bold
    - <builtin>.hasattr
    - return_description_section.style.new_paragraph
    - method_intro_section.style.new_paragraph
    - section.style.start_sphinx_py_method
    - botocore.docs.method.document_model_driven_method
    - return_section.write
    - event_section.write
    - _special_case_transform.search
    - method_intro_section.write
    - return_section.add_new_section
    - return_example_section.style.new_paragraph
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - waiter_section.style.start_codeblock
    - waiter_section.style.start_sphinx_py_class
    - _end_cap_regex.sub
    - params.keys
    - botocore.docs.shape.ShapeDocumenter.__init__
    - parameter_names.remove
    - history.pop
    - waiter_section.style.end_codeblock
    - return_section.style.indent
    - title_section.style.h1
    - collections.namedtuple.__init__
    - operation_model.service_model.metadata.get
    - example_section.style.start_codeblock
    - _first_cap_regex.sub
    - return_example_section.style.new_line
    - section.add_new_section
    - example_section.style.new_paragraph
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: waiter_section.style.start_sphinx_py_class
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: waiter_section.style.start_codeblock
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: waiter_section.style.new_line
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: waiter_section.write
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: waiter_section.style.end_codeblock
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 6
    argNames:
    - section
    - waiter_name
    - event_emitter
    - service_model
    - service_waiter_model
    - include_signature
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 105
    functionName: botocore.docs.waiter.document_wait_method
    functionSourceFile: botocore.docs.waiter
    functionUses: 10
    functionsReached:
    - <builtin>.len
    - botocore.xform_name
    - method_intro_section.writeln
    - method_intro_section.style.end_danger
    - example_section.write
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - section.style.start_codeblock
    - history.append
    - service_model.metadata.get
    - operation_model.get_event_stream_output
    - event_section.style.new_line
    - operation_model.get_streaming_output
    - botocore.docs.method.document_model_driven_signature
    - service_model.operation_model
    - method_intro_section.include_doc_string
    - event_section.style.new_paragraph
    - section.write
    - collections.OrderedDict
    - method_intro_section.style.start_danger
    - return_description_section.style.bold
    - parameter_names.append
    - method_intro_section.style.external_link
    - matched.lower
    - section.style.new_line
    - <builtin>.getattr
    - botocore.utils.get_service_module_name
    - return_description_section.style.new_line
    - operation_model.get_streaming_input
    - re.sub
    - example_section.style.bold
    - final_blank_line_section.style.new_line
    - name.replace
    - <builtin>.list
    - service_waiter_model.get_waiter
    - is_special.group
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - return_section.style.new_line
    - return_example_section.style.bold
    - <builtin>.hasattr
    - return_description_section.style.new_paragraph
    - method_intro_section.style.new_paragraph
    - section.style.start_sphinx_py_method
    - botocore.docs.method.document_model_driven_method
    - return_section.write
    - event_section.write
    - _special_case_transform.search
    - method_intro_section.write
    - return_section.add_new_section
    - return_example_section.style.new_paragraph
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - params.keys
    - _end_cap_regex.sub
    - botocore.docs.shape.ShapeDocumenter.__init__
    - parameter_names.remove
    - history.pop
    - return_section.style.indent
    - collections.namedtuple.__init__
    - operation_model.service_model.metadata.get
    - example_section.style.start_codeblock
    - _first_cap_regex.sub
    - return_example_section.style.new_line
    - section.add_new_section
    - example_section.style.new_paragraph
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: service_waiter_model.get_waiter
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.docs.docstring
    functionSourceFile: botocore.docs.docstring
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - cls
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 39
    functionName: botocore.docs.docstring.LazyLoadedDocstring.__new__
    functionSourceFile: botocore.docs.docstring
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 43
    functionName: botocore.docs.docstring.LazyLoadedDocstring._write_docstring
    functionSourceFile: botocore.docs.docstring
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - tabsize
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 49
    functionName: botocore.docs.docstring.LazyLoadedDocstring.expandtabs
    functionSourceFile: botocore.docs.docstring
    functionUses: 0
    functionsReached:
    - example_section.write
    - history.append
    - botocore.docs.paginator.document_paginate_method
    - service_model.metadata.get
    - botocore.docs.docstring.LazyLoadedDocstring._create_docstring
    - service_model.operation_model
    - event_section.style.new_paragraph
    - section.write
    - collections.OrderedDict
    - return_description_section.style.bold
    - example_section.style.bold
    - final_blank_line_section.style.new_line
    - name.replace
    - <builtin>.list
    - service_pagination_response_params.append
    - SECTION_LINE_LIMIT_CONFIG.get
    - is_special.group
    - botocore.docs.docstring.PaginatorDocstring._write_docstring
    - <builtin>.hasattr
    - _special_case_transform.search
    - docs_link.decode
    - method_intro_section.write
    - return_section.add_new_section
    - botocore.docs.shape.ShapeDocumenter.__init__
    - parameter_names.remove
    - section.style.start_codeblock
    - operation_model.get_event_stream_output
    - collections.OrderedDict.items
    - event_section.style.new_line
    - operation_model.get_streaming_output
    - method_intro_section.style.start_danger
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    - matched.lower
    - paginator_config.get
    - botocore.utils.get_service_module_name
    - operation_model.get_streaming_input
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.super
    - botocore.docs.method.document_model_driven_method
    - botocore.docs.bcdoc.restdoc.DocumentStructure._generate_structure
    - return_example_section.style.new_paragraph
    - params.keys
    - _end_cap_regex.sub
    - history.pop
    - return_section.style.indent
    - example_section.style.start_codeblock
    - _first_cap_regex.sub
    - return_example_section.style.new_line
    - section.add_new_section
    - <builtin>.len
    - botocore.xform_name
    - <builtin>.isinstance
    - method_intro_section.style.end_danger
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - botocore.docs.docstring.ClientMethodDocstring._write_docstring
    - DOCUMENTATION_LINK_REGEX.search
    - value.splitlines
    - botocore.docs.method.document_model_driven_signature
    - parameter_names.append
    - method_intro_section.style.external_link
    - section.style.new_line
    - <builtin>.getattr
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - service_waiter_model.get_waiter
    - return_section.style.new_line
    - botocore.docs.docstring.WaiterDocstring._write_docstring
    - botocore.docs.bcdoc.restdoc.DocumentStructure.__init__
    - botocore.docs.docstring.LazyLoadedDocstring._generate
    - match.group
    - collections.namedtuple.__init__
    - botocore.docs.docstring.LazyLoadedDocstring._write_docstring
    - section.style.start_sphinx_py_method
    - return_description_section.style.new_line
    - example_section.style.new_paragraph
    - method_intro_section.writeln
    - botocore.docs.bcdoc.restdoc.DocumentStructure.flush_structure
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - method_intro_section.include_doc_string
    - LARGE_SECTION_MESSAGE.format
    - re.sub
    - botocore.docs.waiter.document_wait_method
    - botocore.docs.bcdoc.style.ReSTStyle.link_target_definition
    - return_example_section.style.bold
    - return_description_section.style.new_paragraph
    - method_intro_section.style.new_paragraph
    - return_section.write
    - event_section.write
    - botocore.docs.bcdoc.restdoc.DocumentStructure.getvalue
    - service_pagination_params.append
    - SECTION_METHOD_PATH_DEPTH.get
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - section.flush_structure
    - operation_model.service_model.metadata.get
    - value.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 69
    functionName: botocore.docs.docstring.LazyLoadedDocstring._generate
    functionSourceFile: botocore.docs.docstring
    functionUses: 2
    functionsReached:
    - example_section.write
    - history.append
    - botocore.docs.paginator.document_paginate_method
    - service_model.metadata.get
    - botocore.docs.docstring.LazyLoadedDocstring._create_docstring
    - service_model.operation_model
    - event_section.style.new_paragraph
    - section.write
    - collections.OrderedDict
    - return_description_section.style.bold
    - example_section.style.bold
    - final_blank_line_section.style.new_line
    - name.replace
    - <builtin>.list
    - service_pagination_response_params.append
    - SECTION_LINE_LIMIT_CONFIG.get
    - is_special.group
    - botocore.docs.docstring.PaginatorDocstring._write_docstring
    - <builtin>.hasattr
    - _special_case_transform.search
    - docs_link.decode
    - method_intro_section.write
    - return_section.add_new_section
    - botocore.docs.shape.ShapeDocumenter.__init__
    - parameter_names.remove
    - section.style.start_codeblock
    - operation_model.get_event_stream_output
    - collections.OrderedDict.items
    - event_section.style.new_line
    - operation_model.get_streaming_output
    - method_intro_section.style.start_danger
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    - matched.lower
    - paginator_config.get
    - botocore.utils.get_service_module_name
    - operation_model.get_streaming_input
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.super
    - botocore.docs.method.document_model_driven_method
    - botocore.docs.bcdoc.restdoc.DocumentStructure._generate_structure
    - return_example_section.style.new_paragraph
    - params.keys
    - _end_cap_regex.sub
    - history.pop
    - return_section.style.indent
    - example_section.style.start_codeblock
    - _first_cap_regex.sub
    - return_example_section.style.new_line
    - section.add_new_section
    - <builtin>.len
    - botocore.xform_name
    - <builtin>.isinstance
    - method_intro_section.style.end_danger
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - botocore.docs.docstring.ClientMethodDocstring._write_docstring
    - DOCUMENTATION_LINK_REGEX.search
    - value.splitlines
    - botocore.docs.method.document_model_driven_signature
    - parameter_names.append
    - method_intro_section.style.external_link
    - section.style.new_line
    - <builtin>.getattr
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - service_waiter_model.get_waiter
    - return_section.style.new_line
    - botocore.docs.docstring.WaiterDocstring._write_docstring
    - botocore.docs.bcdoc.restdoc.DocumentStructure.__init__
    - match.group
    - collections.namedtuple.__init__
    - botocore.docs.docstring.LazyLoadedDocstring._write_docstring
    - section.style.start_sphinx_py_method
    - return_description_section.style.new_line
    - example_section.style.new_paragraph
    - method_intro_section.writeln
    - botocore.docs.bcdoc.restdoc.DocumentStructure.flush_structure
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - method_intro_section.include_doc_string
    - LARGE_SECTION_MESSAGE.format
    - re.sub
    - botocore.docs.waiter.document_wait_method
    - botocore.docs.bcdoc.style.ReSTStyle.link_target_definition
    - return_example_section.style.bold
    - return_description_section.style.new_paragraph
    - method_intro_section.style.new_paragraph
    - return_section.write
    - event_section.write
    - botocore.docs.bcdoc.restdoc.DocumentStructure.getvalue
    - service_pagination_params.append
    - SECTION_METHOD_PATH_DEPTH.get
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - section.flush_structure
    - operation_model.service_model.metadata.get
    - value.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 63
    functionName: botocore.docs.docstring.LazyLoadedDocstring.__str__
    functionSourceFile: botocore.docs.docstring
    functionUses: 0
    functionsReached:
    - example_section.write
    - history.append
    - botocore.docs.paginator.document_paginate_method
    - service_model.metadata.get
    - botocore.docs.docstring.LazyLoadedDocstring._create_docstring
    - service_model.operation_model
    - event_section.style.new_paragraph
    - section.write
    - collections.OrderedDict
    - return_description_section.style.bold
    - example_section.style.bold
    - final_blank_line_section.style.new_line
    - name.replace
    - <builtin>.list
    - service_pagination_response_params.append
    - SECTION_LINE_LIMIT_CONFIG.get
    - is_special.group
    - botocore.docs.docstring.PaginatorDocstring._write_docstring
    - <builtin>.hasattr
    - _special_case_transform.search
    - docs_link.decode
    - method_intro_section.write
    - return_section.add_new_section
    - botocore.docs.shape.ShapeDocumenter.__init__
    - parameter_names.remove
    - section.style.start_codeblock
    - operation_model.get_event_stream_output
    - collections.OrderedDict.items
    - event_section.style.new_line
    - operation_model.get_streaming_output
    - method_intro_section.style.start_danger
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    - matched.lower
    - paginator_config.get
    - botocore.utils.get_service_module_name
    - operation_model.get_streaming_input
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.super
    - botocore.docs.method.document_model_driven_method
    - botocore.docs.bcdoc.restdoc.DocumentStructure._generate_structure
    - return_example_section.style.new_paragraph
    - params.keys
    - _end_cap_regex.sub
    - history.pop
    - return_section.style.indent
    - example_section.style.start_codeblock
    - _first_cap_regex.sub
    - return_example_section.style.new_line
    - section.add_new_section
    - <builtin>.len
    - botocore.xform_name
    - <builtin>.isinstance
    - method_intro_section.style.end_danger
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - botocore.docs.docstring.ClientMethodDocstring._write_docstring
    - DOCUMENTATION_LINK_REGEX.search
    - value.splitlines
    - botocore.docs.method.document_model_driven_signature
    - parameter_names.append
    - method_intro_section.style.external_link
    - section.style.new_line
    - <builtin>.getattr
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - service_waiter_model.get_waiter
    - return_section.style.new_line
    - botocore.docs.docstring.WaiterDocstring._write_docstring
    - botocore.docs.bcdoc.restdoc.DocumentStructure.__init__
    - botocore.docs.docstring.LazyLoadedDocstring._generate
    - match.group
    - collections.namedtuple.__init__
    - botocore.docs.docstring.LazyLoadedDocstring._write_docstring
    - section.style.start_sphinx_py_method
    - return_description_section.style.new_line
    - example_section.style.new_paragraph
    - method_intro_section.writeln
    - botocore.docs.bcdoc.restdoc.DocumentStructure.flush_structure
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - method_intro_section.include_doc_string
    - LARGE_SECTION_MESSAGE.format
    - re.sub
    - botocore.docs.waiter.document_wait_method
    - botocore.docs.bcdoc.style.ReSTStyle.link_target_definition
    - return_example_section.style.bold
    - return_description_section.style.new_paragraph
    - method_intro_section.style.new_paragraph
    - return_section.write
    - event_section.write
    - botocore.docs.bcdoc.restdoc.DocumentStructure.getvalue
    - service_pagination_params.append
    - SECTION_METHOD_PATH_DEPTH.get
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - section.flush_structure
    - operation_model.service_model.metadata.get
    - value.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 75
    functionName: botocore.docs.docstring.LazyLoadedDocstring._create_docstring
    functionSourceFile: botocore.docs.docstring
    functionUses: 3
    functionsReached:
    - example_section.write
    - history.append
    - botocore.docs.paginator.document_paginate_method
    - service_model.metadata.get
    - service_model.operation_model
    - event_section.style.new_paragraph
    - section.write
    - collections.OrderedDict
    - return_description_section.style.bold
    - example_section.style.bold
    - final_blank_line_section.style.new_line
    - name.replace
    - <builtin>.list
    - service_pagination_response_params.append
    - SECTION_LINE_LIMIT_CONFIG.get
    - is_special.group
    - botocore.docs.docstring.PaginatorDocstring._write_docstring
    - <builtin>.hasattr
    - _special_case_transform.search
    - docs_link.decode
    - method_intro_section.write
    - return_section.add_new_section
    - botocore.docs.shape.ShapeDocumenter.__init__
    - parameter_names.remove
    - section.style.start_codeblock
    - operation_model.get_event_stream_output
    - collections.OrderedDict.items
    - event_section.style.new_line
    - operation_model.get_streaming_output
    - method_intro_section.style.start_danger
    - botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section
    - matched.lower
    - paginator_config.get
    - botocore.utils.get_service_module_name
    - operation_model.get_streaming_input
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - <builtin>.super
    - botocore.docs.method.document_model_driven_method
    - botocore.docs.bcdoc.restdoc.DocumentStructure._generate_structure
    - return_example_section.style.new_paragraph
    - params.keys
    - _end_cap_regex.sub
    - history.pop
    - return_section.style.indent
    - example_section.style.start_codeblock
    - _first_cap_regex.sub
    - return_example_section.style.new_line
    - section.add_new_section
    - <builtin>.len
    - botocore.xform_name
    - <builtin>.isinstance
    - method_intro_section.style.end_danger
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - botocore.docs.docstring.ClientMethodDocstring._write_docstring
    - DOCUMENTATION_LINK_REGEX.search
    - value.splitlines
    - botocore.docs.method.document_model_driven_signature
    - parameter_names.append
    - method_intro_section.style.external_link
    - section.style.new_line
    - <builtin>.getattr
    - botocore.docs.bcdoc.style.BaseStyle.spaces
    - service_waiter_model.get_waiter
    - return_section.style.new_line
    - botocore.docs.docstring.WaiterDocstring._write_docstring
    - botocore.docs.bcdoc.restdoc.DocumentStructure.__init__
    - match.group
    - collections.namedtuple.__init__
    - botocore.docs.docstring.LazyLoadedDocstring._write_docstring
    - section.style.start_sphinx_py_method
    - return_description_section.style.new_line
    - example_section.style.new_paragraph
    - method_intro_section.writeln
    - botocore.docs.bcdoc.restdoc.DocumentStructure.flush_structure
    - botocore.docs.bcdoc.style.ReSTStyle.new_paragraph
    - method_intro_section.include_doc_string
    - LARGE_SECTION_MESSAGE.format
    - re.sub
    - botocore.docs.waiter.document_wait_method
    - botocore.docs.bcdoc.style.ReSTStyle.link_target_definition
    - return_example_section.style.bold
    - return_description_section.style.new_paragraph
    - method_intro_section.style.new_paragraph
    - return_section.write
    - event_section.write
    - botocore.docs.bcdoc.restdoc.DocumentStructure.getvalue
    - service_pagination_params.append
    - SECTION_METHOD_PATH_DEPTH.get
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - section.flush_structure
    - operation_model.service_model.metadata.get
    - value.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 91
    functionName: botocore.docs.docstring.WaiterDocstring._write_docstring
    functionSourceFile: botocore.docs.docstring
    functionUses: 4
    functionsReached:
    - method_intro_section.style.end_danger
    - method_intro_section.writeln
    - botocore.xform_name
    - <builtin>.len
    - example_section.write
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - section.style.start_codeblock
    - history.append
    - operation_model.get_event_stream_output
    - event_section.style.new_line
    - service_model.metadata.get
    - operation_model.get_streaming_output
    - botocore.docs.method.document_model_driven_signature
    - service_model.operation_model
    - method_intro_section.include_doc_string
    - section.write
    - event_section.style.new_paragraph
    - collections.OrderedDict
    - method_intro_section.style.start_danger
    - return_description_section.style.bold
    - parameter_names.append
    - method_intro_section.style.external_link
    - matched.lower
    - section.style.new_line
    - <builtin>.getattr
    - botocore.utils.get_service_module_name
    - operation_model.get_streaming_input
    - re.sub
    - botocore.docs.waiter.document_wait_method
    - example_section.style.bold
    - final_blank_line_section.style.new_line
    - name.replace
    - <builtin>.list
    - service_waiter_model.get_waiter
    - is_special.group
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - return_section.style.new_line
    - return_example_section.style.bold
    - <builtin>.hasattr
    - return_description_section.style.new_paragraph
    - method_intro_section.style.new_paragraph
    - section.style.start_sphinx_py_method
    - botocore.docs.method.document_model_driven_method
    - return_section.write
    - event_section.write
    - _special_case_transform.search
    - section.add_new_section
    - method_intro_section.write
    - return_section.add_new_section
    - return_example_section.style.new_paragraph
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - params.keys
    - botocore.docs.shape.ShapeDocumenter.__init__
    - _end_cap_regex.sub
    - parameter_names.remove
    - history.pop
    - return_section.style.indent
    - collections.namedtuple.__init__
    - operation_model.service_model.metadata.get
    - example_section.style.start_codeblock
    - return_example_section.style.new_line
    - _first_cap_regex.sub
    - return_description_section.style.new_line
    - example_section.style.new_paragraph
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 96
    functionName: botocore.docs.docstring.PaginatorDocstring._write_docstring
    functionSourceFile: botocore.docs.docstring
    functionUses: 4
    functionsReached:
    - <builtin>.len
    - botocore.xform_name
    - <builtin>.isinstance
    - method_intro_section.writeln
    - method_intro_section.style.end_danger
    - example_section.write
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - section.style.start_codeblock
    - history.append
    - botocore.docs.paginator.document_paginate_method
    - service_model.metadata.get
    - operation_model.get_event_stream_output
    - event_section.style.new_line
    - operation_model.get_streaming_output
    - botocore.docs.method.document_model_driven_signature
    - service_model.operation_model
    - method_intro_section.include_doc_string
    - event_section.style.new_paragraph
    - section.write
    - collections.OrderedDict
    - method_intro_section.style.start_danger
    - return_description_section.style.bold
    - parameter_names.append
    - method_intro_section.style.external_link
    - matched.lower
    - paginator_config.get
    - section.style.new_line
    - <builtin>.getattr
    - botocore.utils.get_service_module_name
    - return_description_section.style.new_line
    - operation_model.get_streaming_input
    - re.sub
    - example_section.style.bold
    - final_blank_line_section.style.new_line
    - name.replace
    - <builtin>.list
    - service_pagination_response_params.append
    - is_special.group
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - return_section.style.new_line
    - return_example_section.style.bold
    - <builtin>.hasattr
    - return_description_section.style.new_paragraph
    - method_intro_section.style.new_paragraph
    - section.style.start_sphinx_py_method
    - botocore.docs.method.document_model_driven_method
    - return_section.write
    - event_section.write
    - _special_case_transform.search
    - method_intro_section.write
    - return_section.add_new_section
    - service_pagination_params.append
    - return_example_section.style.new_paragraph
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - params.keys
    - _end_cap_regex.sub
    - botocore.docs.shape.ShapeDocumenter.__init__
    - parameter_names.remove
    - history.pop
    - return_section.style.indent
    - collections.namedtuple.__init__
    - operation_model.service_model.metadata.get
    - example_section.style.start_codeblock
    - _first_cap_regex.sub
    - return_example_section.style.new_line
    - section.add_new_section
    - example_section.style.new_paragraph
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 86
    functionName: botocore.docs.docstring.ClientMethodDocstring._write_docstring
    functionSourceFile: botocore.docs.docstring
    functionUses: 4
    functionsReached:
    - method_intro_section.style.end_danger
    - method_intro_section.writeln
    - example_section.write
    - <builtin>.len
    - section.style.start_codeblock
    - botocore.docs.example.BaseExampleDocumenter.document_example
    - history.append
    - operation_model.get_event_stream_output
    - event_section.style.new_line
    - operation_model.get_streaming_output
    - botocore.docs.method.document_model_driven_signature
    - method_intro_section.include_doc_string
    - event_section.style.new_paragraph
    - section.write
    - method_intro_section.style.start_danger
    - return_description_section.style.bold
    - parameter_names.append
    - method_intro_section.style.external_link
    - section.style.new_line
    - <builtin>.getattr
    - return_description_section.style.new_line
    - operation_model.get_streaming_input
    - example_section.style.bold
    - final_blank_line_section.style.new_line
    - <builtin>.list
    - botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape
    - return_section.style.new_line
    - return_example_section.style.bold
    - <builtin>.hasattr
    - return_description_section.style.new_paragraph
    - method_intro_section.style.new_paragraph
    - botocore.docs.method.document_model_driven_method
    - return_section.write
    - event_section.write
    - method_intro_section.write
    - return_section.add_new_section
    - return_example_section.style.new_paragraph
    - botocore.docs.params.BaseParamsDocumenter.document_params
    - params.keys
    - botocore.docs.shape.ShapeDocumenter.__init__
    - parameter_names.remove
    - history.pop
    - return_section.style.indent
    - operation_model.service_model.metadata.get
    - example_section.style.start_codeblock
    - return_example_section.style.new_line
    - section.style.start_sphinx_py_method
    - section.add_new_section
    - example_section.style.new_paragraph
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.docs.bcdoc
    functionSourceFile: botocore.docs.bcdoc
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.retries
    functionSourceFile: botocore.retries
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.args
    functionSourceFile: botocore.args
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 5
    IfCount: 11
    argCount: 8
    argNames:
    - self
    - service_model
    - client_config
    - endpoint_bridge
    - region_name
    - endpoint_url
    - is_secure
    - scoped_config
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 176
    functionName: botocore.args.ClientArgsCreator.compute_client_args
    functionSourceFile: botocore.args
    functionUses: 3
    functionsReached:
    - botocore.args.ClientArgsCreator._set_global_sts_endpoint
    - <builtin>.isinstance
    - endpoint_config.get
    - botocore.args.ClientArgsCreator._compute_s3_endpoint_config
    - retries.pop
    - s3_configuration.copy
    - config_kwargs.get
    - botocore.utils.ensure_boolean
    - val.lower
    - botocore.args.ClientArgsCreator._ensure_boolean
    - botocore.args.ClientArgsCreator._compute_retry_max_attempts
    - botocore.args.ClientArgsCreator._compute_endpoint_config
    - s3_configuration.update
    - config_kwargs.update
    - botocore.args.ClientArgsCreator._should_set_global_sts_endpoint
    - botocore.args.ClientArgsCreator._validate_s3_regional_config
    - botocore.args.ClientArgsCreator._set_region_if_custom_s3_endpoint
    - <builtin>.dict
    - botocore.args.ClientArgsCreator._compute_retry_mode
    - endpoint_bridge.resolve
    - botocore.args.ClientArgsCreator._get_sts_regional_endpoints_config
    - socket_options.append
    - botocore.args.ClientArgsCreator._compute_connect_timeout
    - botocore.args.ClientArgsCreator._resolve_endpoint
    - scoped_config.get
    - botocore.args.ClientArgsCreator._should_force_s3_global
    - botocore.args.ClientArgsCreator._compute_retry_config
    - botocore.args.ClientArgsCreator.compute_s3_config
    - botocore.args.ClientArgsCreator._is_s3_service
    - botocore.args.ClientArgsCreator._compute_sts_endpoint_config
    - botocore.args.ClientArgsCreator._compute_socket_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 12
    argNames:
    - self
    - endpoints_ruleset_data
    - partition_data
    - client_config
    - service_model
    - endpoint_region_name
    - region_name
    - endpoint_url
    - endpoint
    - is_secure
    - endpoint_bridge
    - event_emitter
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 504
    functionName: botocore.args.ClientArgsCreator._build_endpoint_resolver
    functionSourceFile: botocore.args
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - botocore.utils.is_s3_accelerate_url
    - botocore.endpoint_provider.RuleCreator.create
    - botocore.endpoint_provider.RuleSet._ingest_parameter_spec
    - urllib.parse.urlsplit.netloc.endswith
    - parameter_type.lower
    - endpoint_config.get
    - s3_configuration.copy
    - <builtin>.all
    - botocore.endpoint_provider.EndpointProvider.__init__
    - s3_configuration.update
    - <builtin>.getattr
    - botocore.client.ClientEndpointBridge._resolve_endpoint_variant_config_var
    - kwargs.pop
    - botocore.args.ClientArgsCreator._should_set_global_sts_endpoint
    - <builtin>.set
    - botocore.args.ClientArgsCreator._validate_s3_regional_config
    - botocore.endpoint_provider.RuleSet.__init__
    - spec.get
    - botocore.args.ClientArgsCreator._get_sts_regional_endpoints_config
    - botocore.endpoint_provider.RuleSetStandardLibrary.__init__
    - botocore.args.ClientArgsCreator._should_force_s3_global
    - botocore.endpoint_provider.ParameterDefinition.__init__
    - botocore.client.ClientEndpointBridge.resolver_uses_builtin_data
    - botocore.client.ClientEndpointBridge._is_s3_dualstack_mode
    - botocore.args.ClientArgsCreator.compute_s3_config
    - botocore.args.ClientArgsCreator._is_s3_service
    - urllib.parse.urlsplit
    - botocore.client.ClientEndpointBridge._resolve_use_dualstack_endpoint
    - parameters.items
    - botocore.regions.EndpointRulesetResolver.__init__
    - botocore.args.ClientArgsCreator.compute_endpoint_resolver_builtin_defaults
    - s3_config.get
    - urllib.parse.urlsplit.netloc.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argNames:
    - self
    - client_config
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 262
    functionName: botocore.args.ClientArgsCreator.compute_s3_config
    functionSourceFile: botocore.args
    functionUses: 5
    functionsReached:
    - s3_configuration.copy
    - s3_configuration.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 7
    argNames:
    - self
    - service_name
    - region_name
    - endpoint_url
    - is_secure
    - endpoint_bridge
    - s3_config
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 291
    functionName: botocore.args.ClientArgsCreator._compute_endpoint_config
    functionSourceFile: botocore.args
    functionUses: 4
    functionsReached:
    - botocore.args.ClientArgsCreator._set_global_sts_endpoint
    - botocore.args.ClientArgsCreator._resolve_endpoint
    - botocore.args.ClientArgsCreator._should_force_s3_global
    - botocore.args.ClientArgsCreator._should_set_global_sts_endpoint
    - botocore.args.ClientArgsCreator._validate_s3_regional_config
    - endpoint_config.get
    - botocore.args.ClientArgsCreator._compute_s3_endpoint_config
    - botocore.args.ClientArgsCreator._set_region_if_custom_s3_endpoint
    - botocore.args.ClientArgsCreator._compute_sts_endpoint_config
    - endpoint_bridge.resolve
    - botocore.args.ClientArgsCreator._get_sts_regional_endpoints_config
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config_kwargs.update
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - config_kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 435
    functionName: botocore.args.ClientArgsCreator._compute_retry_config
    functionSourceFile: botocore.args
    functionUses: 4
    functionsReached:
    - botocore.args.ClientArgsCreator._compute_retry_max_attempts
    - botocore.args.ClientArgsCreator._compute_retry_mode
    - config_kwargs.get
    - retries.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - config_kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 485
    functionName: botocore.args.ClientArgsCreator._compute_connect_timeout
    functionSourceFile: botocore.args
    functionUses: 4
    functionsReached:
    - config_kwargs.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - service_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 281
    functionName: botocore.args.ClientArgsCreator._is_s3_service
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - scoped_config
    - client_config
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 422
    functionName: botocore.args.ClientArgsCreator._compute_socket_options
    functionSourceFile: botocore.args
    functionUses: 4
    functionsReached:
    - botocore.args.ClientArgsCreator._ensure_boolean
    - val.lower
    - <builtin>.isinstance
    - socket_options.append
    - scoped_config.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s3_configuration.copy
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s3_configuration.update
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - s3_config
    - resolve_endpoint_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 315
    functionName: botocore.args.ClientArgsCreator._compute_s3_endpoint_config
    functionSourceFile: botocore.args
    functionUses: 5
    functionsReached:
    - botocore.args.ClientArgsCreator._resolve_endpoint
    - botocore.args.ClientArgsCreator._should_force_s3_global
    - botocore.args.ClientArgsCreator._validate_s3_regional_config
    - botocore.args.ClientArgsCreator._set_region_if_custom_s3_endpoint
    - endpoint_bridge.resolve
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - resolve_endpoint_kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 365
    functionName: botocore.args.ClientArgsCreator._compute_sts_endpoint_config
    functionSourceFile: botocore.args
    functionUses: 5
    functionsReached:
    - botocore.args.ClientArgsCreator._set_global_sts_endpoint
    - botocore.args.ClientArgsCreator._resolve_endpoint
    - botocore.args.ClientArgsCreator._should_set_global_sts_endpoint
    - endpoint_config.get
    - endpoint_bridge.resolve
    - botocore.args.ClientArgsCreator._get_sts_regional_endpoints_config
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 6
    argNames:
    - self
    - service_name
    - region_name
    - endpoint_url
    - is_secure
    - endpoint_bridge
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 410
    functionName: botocore.args.ClientArgsCreator._resolve_endpoint
    functionSourceFile: botocore.args
    functionUses: 7
    functionsReached:
    - endpoint_bridge.resolve
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - region_name
    - s3_config
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 336
    functionName: botocore.args.ClientArgsCreator._should_force_s3_global
    functionSourceFile: botocore.args
    functionUses: 8
    functionsReached:
    - botocore.args.ClientArgsCreator._validate_s3_regional_config
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - endpoint_config
    - endpoint_bridge
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 351
    functionName: botocore.args.ClientArgsCreator._set_region_if_custom_s3_endpoint
    functionSourceFile: botocore.args
    functionUses: 6
    functionsReached:
    - endpoint_bridge.resolve
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - config_val
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 345
    functionName: botocore.args.ClientArgsCreator._validate_s3_regional_config
    functionSourceFile: ''
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: endpoint_bridge.resolve
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - region_name
    - endpoint_url
    - endpoint_config
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 377
    functionName: botocore.args.ClientArgsCreator._should_set_global_sts_endpoint
    functionSourceFile: botocore.args
    functionUses: 8
    functionsReached:
    - endpoint_config.get
    - botocore.args.ClientArgsCreator._get_sts_regional_endpoints_config
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - endpoint_config
    - is_secure
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 405
    functionName: botocore.args.ClientArgsCreator._set_global_sts_endpoint
    functionSourceFile: ''
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: endpoint_config.get
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 390
    functionName: botocore.args.ClientArgsCreator._get_sts_regional_endpoints_config
    functionSourceFile: ''
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - val
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 498
    functionName: botocore.args.ClientArgsCreator._ensure_boolean
    functionSourceFile: botocore.args
    functionUses: 5
    functionsReached:
    - val.lower
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: socket_options.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 2
    argNames:
    - self
    - config_kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 439
    functionName: botocore.args.ClientArgsCreator._compute_retry_max_attempts
    functionSourceFile: botocore.args
    functionUses: 5
    functionsReached:
    - retries.pop
    - config_kwargs.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argNames:
    - self
    - config_kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 471
    functionName: botocore.args.ClientArgsCreator._compute_retry_mode
    functionSourceFile: botocore.args
    functionUses: 5
    functionsReached:
    - config_kwargs.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config_kwargs.get
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: retries.pop
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 7
    argNames:
    - self
    - region_name
    - service_name
    - s3_config
    - endpoint_bridge
    - client_endpoint_url
    - legacy_endpoint_url
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 566
    functionName: botocore.args.ClientArgsCreator.compute_endpoint_resolver_builtin_defaults
    functionSourceFile: botocore.args
    functionUses: 4
    functionsReached:
    - <builtin>.len
    - <builtin>.getattr
    - botocore.utils.is_s3_accelerate_url
    - botocore.client.ClientEndpointBridge._resolve_endpoint_variant_config_var
    - botocore.args.ClientArgsCreator._should_force_s3_global
    - botocore.args.ClientArgsCreator._should_set_global_sts_endpoint
    - urllib.parse.urlsplit.netloc.endswith
    - <builtin>.set
    - botocore.args.ClientArgsCreator._validate_s3_regional_config
    - endpoint_config.get
    - botocore.client.ClientEndpointBridge.resolver_uses_builtin_data
    - botocore.client.ClientEndpointBridge._is_s3_dualstack_mode
    - s3_config.get
    - botocore.args.ClientArgsCreator._get_sts_regional_endpoints_config
    - <builtin>.all
    - urllib.parse.urlsplit
    - botocore.client.ClientEndpointBridge._resolve_use_dualstack_endpoint
    - urllib.parse.urlsplit.netloc.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 9
    argNames:
    - self
    - endpoint_ruleset_data
    - partition_data
    - service_model
    - builtins
    - client_context
    - event_emitter
    - use_ssl
    - requested_auth_scheme
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 458
    functionName: botocore.regions.EndpointRulesetResolver.__init__
    functionSourceFile: botocore.regions
    functionUses: 4
    functionsReached:
    - spec.get
    - <builtin>.getattr
    - botocore.endpoint_provider.RuleSetStandardLibrary.__init__
    - botocore.endpoint_provider.RuleCreator.create
    - kwargs.pop
    - botocore.endpoint_provider.RuleSet._ingest_parameter_spec
    - botocore.endpoint_provider.ParameterDefinition.__init__
    - parameter_type.lower
    - botocore.endpoint_provider.RuleSet.__init__
    - botocore.endpoint_provider.EndpointProvider.__init__
    - parameters.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.regions
    functionSourceFile: botocore.regions
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - service_name
    - region_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 54
    functionName: botocore.regions.BaseEndpointResolver.construct_endpoint
    functionSourceFile: botocore.regions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 83
    functionName: botocore.regions.BaseEndpointResolver.get_available_partitions
    functionSourceFile: botocore.regions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - service_name
    - partition_name
    - allow_non_regional
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 90
    functionName: botocore.regions.BaseEndpointResolver.get_available_endpoints
    functionSourceFile: botocore.regions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - endpoint_data
    - uses_builtin_data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 117
    functionName: botocore.regions.EndpointResolver.__init__
    functionSourceFile: botocore.regions
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - service_name
    - partition_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 131
    functionName: botocore.regions.EndpointResolver.get_service_endpoints_data
    functionSourceFile: botocore.regions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 140
    functionName: botocore.regions.EndpointResolver.get_available_partitions
    functionSourceFile: botocore.regions
    functionUses: 0
    functionsReached:
    - result.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: result.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 5
    argNames:
    - self
    - service_name
    - partition_name
    - allow_non_regional
    - endpoint_variant_tags
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 146
    functionName: botocore.regions.EndpointResolver.get_available_endpoints
    functionSourceFile: botocore.regions
    functionUses: 0
    functionsReached:
    - endpoint_data.get
    - result.append
    - variant.copy
    - botocore.regions.EndpointResolver._retrieve_variant_data
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - endpoint_data
    - tags
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 320
    functionName: botocore.regions.EndpointResolver._retrieve_variant_data
    functionSourceFile: botocore.regions
    functionUses: 6
    functionsReached:
    - <builtin>.set
    - endpoint_data.get
    - variant.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argNames:
    - self
    - partition_name
    - endpoint_variant_tags
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 174
    functionName: botocore.regions.EndpointResolver.get_partition_dns_suffix
    functionSourceFile: botocore.regions
    functionUses: 0
    functionsReached:
    - endpoint_data.get
    - partition.get
    - variant.copy
    - botocore.regions.EndpointResolver._retrieve_variant_data
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: partition.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 6
    argNames:
    - self
    - service_name
    - region_name
    - partition_name
    - use_dualstack_endpoint
    - use_fips_endpoint
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 189
    functionName: botocore.regions.EndpointResolver.construct_endpoint
    functionSourceFile: botocore.regions
    functionUses: 0
    functionsReached:
    - endpoint_data.get
    - partition.get
    - botocore.regions.EndpointResolver._resolve_variant
    - botocore.regions.EndpointResolver._expand_template
    - botocore.regions.EndpointResolver._resolve
    - template.format
    - LOG.debug
    - botocore.regions.EndpointResolver._create_tag_list
    - botocore.regions.EndpointResolver._retrieve_variant_data
    - variant.copy
    - <builtin>.set
    - re.compile
    - service_data.get
    - botocore.regions.EndpointResolver._region_match
    - tags.append
    - LOG.warning
    - botocore.regions.EndpointResolver._merge_keys
    - botocore.regions.EndpointResolver._endpoint_for_partition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 7
    argNames:
    - self
    - partition
    - service_name
    - region_name
    - use_dualstack_endpoint
    - use_fips_endpoint
    - force_partition
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 248
    functionName: botocore.regions.EndpointResolver._endpoint_for_partition
    functionSourceFile: botocore.regions
    functionUses: 1
    functionsReached:
    - endpoint_data.get
    - partition.get
    - botocore.regions.EndpointResolver._resolve_variant
    - botocore.regions.EndpointResolver._expand_template
    - botocore.regions.EndpointResolver._resolve
    - template.format
    - LOG.debug
    - botocore.regions.EndpointResolver._create_tag_list
    - botocore.regions.EndpointResolver._retrieve_variant_data
    - variant.copy
    - <builtin>.set
    - re.compile
    - service_data.get
    - botocore.regions.EndpointResolver._region_match
    - tags.append
    - LOG.warning
    - botocore.regions.EndpointResolver._merge_keys
    linkageType: pythonLinkage
    raised:
    - NoRegionError
    - EndpointVariantError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - region_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 239
    functionName: botocore.regions.EndpointResolver.get_partition_for_region
    functionSourceFile: botocore.regions
    functionUses: 0
    functionsReached:
    - re.compile
    - botocore.regions.EndpointResolver._region_match
    linkageType: pythonLinkage
    raised:
    - UnknownRegionError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - partition
    - region_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 313
    functionName: botocore.regions.EndpointResolver._region_match
    functionSourceFile: botocore.regions
    functionUses: 3
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 7
    argNames:
    - self
    - partition
    - service_name
    - service_data
    - endpoint_name
    - use_dualstack_endpoint
    - use_fips_endpoint
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 345
    functionName: botocore.regions.EndpointResolver._resolve
    functionSourceFile: botocore.regions
    functionUses: 2
    functionsReached:
    - endpoint_data.get
    - partition.get
    - botocore.regions.EndpointResolver._resolve_variant
    - botocore.regions.EndpointResolver._expand_template
    - template.format
    - variant.copy
    - botocore.regions.EndpointResolver._create_tag_list
    - botocore.regions.EndpointResolver._retrieve_variant_data
    - <builtin>.set
    - tags.append
    - service_data.get
    - LOG.warning
    - botocore.regions.EndpointResolver._merge_keys
    linkageType: pythonLinkage
    raised:
    - EndpointVariantError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: service_data.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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: endpoint_data.get
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: variant.copy
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - use_dualstack_endpoint
    - use_fips_endpoint
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 327
    functionName: botocore.regions.EndpointResolver._create_tag_list
    functionSourceFile: botocore.regions
    functionUses: 3
    functionsReached:
    - tags.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tags.append
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argNames:
    - self
    - tags
    - endpoint_data
    - service_defaults
    - partition_defaults
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 335
    functionName: botocore.regions.EndpointResolver._resolve_variant
    functionSourceFile: botocore.regions
    functionUses: 3
    functionsReached:
    - endpoint_data.get
    - variant.copy
    - botocore.regions.EndpointResolver._retrieve_variant_data
    - <builtin>.set
    - botocore.regions.EndpointResolver._merge_keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - from_data
    - result
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 411
    functionName: botocore.regions.EndpointResolver._merge_keys
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: LOG.warning
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 6
    argNames:
    - self
    - partition
    - template
    - service_name
    - endpoint_name
    - dnsSuffix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 416
    functionName: botocore.regions.EndpointResolver._expand_template
    functionSourceFile: botocore.regions
    functionUses: 3
    functionsReached:
    - template.format
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 4
    argNames:
    - self
    - operation_model
    - call_args
    - request_context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 482
    functionName: botocore.regions.EndpointRulesetResolver.construct_endpoint
    functionSourceFile: botocore.regions
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.xform_name
    - botocore.regions.EndpointRulesetResolver._get_dynamic_context_params
    - botocore.regions.EndpointRulesetResolver.ruleset_error_to_botocore_exception
    - ruleset_exception.kwargs.get
    - msg.startswith
    - input_parameters.copy
    - LOG.debug
    - botocore.regions.EndpointRulesetResolver._get_customized_builtins
    - Exception.__init__
    - provider_result._replace
    - botocore.regions.EndpointRulesetResolver._get_provider_params
    - provider_result.headers.items
    - botocore.regions.EndpointRulesetResolver._resolve_param_as_client_context_param
    - matched.lower
    - botocore.regions.EndpointRulesetResolver._get_static_context_params
    - copy.copy
    - params_for_error.items
    - botocore.endpoint_provider.RuleSet.process_input_parameters
    - rule.evaluate
    - params.get
    - botocore.endpoint_provider.EndpointProvider.resolve_endpoint
    - botocore.regions.EndpointRulesetResolver._resolve_param_as_builtin
    - is_special.group
    - botocore.regions.EndpointRulesetResolver._resolve_param_as_static_context_param
    - botocore.endpoint_provider.RuleSet.evaluate
    - spec.process_input
    - msg.lower
    - _special_case_transform.search
    - botocore.regions.EndpointRulesetResolver._resolve_param_from_context
    - botocore.regions.EndpointRulesetResolver._get_client_context_params
    - static_ctx_params.get
    - provider_result.url.startswith
    - _end_cap_regex.sub
    - input_params.get
    - botocore.exceptions.BotoCoreError.__init__
    - call_args.get
    - enum.Enum.__members__.values
    - _first_cap_regex.sub
    - msg.split
    - builtins.get
    - botocore.regions.EndpointRulesetResolver._resolve_param_as_dynamic_context_param
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argNames:
    - self
    - operation_model
    - call_args
    - request_context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 532
    functionName: botocore.regions.EndpointRulesetResolver._get_provider_params
    functionSourceFile: botocore.regions
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - botocore.xform_name
    - botocore.regions.EndpointRulesetResolver._get_dynamic_context_params
    - botocore.regions.EndpointRulesetResolver._get_customized_builtins
    - botocore.regions.EndpointRulesetResolver._resolve_param_as_client_context_param
    - matched.lower
    - copy.copy
    - botocore.regions.EndpointRulesetResolver._get_static_context_params
    - botocore.regions.EndpointRulesetResolver._resolve_param_as_builtin
    - is_special.group
    - botocore.regions.EndpointRulesetResolver._resolve_param_as_static_context_param
    - _special_case_transform.search
    - botocore.regions.EndpointRulesetResolver._get_client_context_params
    - botocore.regions.EndpointRulesetResolver._resolve_param_from_context
    - static_ctx_params.get
    - _end_cap_regex.sub
    - call_args.get
    - enum.Enum.__members__.values
    - _first_cap_regex.sub
    - builtins.get
    - botocore.regions.EndpointRulesetResolver._resolve_param_as_dynamic_context_param
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 19
    ICount: 1
    IfCount: 13
    argCount: 3
    argNames:
    - self
    - ruleset_exception
    - params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 777
    functionName: botocore.regions.EndpointRulesetResolver.ruleset_error_to_botocore_exception
    functionSourceFile: botocore.regions
    functionUses: 1
    functionsReached:
    - ruleset_exception.kwargs.get
    - msg.startswith
    - botocore.exceptions.BotoCoreError.__init__
    - Exception.__init__
    - msg.lower
    - params.get
    - msg.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: provider_result.url.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: provider_result._replace
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: provider_result.headers.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - operation_model
    - call_args
    - request_context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 629
    functionName: botocore.regions.EndpointRulesetResolver._get_customized_builtins
    functionSourceFile: botocore.regions
    functionUses: 2
    functionsReached:
    - copy.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argNames:
    - self
    - param_name
    - operation_model
    - call_args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 565
    functionName: botocore.regions.EndpointRulesetResolver._resolve_param_from_context
    functionSourceFile: botocore.regions
    functionUses: 2
    functionsReached:
    - is_special.group
    - botocore.regions.EndpointRulesetResolver._resolve_param_as_client_context_param
    - <builtin>.len
    - botocore.xform_name
    - matched.lower
    - _end_cap_regex.sub
    - botocore.regions.EndpointRulesetResolver._resolve_param_as_static_context_param
    - botocore.regions.EndpointRulesetResolver._get_static_context_params
    - botocore.regions.EndpointRulesetResolver._get_dynamic_context_params
    - call_args.get
    - _special_case_transform.search
    - _first_cap_regex.sub
    - botocore.regions.EndpointRulesetResolver._get_client_context_params
    - static_ctx_params.get
    - botocore.regions.EndpointRulesetResolver._resolve_param_as_dynamic_context_param
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - builtin_name
    - builtins
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 600
    functionName: botocore.regions.EndpointRulesetResolver._resolve_param_as_builtin
    functionSourceFile: botocore.regions
    functionUses: 2
    functionsReached:
    - builtins.get
    - enum.Enum.__members__.values
    linkageType: pythonLinkage
    raised:
    - UnknownEndpointResolutionBuiltInName
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - param_name
    - operation_model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 580
    functionName: botocore.regions.EndpointRulesetResolver._resolve_param_as_static_context_param
    functionSourceFile: botocore.regions
    functionUses: 3
    functionsReached:
    - botocore.regions.EndpointRulesetResolver._get_static_context_params
    - static_ctx_params.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - param_name
    - operation_model
    - call_args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 586
    functionName: botocore.regions.EndpointRulesetResolver._resolve_param_as_dynamic_context_param
    functionSourceFile: botocore.regions
    functionUses: 3
    functionsReached:
    - call_args.get
    - botocore.regions.EndpointRulesetResolver._get_dynamic_context_params
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - param_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 594
    functionName: botocore.regions.EndpointRulesetResolver._resolve_param_as_client_context_param
    functionSourceFile: botocore.regions
    functionUses: 3
    functionsReached:
    - is_special.group
    - botocore.xform_name
    - <builtin>.len
    - matched.lower
    - _end_cap_regex.sub
    - _special_case_transform.search
    - _first_cap_regex.sub
    - botocore.regions.EndpointRulesetResolver._get_client_context_params
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: static_ctx_params.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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: call_args.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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: enum.Enum.__members__.values
    functionSourceFile: enum
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: builtins.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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: botocore.regions.EndpointRulesetResolver
    functionSourceFile: botocore.regions
    functionUses: 0
    functionsReached:
    - functools.wraps
    - botocore.utils.instance_cache
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 4
    IfCount: 10
    argCount: 2
    argNames:
    - self
    - auth_schemes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 644
    functionName: botocore.regions.EndpointRulesetResolver.auth_schemes_to_signing_ctx
    functionSourceFile: botocore.regions
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - val.lower
    - botocore.utils.ensure_boolean
    - <builtin>.isinstance
    - <builtin>.next
    - botocore.regions.EndpointRulesetResolver._does_botocore_authname_match_ruleset_authname
    - botoname.startswith
    - botocore.regions.EndpointRulesetResolver._strip_sig_prefix
    - LOG.debug
    - s.get
    - <builtin>.any
    - signing_context.update
    - botoname.split
    - auth_name.startswith
    linkageType: pythonLinkage
    raised:
    - TypeError
    - UnknownSignatureVersionError
    - MissingDependencyException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - auth_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 741
    functionName: botocore.regions.EndpointRulesetResolver._strip_sig_prefix
    functionSourceFile: botocore.regions
    functionUses: 2
    functionsReached:
    - auth_name.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - botoname
    - rsname
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 745
    functionName: botocore.regions.EndpointRulesetResolver._does_botocore_authname_match_ruleset_authname
    functionSourceFile: botocore.regions
    functionUses: 1
    functionsReached:
    - botoname.split
    - auth_name.startswith
    - botoname.startswith
    - botocore.regions.EndpointRulesetResolver._strip_sig_prefix
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: signing_context.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: auth_name.startswith
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botoname.split
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botoname.startswith
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ruleset_exception.kwargs.get
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: msg.startswith
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: msg.split
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: msg.lower
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.retries.standard
    functionSourceFile: botocore.retries.standard
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - initial_capacity
    - lock
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 11
    functionName: botocore.retries.quota.RetryQuota.__init__
    functionSourceFile: botocore.retries.quota
    functionUses: 4
    functionsReached:
    - threading.Lock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - quota
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 491
    functionName: botocore.retries.standard.RetryQuotaChecker.__init__
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - max_attempts
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 447
    functionName: botocore.retries.standard.StandardRetryConditions.__init__
    functionSourceFile: botocore.retries.standard
    functionUses: 4
    functionsReached:
    - botocore.retries.standard.ThrottledRetryableChecker.__init__
    - botocore.retries.standard.TransientRetryableChecker.__init__
    - botocore.retries.standard.OrRetryChecker.__init__
    - botocore.retries.standard.MaxAttemptsChecker.__init__
    - botocore.retries.standard.ModeledRetryableChecker.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - max_backoff
    - random
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 256
    functionName: botocore.retries.standard.ExponentialBackoff.__init__
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - retry_checker
    - retry_backoff
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 240
    functionName: botocore.retries.standard.RetryPolicy.__init__
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - retry_policy
    - retry_event_adapter
    - retry_quota
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 76
    functionName: botocore.retries.standard.RetryHandler.__init__
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 81
    functionName: botocore.retries.standard.RetryHandler.needs_retry
    functionSourceFile: botocore.retries.standard
    functionUses: 0
    functionsReached:
    - <builtin>.max
    - logger.debug
    - <builtin>.isinstance
    - botocore.retries.quota.RetryQuota.acquire
    - botocore.retries.standard.RetryEventAdapter.create_retry_context
    - botocore.retries.standard.RetryPolicy.should_retry
    - context.parsed_response.setdefault
    - botocore.retries.standard.RetryQuotaChecker._is_timeout_error
    - botocore.retries.standard.RetryContext.get_retry_metadata
    - botocore.retries.standard.ExponentialBackoff.delay_amount
    - botocore.retries.standard.RetryEventAdapter.adapt_retry_response_from_context
    - botocore.retries.standard.MaxAttemptsChecker.is_retryable
    - botocore.retries.standard.RetryContext.__init__
    - retries_context.get
    - <builtin>.min
    - botocore.retries.standard.OrRetryChecker.is_retryable
    - botocore.retries.standard.RetryPolicy.compute_retry_delay
    - botocore.retries.standard.RetryQuotaChecker.acquire_retry_quota
    - context.request_context.get
    - botocore.retries.standard.StandardRetryConditions.is_retryable
    - <builtin>.any
    - checker.is_retryable
    - botocore.retries.standard.RetryContext.add_retry_metadata
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 116
    functionName: botocore.retries.standard.RetryEventAdapter.create_retry_context
    functionSourceFile: botocore.retries.standard
    functionUses: 3
    functionsReached:
    - botocore.retries.standard.RetryContext.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 244
    functionName: botocore.retries.standard.RetryPolicy.should_retry
    functionSourceFile: botocore.retries.standard
    functionUses: 1
    functionsReached:
    - <builtin>.max
    - logger.debug
    - context.request_context.get
    - botocore.retries.standard.StandardRetryConditions.is_retryable
    - botocore.retries.standard.MaxAttemptsChecker.is_retryable
    - retries_context.get
    - <builtin>.any
    - botocore.retries.standard.OrRetryChecker.is_retryable
    - checker.is_retryable
    - botocore.retries.standard.RetryContext.add_retry_metadata
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 496
    functionName: botocore.retries.standard.RetryQuotaChecker.acquire_retry_quota
    functionSourceFile: botocore.retries.standard
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - botocore.retries.standard.RetryQuotaChecker._is_timeout_error
    - botocore.retries.standard.RetryContext.add_retry_metadata
    - botocore.retries.quota.RetryQuota.acquire
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 247
    functionName: botocore.retries.standard.RetryPolicy.compute_retry_delay
    functionSourceFile: botocore.retries.standard
    functionUses: 1
    functionsReached:
    - botocore.retries.standard.ExponentialBackoff.delay_amount
    - <builtin>.min
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 141
    functionName: botocore.retries.standard.RetryEventAdapter.adapt_retry_response_from_context
    functionSourceFile: botocore.retries.standard
    functionUses: 1
    functionsReached:
    - context.parsed_response.setdefault
    - botocore.retries.standard.RetryContext.get_retry_metadata
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 7
    argNames:
    - self
    - attempt_number
    - operation_model
    - parsed_response
    - http_response
    - caught_exception
    - request_context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 180
    functionName: botocore.retries.standard.RetryContext.__init__
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 235
    functionName: botocore.retries.standard.RetryContext.get_retry_metadata
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: context.parsed_response.setdefault
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 211
    functionName: botocore.retries.standard.RetryContext.get_error_code
    functionSourceFile: botocore.retries.standard
    functionUses: 5
    functionsReached:
    - <builtin>.isinstance
    - error.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 224
    functionName: botocore.retries.standard.RetryContext.add_retry_metadata
    functionSourceFile: botocore.retries.standard
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 465
    functionName: botocore.retries.standard.StandardRetryConditions.is_retryable
    functionSourceFile: botocore.retries.standard
    functionUses: 2
    functionsReached:
    - <builtin>.max
    - logger.debug
    - context.request_context.get
    - botocore.retries.standard.MaxAttemptsChecker.is_retryable
    - retries_context.get
    - <builtin>.any
    - botocore.retries.standard.OrRetryChecker.is_retryable
    - checker.is_retryable
    - botocore.retries.standard.RetryContext.add_retry_metadata
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 261
    functionName: botocore.retries.standard.ExponentialBackoff.delay_amount
    functionSourceFile: botocore.retries.standard
    functionUses: 2
    functionsReached:
    - <builtin>.min
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.min
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - max_attempts
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 282
    functionName: botocore.retries.standard.MaxAttemptsChecker.__init__
    functionSourceFile: botocore.retries.standard
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 285
    functionName: botocore.retries.standard.MaxAttemptsChecker.is_retryable
    functionSourceFile: botocore.retries.standard
    functionUses: 3
    functionsReached:
    - <builtin>.max
    - logger.debug
    - context.request_context.get
    - retries_context.get
    - botocore.retries.standard.RetryContext.add_retry_metadata
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: context.request_context.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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.max
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 4
    argNames:
    - self
    - transient_error_codes
    - transient_status_codes
    - transient_exception_cls
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 310
    functionName: botocore.retries.standard.TransientRetryableChecker.__init__
    functionSourceFile: botocore.retries.standard
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 2
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 326
    functionName: botocore.retries.standard.TransientRetryableChecker.is_retryable
    functionSourceFile: botocore.retries.standard
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - context.get_error_code
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: context.get_error_code
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - throttled_error_codes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 362
    functionName: botocore.retries.standard.ThrottledRetryableChecker.__init__
    functionSourceFile: botocore.retries.standard
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 367
    functionName: botocore.retries.standard.ThrottledRetryableChecker.is_retryable
    functionSourceFile: botocore.retries.standard
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - error.get
    - botocore.retries.standard.RetryContext.get_error_code
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 376
    functionName: botocore.retries.standard.ModeledRetryableChecker.__init__
    functionSourceFile: botocore.retries.standard
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 379
    functionName: botocore.retries.standard.ModeledRetryableChecker.is_retryable
    functionSourceFile: botocore.retries.standard
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - error.get
    - botocore.retries.standard.RetryContext.get_error_code
    - botocore.retries.standard.ModeledRetryErrorDetector.detect_error_type
    - shape.metadata.get
    - context.get_error_code
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 396
    functionName: botocore.retries.standard.ModeledRetryErrorDetector.detect_error_type
    functionSourceFile: botocore.retries.standard
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - shape.metadata.get
    - error.get
    - botocore.retries.standard.RetryContext.get_error_code
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - retry_event_adapter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 424
    functionName: botocore.retries.standard.ThrottlingErrorDetector.__init__
    functionSourceFile: botocore.retries.standard
    functionUses: 4
    functionsReached:
    - botocore.retries.standard.ThrottledRetryableChecker.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 430
    functionName: botocore.retries.standard.ThrottlingErrorDetector.is_throttling_error
    functionSourceFile: botocore.retries.standard
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - error.get
    - botocore.retries.standard.RetryContext.get_error_code
    - botocore.retries.standard.ThrottledRetryableChecker.is_retryable
    - botocore.retries.standard.RetryEventAdapter.create_retry_context
    - botocore.retries.standard.ModeledRetryErrorDetector.detect_error_type
    - botocore.retries.standard.RetryContext.__init__
    - shape.metadata.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - checkers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 472
    functionName: botocore.retries.standard.OrRetryChecker.__init__
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 475
    functionName: botocore.retries.standard.OrRetryChecker.is_retryable
    functionSourceFile: botocore.retries.standard
    functionUses: 3
    functionsReached:
    - checker.is_retryable
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: checker.is_retryable
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 511
    functionName: botocore.retries.standard.RetryQuotaChecker._is_timeout_error
    functionSourceFile: botocore.retries.standard
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - capacity_amount
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 18
    functionName: botocore.retries.quota.RetryQuota.acquire
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 4
    argNames:
    - self
    - context
    - http_response
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 515
    functionName: botocore.retries.standard.RetryQuotaChecker.release_retry_quota
    functionSourceFile: botocore.retries.standard
    functionUses: 0
    functionsReached:
    - botocore.retries.quota.RetryQuota.release
    - <builtin>.min
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - capacity_amount
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 34
    functionName: botocore.retries.quota.RetryQuota.release
    functionSourceFile: botocore.retries.quota
    functionUses: 1
    functionsReached:
    - <builtin>.min
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.retries.quota
    functionSourceFile: botocore.retries.quota
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 55
    functionName: botocore.retries.quota.RetryQuota.available_capacity
    functionSourceFile: botocore.retries.quota
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.retries.base
    functionSourceFile: botocore.retries.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2
    functionName: botocore.retries.base.BaseRetryBackoff.delay_amount
    functionSourceFile: botocore.retries.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 21
    functionName: botocore.retries.base.BaseRetryableChecker.is_retryable
    functionSourceFile: botocore.retries.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.retries.special
    functionSourceFile: botocore.retries.special
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 22
    functionName: botocore.retries.special.RetryIDPCommunicationError.is_retryable
    functionSourceFile: botocore.retries.special
    functionUses: 0
    functionsReached:
    - context.get_error_code
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 35
    functionName: botocore.retries.special.RetryDDBChecksumError.is_retryable
    functionSourceFile: botocore.retries.special
    functionUses: 0
    functionsReached:
    - context.http_response.headers.get
    - <builtin>.int
    - logger.debug
    - binascii.crc32
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: context.http_response.headers.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.discovery
    functionSourceFile: botocore.discovery
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - model
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 41
    functionName: botocore.discovery.block_endpoint_discovery_required_operations
    functionSourceFile: botocore.discovery
    functionUses: 0
    functionsReached:
    - endpoint_discovery.get
    linkageType: pythonLinkage
    raised:
    - EndpointDiscoveryRequired
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: endpoint_discovery.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - service_model
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 48
    functionName: botocore.discovery.EndpointDiscoveryModel.__init__
    functionSourceFile: botocore.discovery
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.discovery.EndpointDiscoveryModel
    functionSourceFile: botocore.discovery
    functionUses: 0
    functionsReached:
    - botocore.utils.CachedProperty
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 52
    functionName: botocore.discovery.EndpointDiscoveryModel.discovery_operation_name
    functionSourceFile: botocore.discovery
    functionUses: 0
    functionsReached:
    - is_special.group
    - botocore.xform_name
    - <builtin>.len
    - matched.lower
    - _end_cap_regex.sub
    - _special_case_transform.search
    - _first_cap_regex.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 57
    functionName: botocore.discovery.EndpointDiscoveryModel.discovery_operation_keys
    functionSourceFile: botocore.discovery
    functionUses: 0
    functionsReached:
    - discovery_operation.input_shape.members.keys
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: discovery_operation.input_shape.members.keys
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - operation_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 64
    functionName: botocore.discovery.EndpointDiscoveryModel.discovery_required_for
    functionSourceFile: botocore.discovery
    functionUses: 2
    functionsReached:
    - operation_model.endpoint_discovery.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operation_model.endpoint_discovery.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 73
    functionName: botocore.discovery.EndpointDiscoveryModel.discovery_operation_kwargs
    functionSourceFile: botocore.discovery
    functionUses: 7
    functionsReached:
    - kwargs.get
    - kwargs.items
    - kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - operation
    - params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 81
    functionName: botocore.discovery.EndpointDiscoveryModel.gather_identifiers
    functionSourceFile: botocore.discovery
    functionUses: 2
    functionsReached:
    - botocore.discovery.EndpointDiscoveryModel._gather_ids
    - member_shape.metadata.get
    - shape.members.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argNames:
    - self
    - shape
    - params
    - ids
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 84
    functionName: botocore.discovery.EndpointDiscoveryModel._gather_ids
    functionSourceFile: botocore.discovery
    functionUses: 3
    functionsReached:
    - botocore.discovery.EndpointDiscoveryModel._gather_ids
    - member_shape.metadata.get
    - shape.members.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: member_shape.metadata.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: 2
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 117
    functionName: botocore.discovery.EndpointDiscoveryManager._parse_endpoints
    functionSourceFile: botocore.discovery
    functionUses: 3
    functionsReached:
    - endpoint.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: endpoint.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 125
    functionName: botocore.discovery.EndpointDiscoveryManager._cache_item
    functionSourceFile: botocore.discovery
    functionUses: 6
    functionsReached:
    - <builtin>.tuple
    - <builtin>.isinstance
    - value.items
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 131
    functionName: botocore.discovery.EndpointDiscoveryManager._create_cache_key
    functionSourceFile: botocore.discovery
    functionUses: 5
    functionsReached:
    - kwargs.get
    - <builtin>.isinstance
    - botocore.discovery.EndpointDiscoveryManager._cache_item
    - botocore.discovery.EndpointDiscoveryModel.discovery_operation_kwargs
    - kwargs.pop
    - <builtin>.sorted
    - <builtin>.tuple
    - value.items
    - kwargs.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - operation
    - params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 135
    functionName: botocore.discovery.EndpointDiscoveryManager.gather_identifiers
    functionSourceFile: botocore.discovery
    functionUses: 1
    functionsReached:
    - botocore.discovery.EndpointDiscoveryModel._gather_ids
    - member_shape.metadata.get
    - botocore.discovery.EndpointDiscoveryModel.gather_identifiers
    - shape.members.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 138
    functionName: botocore.discovery.EndpointDiscoveryManager.delete_endpoints
    functionSourceFile: botocore.discovery
    functionUses: 1
    functionsReached:
    - kwargs.get
    - <builtin>.isinstance
    - botocore.discovery.EndpointDiscoveryManager._cache_item
    - botocore.discovery.EndpointDiscoveryModel.discovery_operation_kwargs
    - kwargs.pop
    - <builtin>.sorted
    - <builtin>.tuple
    - value.items
    - kwargs.items
    - botocore.discovery.EndpointDiscoveryManager._create_cache_key
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 143
    functionName: botocore.discovery.EndpointDiscoveryManager._describe_endpoints
    functionSourceFile: botocore.discovery
    functionUses: 3
    functionsReached:
    - kwargs.get
    - <builtin>.getattr
    - logger.debug
    - botocore.discovery.EndpointDiscoveryModel.discovery_operation_kwargs
    - kwargs.pop
    - kwargs.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 152
    functionName: botocore.discovery.EndpointDiscoveryManager._get_current_endpoints
    functionSourceFile: botocore.discovery
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 158
    functionName: botocore.discovery.EndpointDiscoveryManager._refresh_current_endpoints
    functionSourceFile: botocore.discovery
    functionUses: 2
    functionsReached:
    - kwargs.get
    - botocore.discovery.EndpointDiscoveryManager._parse_endpoints
    - logger.debug
    - <builtin>.getattr
    - <builtin>.isinstance
    - botocore.discovery.EndpointDiscoveryManager._cache_item
    - botocore.discovery.EndpointDiscoveryModel.discovery_operation_kwargs
    - botocore.discovery.EndpointDiscoveryManager._describe_endpoints
    - kwargs.pop
    - endpoint.get
    - <builtin>.sorted
    - <builtin>.tuple
    - value.items
    - kwargs.items
    - botocore.discovery.EndpointDiscoveryManager._create_cache_key
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - cache_key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 170
    functionName: botocore.discovery.EndpointDiscoveryManager._recently_failed
    functionSourceFile: botocore.discovery
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - endpoints
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 178
    functionName: botocore.discovery.EndpointDiscoveryManager._select_endpoint
    functionSourceFile: botocore.discovery
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 2
    IfCount: 8
    argCount: 2
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 181
    functionName: botocore.discovery.EndpointDiscoveryManager.describe_endpoint
    functionSourceFile: botocore.discovery
    functionUses: 1
    functionsReached:
    - logger.debug
    - <builtin>.isinstance
    - botocore.discovery.EndpointDiscoveryManager._cache_item
    - botocore.discovery.EndpointDiscoveryManager._describe_endpoints
    - endpoint.get
    - botocore.discovery.EndpointDiscoveryModel.discovery_required_for
    - botocore.discovery.EndpointDiscoveryManager._create_cache_key
    - kwargs.get
    - botocore.discovery.EndpointDiscoveryManager._parse_endpoints
    - <builtin>.getattr
    - botocore.discovery.EndpointDiscoveryManager._recently_failed
    - botocore.discovery.EndpointDiscoveryModel.discovery_operation_kwargs
    - kwargs.pop
    - botocore.discovery.EndpointDiscoveryManager._refresh_current_endpoints
    - <builtin>.tuple
    - value.items
    - operation_model.endpoint_discovery.get
    - <builtin>.sorted
    - botocore.discovery.EndpointDiscoveryManager._select_endpoint
    - botocore.discovery.EndpointDiscoveryManager._get_current_endpoints
    - kwargs.items
    linkageType: pythonLinkage
    raised:
    - EndpointDiscoveryRefreshFailed
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: events.register_first
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argNames:
    - self
    - params
    - model
    - context
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 238
    functionName: botocore.discovery.EndpointDiscoveryHandler.gather_identifiers
    functionSourceFile: botocore.discovery
    functionUses: 0
    functionsReached:
    - botocore.discovery.EndpointDiscoveryModel._gather_ids
    - member_shape.metadata.get
    - shape.members.items
    - botocore.discovery.EndpointDiscoveryManager.gather_identifiers
    - botocore.discovery.EndpointDiscoveryModel.gather_identifiers
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 4
    argNames:
    - self
    - request
    - operation_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 246
    functionName: botocore.discovery.EndpointDiscoveryHandler.discover_endpoint
    functionSourceFile: botocore.discovery
    functionUses: 0
    functionsReached:
    - logger.debug
    - <builtin>.isinstance
    - botocore.discovery.EndpointDiscoveryManager._cache_item
    - botocore.discovery.EndpointDiscoveryManager._describe_endpoints
    - request.context.get
    - endpoint.get
    - botocore.discovery.EndpointDiscoveryModel.discovery_required_for
    - botocore.discovery.EndpointDiscoveryManager._create_cache_key
    - kwargs.get
    - botocore.discovery.EndpointDiscoveryManager._parse_endpoints
    - <builtin>.getattr
    - botocore.discovery.EndpointDiscoveryManager._recently_failed
    - botocore.discovery.EndpointDiscoveryModel.discovery_operation_kwargs
    - kwargs.pop
    - botocore.discovery.EndpointDiscoveryManager.describe_endpoint
    - botocore.discovery.EndpointDiscoveryManager._refresh_current_endpoints
    - <builtin>.tuple
    - value.items
    - operation_model.endpoint_discovery.get
    - <builtin>.sorted
    - botocore.discovery.EndpointDiscoveryManager._select_endpoint
    - botocore.discovery.EndpointDiscoveryManager._get_current_endpoints
    - endpoint.startswith
    - kwargs.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: endpoint.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 5
    argNames:
    - self
    - request_dict
    - response
    - operation
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 261
    functionName: botocore.discovery.EndpointDiscoveryHandler.handle_retries
    functionSourceFile: botocore.discovery
    functionUses: 0
    functionsReached:
    - kwargs.get
    - <builtin>.isinstance
    - botocore.discovery.EndpointDiscoveryManager.delete_endpoints
    - botocore.discovery.EndpointDiscoveryManager._cache_item
    - botocore.discovery.EndpointDiscoveryModel.discovery_operation_kwargs
    - response.get
    - kwargs.pop
    - <builtin>.tuple
    - context.get
    - <builtin>.sorted
    - request_dict.get
    - value.items
    - kwargs.items
    - botocore.discovery.EndpointDiscoveryManager._create_cache_key
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.retries.adaptive
    functionSourceFile: botocore.retries.adaptive
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 9
    functionName: botocore.retries.bucket.Clock.__init__
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 15
    functionName: botocore.retries.bucket.Clock.current_time
    functionSourceFile: botocore.retries.bucket
    functionUses: 12
    functionsReached:
    - time.time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - starting_max_rate
    - start_time
    - scale_constant
    - beta
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 10
    functionName: botocore.retries.throttling.CubicCalculator.__init__
    functionSourceFile: botocore.retries.throttling
    functionUses: 4
    functionsReached:
    - botocore.retries.throttling.CubicCalculator._calculate_zero_point
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - max_rate
    - clock
    - min_rate
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 23
    functionName: botocore.retries.bucket.TokenBucket.__init__
    functionSourceFile: botocore.retries.bucket
    functionUses: 4
    functionsReached:
    - threading.Lock
    - threading.Condition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - clock
    - smoothing
    - time_bucket_range
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 100
    functionName: botocore.retries.adaptive.RateClocker.__init__
    functionSourceFile: botocore.retries.adaptive
    functionUses: 4
    functionsReached:
    - threading.Lock
    - time.time
    - math.floor
    - botocore.retries.bucket.Clock.current_time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 6
    argNames:
    - self
    - rate_adjustor
    - rate_clocker
    - token_bucket
    - throttling_detector
    - clock
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 42
    functionName: botocore.retries.adaptive.ClientRateLimiter.__init__
    functionSourceFile: botocore.retries.adaptive
    functionUses: 4
    functionsReached:
    - threading.Lock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - request
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 58
    functionName: botocore.retries.adaptive.ClientRateLimiter.on_sending_request
    functionSourceFile: botocore.retries.adaptive
    functionUses: 0
    functionsReached:
    - botocore.retries.bucket.Clock.current_time
    - botocore.retries.bucket.TokenBucket._acquire
    - <builtin>.min
    - botocore.retries.bucket.TokenBucket._sleep_amount
    - botocore.retries.bucket.TokenBucket._refill
    - botocore.retries.bucket.TokenBucket.acquire
    - time.time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - amount
    - block
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 67
    functionName: botocore.retries.bucket.TokenBucket.acquire
    functionSourceFile: botocore.retries.bucket
    functionUses: 1
    functionsReached:
    - botocore.retries.bucket.Clock.current_time
    - <builtin>.min
    - botocore.retries.bucket.TokenBucket._sleep_amount
    - botocore.retries.bucket.TokenBucket._refill
    - botocore.retries.bucket.TokenBucket._acquire
    - time.time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 63
    functionName: botocore.retries.adaptive.ClientRateLimiter.on_receiving_response
    functionSourceFile: botocore.retries.adaptive
    functionUses: 0
    functionsReached:
    - logger.debug
    - botocore.retries.standard.ThrottlingErrorDetector.is_throttling_error
    - <builtin>.isinstance
    - botocore.retries.bucket.Clock.current_time
    - botocore.retries.standard.RetryEventAdapter.create_retry_context
    - botocore.retries.throttling.CubicCalculator._calculate_zero_point
    - shape.metadata.get
    - botocore.retries.standard.RetryContext.get_error_code
    - time.time
    - <builtin>.float
    - math.floor
    - botocore.retries.standard.RetryContext.__init__
    - <builtin>.min
    - botocore.retries.adaptive.RateClocker.record
    - error.get
    - botocore.retries.standard.ThrottledRetryableChecker.is_retryable
    - botocore.retries.standard.ModeledRetryErrorDetector.detect_error_type
    - botocore.retries.throttling.CubicCalculator.error_received
    - botocore.retries.throttling.CubicCalculator.success_received
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - amount
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 114
    functionName: botocore.retries.adaptive.RateClocker.record
    functionSourceFile: botocore.retries.adaptive
    functionUses: 1
    functionsReached:
    - time.time
    - <builtin>.float
    - math.floor
    - botocore.retries.bucket.Clock.current_time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - timestamp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 28
    functionName: botocore.retries.throttling.CubicCalculator.success_received
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - current_rate
    - timestamp
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 33
    functionName: botocore.retries.throttling.CubicCalculator.error_received
    functionSourceFile: botocore.retries.throttling
    functionUses: 1
    functionsReached:
    - botocore.retries.throttling.CubicCalculator._calculate_zero_point
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 132
    functionName: botocore.retries.adaptive.RateClocker.measured_rate
    functionSourceFile: botocore.retries.adaptive
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.retries.throttling
    functionSourceFile: botocore.retries.throttling
    functionUses: 0
    functionsReached:
    - collections.namedtuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 23
    functionName: botocore.retries.throttling.CubicCalculator._calculate_zero_point
    functionSourceFile: ''
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: botocore.retries.throttling.CubicCalculator.get_params_snapshot
    functionSourceFile: botocore.retries.throttling
    functionUses: 0
    functionsReached:
    - collections.namedtuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.retries.bucket
    functionSourceFile: botocore.retries.bucket
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - amount
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 12
    functionName: botocore.retries.bucket.Clock.sleep
    functionSourceFile: botocore.retries.bucket
    functionUses: 0
    functionsReached:
    - time.sleep
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: threading.Condition
    functionSourceFile: threading
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 39
    functionName: botocore.retries.bucket.TokenBucket.max_rate
    functionSourceFile: botocore.retries.bucket
    functionUses: 0
    functionsReached:
    - <builtin>.max
    - botocore.retries.bucket.Clock.current_time
    - <builtin>.min
    - botocore.retries.bucket.TokenBucket._refill
    - time.time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 106
    functionName: botocore.retries.bucket.TokenBucket._refill
    functionSourceFile: botocore.retries.bucket
    functionUses: 4
    functionsReached:
    - <builtin>.min
    - time.time
    - botocore.retries.bucket.Clock.current_time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 60
    functionName: botocore.retries.bucket.TokenBucket.max_capacity
    functionSourceFile: botocore.retries.bucket
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 64
    functionName: botocore.retries.bucket.TokenBucket.available_capacity
    functionSourceFile: botocore.retries.bucket
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - amount
    - block
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 80
    functionName: botocore.retries.bucket.TokenBucket._acquire
    functionSourceFile: botocore.retries.bucket
    functionUses: 2
    functionsReached:
    - botocore.retries.bucket.Clock.current_time
    - <builtin>.min
    - botocore.retries.bucket.TokenBucket._sleep_amount
    - botocore.retries.bucket.TokenBucket._refill
    - time.time
    linkageType: pythonLinkage
    raised:
    - CapacityNotAvailableError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - amount
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 103
    functionName: botocore.retries.bucket.TokenBucket._sleep_amount
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.configloader
    functionSourceFile: botocore.configloader
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argNames:
    - filenames
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 23
    functionName: botocore.configloader.multi_file_load_config
    functionSourceFile: botocore.configloader
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - configparser.RawConfigParser
    - botocore.configloader.build_profile_map
    - copy.deepcopy
    - line.split
    - single_dict.items
    - botocore.configloader._parse_nested
    - shlex.split
    - configs.append
    - cp.get
    - os.path.expandvars
    - key.strip
    - config_value.splitlines
    - value.strip
    - parsed_config.items
    - cp.sections
    - cp.read
    - botocore.configloader.raw_config_parse
    - profiles.append
    - key.startswith
    - loaded.pop
    - botocore.configloader._merge_list_of_dicts
    - cp.options
    - line.strip
    - os.path.expanduser
    - config_value.startswith
    - os.path.isfile
    - botocore.configloader.load_config
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - config_filename
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 95
    functionName: botocore.configloader.load_config
    functionSourceFile: botocore.configloader
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - configparser.RawConfigParser
    - botocore.configloader.build_profile_map
    - copy.deepcopy
    - line.split
    - botocore.configloader._parse_nested
    - cp.get
    - shlex.split
    - os.path.expandvars
    - key.strip
    - config_value.splitlines
    - value.strip
    - parsed_config.items
    - cp.sections
    - cp.read
    - botocore.configloader.raw_config_parse
    - key.startswith
    - cp.options
    - line.strip
    - os.path.expanduser
    - config_value.startswith
    - os.path.isfile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loaded.pop
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: profiles.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: configs.append
    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
    argNames:
    - list_of_dicts
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 86
    functionName: botocore.configloader._merge_list_of_dicts
    functionSourceFile: botocore.configloader
    functionUses: 1
    functionsReached:
    - single_dict.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: single_dict.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argNames:
    - config_filename
    - parse_subsections
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 109
    functionName: botocore.configloader.raw_config_parse
    functionSourceFile: botocore.configloader
    functionUses: 3
    functionsReached:
    - configparser.RawConfigParser
    - os.path.expandvars
    - cp.options
    - line.strip
    - os.path.expanduser
    - key.strip
    - config_value.splitlines
    - value.strip
    - line.split
    - config_value.startswith
    - os.path.isfile
    - botocore.configloader._parse_nested
    - cp.sections
    - cp.read
    - cp.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 1
    argNames:
    - parsed_ini_config
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 203
    functionName: botocore.configloader.build_profile_map
    functionSourceFile: botocore.configloader
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - key.startswith
    - copy.deepcopy
    - parsed_config.items
    - shlex.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.expandvars
    functionSourceFile: os
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: configparser.RawConfigParser
    functionSourceFile: configparser
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cp.read
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cp.sections
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cp.options
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cp.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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config_value.startswith
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - config_value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 183
    functionName: botocore.configloader._parse_nested
    functionSourceFile: botocore.configloader
    functionUses: 4
    functionsReached:
    - line.strip
    - config_value.splitlines
    - value.strip
    - key.strip
    - line.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 172
    functionName: botocore.configloader._unicode_path
    functionSourceFile: botocore.configloader
    functionUses: 0
    functionsReached:
    - path.decode
    - <builtin>.isinstance
    - sys.getfilesystemencoding
    - sys.getdefaultencoding
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.getfilesystemencoding
    functionSourceFile: sys
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.getdefaultencoding
    functionSourceFile: sys
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: path.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config_value.splitlines
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.strip
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.strip
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.deepcopy
    functionSourceFile: copy
    functionUses: 33
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parsed_config.items
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.startswith
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: botocore.handlers
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - botocore.handlers._add_parameter_aliases
    - logging.getLogger
    - original.rsplit
    - <builtin>.object
    - aliases.items
    - re.compile
    - botocore.handlers.ParameterAlias.__init__
    - handler_list.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - service_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 105
    functionName: botocore.handlers.handle_service_name_alias
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - SERVICE_NAME_ALIASES.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: SERVICE_NAME_ALIASES.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - params
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 109
    functionName: botocore.handlers.add_recursion_detection_header
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - os.environ.get
    - urllib.parse.quote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - params
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 118
    functionName: botocore.handlers.escape_xml_payload
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - body.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: body.replace
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argNames:
    - response
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 134
    functionName: botocore.handlers.check_for_200_error
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - logger.debug
    - xml.etree.cElementTree.TreeBuilder
    - parser.feed
    - xml.etree.ElementTree.XMLParser
    - xml.etree.cElementTree.XMLParser
    - parser.close
    - botocore.handlers._looks_like_special_case_error
    - xml.etree.ElementTree.TreeBuilder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argNames:
    - http_response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 165
    functionName: botocore.handlers._looks_like_special_case_error
    functionSourceFile: botocore.handlers
    functionUses: 1
    functionsReached:
    - xml.etree.cElementTree.TreeBuilder
    - parser.feed
    - xml.etree.ElementTree.XMLParser
    - xml.etree.cElementTree.XMLParser
    - parser.close
    - xml.etree.ElementTree.TreeBuilder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 2
    IfCount: 8
    argCount: 3
    argNames:
    - context
    - signing_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 183
    functionName: botocore.handlers.set_operation_specific_signer
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - auth_type.startswith
    - context.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: auth_type.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - parsed
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 232
    functionName: botocore.handlers.decode_console_output
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - logger.debug
    - <builtin>.bytes
    - base64.b64decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - params
    - model
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 246
    functionName: botocore.handlers.generate_idempotent_uuid
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - logger.debug
    - uuid.uuid4
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 256
    functionName: botocore.handlers.decode_quoted_jsondoc
    functionSourceFile: botocore.handlers
    functionUses: 2
    functionsReached:
    - logger.debug
    - json.loads
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - parsed
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 264
    functionName: botocore.handlers.json_decode_template_body
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - logger.debug
    - json.loads
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - params
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 275
    functionName: botocore.handlers.validate_bucket_name
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - VALID_S3_ARN.search
    - VALID_BUCKET.search
    linkageType: pythonLinkage
    raised:
    - ParamValidationError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: VALID_BUCKET.search
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: VALID_S3_ARN.search
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - params
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 288
    functionName: botocore.handlers.sse_md5
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - botocore.handlers._needs_s3_sse_customization
    - <builtin>.isinstance
    - botocore.compat.get_md5
    - botocore.handlers._sse_md5
    - hashlib.md5
    - base64.b64encode
    - params.get
    - key_as_bytes.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - params
    - sse_member_prefix
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 308
    functionName: botocore.handlers._sse_md5
    functionSourceFile: botocore.handlers
    functionUses: 2
    functionsReached:
    - botocore.handlers._needs_s3_sse_customization
    - <builtin>.isinstance
    - botocore.compat.get_md5
    - hashlib.md5
    - base64.b64encode
    - params.get
    - key_as_bytes.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - params
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 298
    functionName: botocore.handlers.copy_source_sse_md5
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - botocore.handlers._needs_s3_sse_customization
    - <builtin>.isinstance
    - botocore.compat.get_md5
    - botocore.handlers._sse_md5
    - hashlib.md5
    - base64.b64encode
    - params.get
    - key_as_bytes.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - params
    - sse_member_prefix
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 325
    functionName: botocore.handlers._needs_s3_sse_customization
    functionSourceFile: botocore.handlers
    functionUses: 3
    functionsReached:
    - params.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key_as_bytes.encode
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 332
    functionName: botocore.handlers.disable_signing
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argNames:
    - model
    - params
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 340
    functionName: botocore.handlers.add_expect_header
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - logger.debug
    - model.http.get
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: model.http.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - replacement_service_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 353
    functionName: botocore.handlers.DeprecatedServiceDocumenter.__init__
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - section
    - event_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 356
    functionName: botocore.handlers.DeprecatedServiceDocumenter.inject_deprecation_notice
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - section.style.start_important
    - section.write
    - section.style.end_important
    - section.style.ref
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.style.start_important
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.style.ref
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.style.end_important
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    IfCount: 2
    argCount: 3
    argNames:
    - section
    - event_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 367
    functionName: botocore.handlers.document_copy_source_form
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - value_portion.write
    - parent.get_section
    - value_portion.clear_text
    - section.get_section
    - param_line.get_section
    - param_section.get_section
    - doc_section.write
    - type_section.write
    - type_section.clear_text
    - doc_section.clear_text
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.get_section
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: param_line.get_section
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value_portion.clear_text
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value_portion.write
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: param_section.get_section
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: type_section.clear_text
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doc_section.clear_text
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doc_section.write
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argNames:
    - params
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 404
    functionName: botocore.handlers.handle_copy_source_param
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - VERSION_ID_SUFFIX.search
    - botocore.utils.percent_encode
    - urllib.parse.quote.encode
    - source_dict.get
    - params.get
    - urllib.parse.quote
    - VALID_S3_ARN.search
    - result.start
    - botocore.handlers._quote_source_header_from_dict
    - <builtin>.str
    - botocore.handlers._quote_source_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 450
    functionName: botocore.handlers._quote_source_header
    functionSourceFile: botocore.handlers
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - VERSION_ID_SUFFIX.search
    - urllib.parse.quote.encode
    - botocore.utils.percent_encode
    - urllib.parse.quote
    - result.start
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argNames:
    - source_dict
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 431
    functionName: botocore.handlers._quote_source_header_from_dict
    functionSourceFile: botocore.handlers
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - botocore.utils.percent_encode
    - source_dict.get
    - urllib.parse.quote.encode
    - urllib.parse.quote
    - VALID_S3_ARN.search
    - <builtin>.str
    linkageType: pythonLinkage
    raised:
    - ParamValidationError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: source_dict.get
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: VERSION_ID_SUFFIX.search
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: result.start
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argNames:
    - request_signer
    - request_dict
    - model
    - source_region
    - destination_region
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 459
    functionName: botocore.handlers._get_cross_region_presigned_url
    functionSourceFile: botocore.handlers
    functionUses: 2
    functionsReached:
    - request_signer.generate_presigned_url
    - copy.deepcopy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - request_signer
    - params
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 482
    functionName: botocore.handlers._get_presigned_url_source_and_destination_regions
    functionSourceFile: botocore.handlers
    functionUses: 2
    functionsReached:
    - params.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argNames:
    - params
    - request_signer
    - model
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 489
    functionName: botocore.handlers.inject_presigned_url_ec2
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - botocore.handlers._get_cross_region_presigned_url
    - request_signer.generate_presigned_url
    - copy.deepcopy
    - params.get
    - botocore.handlers._get_presigned_url_source_and_destination_regions
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argNames:
    - params
    - request_signer
    - model
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 505
    functionName: botocore.handlers.inject_presigned_url_rds
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - botocore.handlers._get_cross_region_presigned_url
    - request_signer.generate_presigned_url
    - copy.deepcopy
    - params.get
    - botocore.handlers._get_presigned_url_source_and_destination_regions
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - parsed
    - model
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 529
    functionName: botocore.handlers.json_decode_policies
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - logger.debug
    - botocore.handlers.decode_quoted_jsondoc
    - shape.members.items
    - botocore.handlers._decode_policy_types
    - json.loads
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argNames:
    - parsed
    - shape
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 541
    functionName: botocore.handlers._decode_policy_types
    functionSourceFile: botocore.handlers
    functionUses: 1
    functionsReached:
    - logger.debug
    - botocore.handlers.decode_quoted_jsondoc
    - shape.members.items
    - botocore.handlers._decode_policy_types
    - json.loads
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - parsed
    - http_response
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 563
    functionName: botocore.handlers.parse_get_bucket_location
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - xml.etree.cElementTree.TreeBuilder
    - parser.feed
    - xml.etree.ElementTree.XMLParser
    - xml.etree.cElementTree.XMLParser
    - parser.close
    - xml.etree.ElementTree.TreeBuilder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - params
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 579
    functionName: botocore.handlers.base64_encode_user_data
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - base64.b64encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - param
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 589
    functionName: botocore.handlers.document_base64_encoding
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - botocore.docs.utils.AppendParamDocumentation.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argNames:
    - params
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 599
    functionName: botocore.handlers.validate_ascii_metadata
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - key.encode
    - <builtin>.isinstance
    - params.get
    - value.encode
    - metadata.items
    linkageType: pythonLinkage
    raised:
    - ParamValidationError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: metadata.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argNames:
    - params
    - model
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 630
    functionName: botocore.handlers.fix_route53_ids
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - input_shape.members.items
    - logger.debug
    - orig_value.split
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: orig_value.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - params
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 654
    functionName: botocore.handlers.inject_account_id
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - params.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - model
    - params
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 663
    functionName: botocore.handlers.add_glacier_version
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - model
    - params
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 670
    functionName: botocore.handlers.add_accept_header
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argNames:
    - params
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 676
    functionName: botocore.handlers.add_glacier_checksums
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - botocore.utils.calculate_sha256
    - io.BytesIO.seek
    - <builtin>.isinstance
    - checksum.hexdigest
    - <builtin>.len
    - new_chunks.append
    - binascii.hexlify
    - <builtin>.iter
    - checksum.digest
    - hashlib.sha256
    - io.BytesIO.tell
    - botocore.utils.calculate_tree_hash
    - io.BytesIO
    - itertools.zip_longest
    - checksum.update
    - chunks.append
    - botocore.utils._in_pairs
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 709
    functionName: botocore.handlers.document_glacier_tree_hash_checksum
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - botocore.docs.utils.AppendParamDocumentation.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argNames:
    - section
    - event_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 726
    functionName: botocore.handlers.document_cloudformation_get_template_return_type
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - template_body_section.get_section
    - value_portion.write
    - parent.get_section
    - value_portion.clear_text
    - section.get_section
    - type_section.write
    - type_section.clear_text
    - param_line.get_section
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: template_body_section.get_section
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - request
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 742
    functionName: botocore.handlers.switch_host_machinelearning
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - logger.debug
    - botocore.utils.switch_host_with_param
    - request.data.decode
    - botocore.utils._get_new_endpoint
    - json.loads
    - botocore.utils._switch_hosts
    - request_json.get
    - urllib.parse.urlsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 746
    functionName: botocore.handlers.check_openssl_supports_tls_version_1_2
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - request
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 765
    functionName: botocore.handlers.change_get_to_post
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - request.url.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request.url.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - params
    - context
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 774
    functionName: botocore.handlers.set_list_objects_encoding_type_url
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - parsed
    - context
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 782
    functionName: botocore.handlers.decode_list_object
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - botocore.handlers._decode_list_object
    - parsed.get
    - context.get
    - urllib.parse.unquote_plus
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 4
    argNames:
    - top_level_keys
    - nested_keys
    - parsed
    - context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 834
    functionName: botocore.handlers._decode_list_object
    functionSourceFile: botocore.handlers
    functionUses: 3
    functionsReached:
    - parsed.get
    - context.get
    - urllib.parse.unquote_plus
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - parsed
    - context
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 799
    functionName: botocore.handlers.decode_list_object_v2
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - botocore.handlers._decode_list_object
    - parsed.get
    - context.get
    - urllib.parse.unquote_plus
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - parsed
    - context
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 812
    functionName: botocore.handlers.decode_list_object_versions
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - botocore.handlers._decode_list_object
    - parsed.get
    - context.get
    - urllib.parse.unquote_plus
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.unquote_plus
    functionSourceFile: urllib
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argNames:
    - params
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 849
    functionName: botocore.handlers.convert_body_to_file_like_object
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - io.BytesIO.encode
    - <builtin>.isinstance
    - botocore.compat.ensure_bytes
    - io.BytesIO
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - handler_list
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 857
    functionName: botocore.handlers._add_parameter_aliases
    functionSourceFile: botocore.handlers
    functionUses: 1
    functionsReached:
    - handler_list.append
    - botocore.handlers.ParameterAlias.__init__
    - original.rsplit
    - aliases.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: aliases.items
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: original.rsplit
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - original_name
    - alias_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 891
    functionName: botocore.handlers.ParameterAlias.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: handler_list.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 4
    argNames:
    - self
    - params
    - model
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 895
    functionName: botocore.handlers.ParameterAlias.alias_parameter_in_call
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - params.pop
    linkageType: pythonLinkage
    raised:
    - AliasConflictParameterError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: params.pop
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 4
    argNames:
    - self
    - event_name
    - section
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 911
    functionName: botocore.handlers.ParameterAlias.alias_parameter_in_documentation
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - content.replace
    - botocore.handlers.ParameterAlias._replace_content
    - event_name.startswith
    - section.clear_text
    - section.get_section
    - section.getvalue
    - section.write
    - param_section.get_section
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - section
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 931
    functionName: botocore.handlers.ParameterAlias._replace_content
    functionSourceFile: botocore.handlers
    functionUses: 1
    functionsReached:
    - content.replace
    - section.write
    - section.getvalue
    - section.clear_text
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section.getvalue
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: content.replace
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - actual_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 941
    functionName: botocore.handlers.ClientMethodAlias.__init__
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - client
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 949
    functionName: botocore.handlers.ClientMethodAlias.__call__
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.handlers.HeaderToHostHoister
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - header_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 959
    functionName: botocore.handlers.HeaderToHostHoister.__init__
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - params
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 962
    functionName: botocore.handlers.HeaderToHostHoister.hoist
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - botocore.handlers.HeaderToHostHoister._ensure_header_is_valid_host
    - botocore.handlers.HeaderToHostHoister._prepend_to_host
    - urllib.parse.urlsplit
    - urllib.parse.urlsplit.netloc.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - header
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 977
    functionName: botocore.handlers.HeaderToHostHoister._ensure_header_is_valid_host
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ParamValidationError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - url
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 987
    functionName: botocore.handlers.HeaderToHostHoister._prepend_to_host
    functionSourceFile: botocore.handlers
    functionUses: 1
    functionsReached:
    - urllib.parse.urlsplit
    - urllib.parse.urlsplit.netloc.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - model
    - params
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1003
    functionName: botocore.handlers.inject_api_version_header_if_needed
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - class_attributes
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1009
    functionName: botocore.handlers.remove_lex_v2_start_conversation
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - request
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1015
    functionName: botocore.handlers.add_retry_headers
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - request.context.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argNames:
    - params
    - model
    - context
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1030
    functionName: botocore.handlers.remove_bucket_from_url_paths_from_model
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - req_uri.startswith
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: req_uri.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argNames:
    - params
    - model
    - context
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1060
    functionName: botocore.handlers.remove_accid_host_prefix_from_model
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - model.endpoint.get
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: model.endpoint.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - request
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1085
    functionName: botocore.handlers.remove_arn_from_signing_path
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.utils.ArnParser.is_arn
    - <builtin>.isinstance
    - urllib.parse.unquote.split
    - auth_path.startswith
    - botocore.utils.ArnParser.parse_arn
    - auth_path.split
    - urllib.parse.unquote.startswith
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: auth_path.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: auth_path.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 5
    argNames:
    - builtins
    - model
    - params
    - context
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1095
    functionName: botocore.handlers.customize_endpoint_resolver_builtins
    functionSourceFile: botocore.handlers
    functionUses: 0
    functionsReached:
    - botocore.utils.ArnParser.is_arn
    - <builtin>.len
    - <builtin>.isinstance
    - urllib.parse.unquote.split
    - VALID_HOST_LABEL_RE.match
    - botocore.utils.ArnParser.parse_arn
    - urllib.parse.unquote.startswith
    - context.get
    - params.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.translate
    functionSourceFile: botocore.translate
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 4
    argNames:
    - endpoint_prefix
    - retry_model
    - definitions
    - client_retry_config
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 19
    functionName: botocore.translate.build_retry_config
    functionSourceFile: botocore.translate
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.translate.resolve_references
    - client_retry_config.get
    - botocore.utils.merge_dicts
    - retry_model.get
    - config.items
    - botocore.translate._merge_client_retry_config
    - <builtin>.list
    - value.keys
    - value.values
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: retry_model.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argNames:
    - config
    - definitions
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 61
    functionName: botocore.translate.resolve_references
    functionSourceFile: botocore.translate
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.translate.resolve_references
    - config.items
    - <builtin>.list
    - value.keys
    - value.values
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - retry_config
    - client_retry_config
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 42
    functionName: botocore.translate._merge_client_retry_config
    functionSourceFile: botocore.translate
    functionUses: 1
    functionsReached:
    - client_retry_config.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client_retry_config.get
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config.items
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.values
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.retryhandler
    functionSourceFile: botocore.retryhandler
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argNames:
    - base
    - growth_factor
    - attempts
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: botocore.retryhandler.delay_exponential
    functionSourceFile: botocore.retryhandler
    functionUses: 0
    functionsReached:
    - random.random
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: random.random
    functionSourceFile: random
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - base
    - growth_factor
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 66
    functionName: botocore.retryhandler.create_exponential_delay_function
    functionSourceFile: botocore.retryhandler
    functionUses: 2
    functionsReached:
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - config
    - operation_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 78
    functionName: botocore.retryhandler.create_retry_handler
    functionSourceFile: botocore.retryhandler
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - botocore.retryhandler.CRC32Checker.__init__
    - retryable_exceptions.extend
    - botocore.retryhandler._create_single_checker
    - botocore.retryhandler.create_exponential_delay_function
    - botocore.retryhandler.create_retry_action_from_config
    - botocore.retryhandler._create_single_response_checker
    - botocore.retryhandler.create_checker_from_retry_config
    - applies_when.get
    - <builtin>.tuple
    - checkers.append
    - config.get
    - functools.partial
    - botocore.retryhandler.HTTPStatusCodeChecker.__init__
    - botocore.retryhandler.ServiceErrorCodeChecker.__init__
    - botocore.retryhandler._extract_retryable_exception
    - botocore.retryhandler.RetryHandler.__init__
    - exceptions.extend
    - botocore.retryhandler.MaxAttemptsDecorator.__init__
    - botocore.retryhandler.MultiChecker.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 2
    argNames:
    - config
    - operation_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 101
    functionName: botocore.retryhandler.create_checker_from_retry_config
    functionSourceFile: botocore.retryhandler
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - botocore.retryhandler.CRC32Checker.__init__
    - botocore.retryhandler.ServiceErrorCodeChecker.__init__
    - botocore.retryhandler._extract_retryable_exception
    - exceptions.extend
    - botocore.retryhandler.MaxAttemptsDecorator.__init__
    - botocore.retryhandler.MultiChecker.__init__
    - retryable_exceptions.extend
    - botocore.retryhandler._create_single_checker
    - checkers.append
    - botocore.retryhandler._create_single_response_checker
    - config.get
    - applies_when.get
    - botocore.retryhandler.HTTPStatusCodeChecker.__init__
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - config
    - operation_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 88
    functionName: botocore.retryhandler.create_retry_action_from_config
    functionSourceFile: botocore.retryhandler
    functionUses: 1
    functionsReached:
    - botocore.retryhandler.create_exponential_delay_function
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - checker
    - action
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 187
    functionName: botocore.retryhandler.RetryHandler.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argNames:
    - config
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 135
    functionName: botocore.retryhandler._create_single_checker
    functionSourceFile: botocore.retryhandler
    functionUses: 2
    functionsReached:
    - botocore.retryhandler.CRC32Checker.__init__
    - botocore.retryhandler.ServiceErrorCodeChecker.__init__
    - botocore.retryhandler._create_single_response_checker
    - botocore.retryhandler.HTTPStatusCodeChecker.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: checkers.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argNames:
    - config
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 162
    functionName: botocore.retryhandler._extract_retryable_exception
    functionSourceFile: botocore.retryhandler
    functionUses: 2
    functionsReached:
    - applies_when.get
    - exceptions.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: retryable_exceptions.extend
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - checker
    - max_attempts
    - retryable_exceptions
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 271
    functionName: botocore.retryhandler.MaxAttemptsDecorator.__init__
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - checkers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 358
    functionName: botocore.retryhandler.MultiChecker.__init__
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 144
    functionName: botocore.retryhandler._create_single_response_checker
    functionSourceFile: botocore.retryhandler
    functionUses: 3
    functionsReached:
    - botocore.retryhandler.CRC32Checker.__init__
    - botocore.retryhandler.ServiceErrorCodeChecker.__init__
    - botocore.retryhandler.HTTPStatusCodeChecker.__init__
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - status_code
    - error_code
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 339
    functionName: botocore.retryhandler.ServiceErrorCodeChecker.__init__
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - status_code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 324
    functionName: botocore.retryhandler.HTTPStatusCodeChecker.__init__
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - header
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 372
    functionName: botocore.retryhandler.CRC32Checker.__init__
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: applies_when.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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: exceptions.extend
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 5
    argNames:
    - self
    - attempts
    - response
    - caught_exception
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 191
    functionName: botocore.retryhandler.RetryHandler.__call__
    functionSourceFile: botocore.retryhandler
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - botocore.retryhandler.MaxAttemptsDecorator.__init__
    - checker_kwargs.update
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: checker_kwargs.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argNames:
    - self
    - attempt_number
    - response
    - caught_exception
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 222
    functionName: botocore.retryhandler.BaseChecker.__call__
    functionSourceFile: botocore.retryhandler
    functionUses: 0
    functionsReached:
    - botocore.retryhandler.ExceptionRaiser._check_caught_exception
    - logger.debug
    - botocore.retryhandler.BaseChecker._check_caught_exception
    - http_response.headers.get
    - <builtin>.int
    - botocore.retryhandler.CRC32Checker._check_response
    - botocore.retryhandler.HTTPStatusCodeChecker._check_response
    - botocore.retryhandler.ServiceErrorCodeChecker._check_response
    - botocore.retryhandler.BaseChecker._check_response
    - binascii.crc32
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - attempt_number
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 376
    functionName: botocore.retryhandler.CRC32Checker._check_response
    functionSourceFile: botocore.retryhandler
    functionUses: 1
    functionsReached:
    - http_response.headers.get
    - <builtin>.int
    - logger.debug
    - binascii.crc32
    linkageType: pythonLinkage
    raised:
    - ChecksumError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - attempt_number
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 343
    functionName: botocore.retryhandler.ServiceErrorCodeChecker._check_response
    functionSourceFile: botocore.retryhandler
    functionUses: 1
    functionsReached:
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - attempt_number
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 253
    functionName: botocore.retryhandler.BaseChecker._check_response
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - attempt_number
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 327
    functionName: botocore.retryhandler.HTTPStatusCodeChecker._check_response
    functionSourceFile: botocore.retryhandler
    functionUses: 1
    functionsReached:
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - attempt_number
    - caught_exception
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 408
    functionName: botocore.retryhandler.ExceptionRaiser._check_caught_exception
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - attempt_number
    - caught_exception
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 256
    functionName: botocore.retryhandler.BaseChecker._check_caught_exception
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 5
    argNames:
    - self
    - attempt_number
    - response
    - caught_exception
    - retries_context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 276
    functionName: botocore.retryhandler.MaxAttemptsDecorator.__call__
    functionSourceFile: botocore.retryhandler
    functionUses: 0
    functionsReached:
    - <builtin>.max
    - logger.debug
    - botocore.retryhandler.MaxAttemptsDecorator._should_retry
    - botocore.retryhandler.MultiChecker.__init__
    - retries_context.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - attempt_number
    - response
    - caught_exception
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 304
    functionName: botocore.retryhandler.MaxAttemptsDecorator._should_retry
    functionSourceFile: botocore.retryhandler
    functionUses: 1
    functionsReached:
    - logger.debug
    - botocore.retryhandler.MultiChecker.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - attempt_number
    - response
    - caught_exception
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 361
    functionName: botocore.retryhandler.MultiChecker.__call__
    functionSourceFile: botocore.retryhandler
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http_response.headers.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.loaders
    functionSourceFile: botocore.loaders
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 126
    functionName: botocore.loaders.instance_cache
    functionSourceFile: botocore.loaders
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 136
    functionName: botocore.loaders.instance_cache._wrapper
    functionSourceFile: botocore.loaders
    functionUses: 0
    functionsReached:
    - <builtin>.max
    - os.listdir
    - logger.debug
    - <builtin>.isinstance
    - os.path.isdir
    - os.path.exists
    - botocore.loaders.Loader.load_service_model
    - botocore.loaders.Loader.list_available_services
    - json.loads
    - _JSON_OPEN_METHODS.items
    - botocore.loaders.Loader._potential_locations
    - botocore.loaders.Loader.load_data
    - fp.read
    - <builtin>.set
    - botocore.loaders.JSONFileLoader._load_file
    - services.add
    - botocore.loaders.Loader.list_api_versions
    - botocore.loaders.Loader.load_data_with_path
    - known_api_versions.add
    - <builtin>.sorted
    - os.path.join
    - botocore.loaders.JSONFileLoader.exists
    - botocore.loaders.ExtrasProcessor.process
    - botocore.loaders.JSONFileLoader.load_file
    - os.path.isfile
    - botocore.loaders.Loader.determine_latest_version
    - botocore.loaders.Loader._find_extras
    - botocore.utils.deep_merge
    - botocore.loaders.ExtrasProcessor._process
    - kwargs.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - type_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 279
    functionName: botocore.loaders.Loader.list_available_services
    functionSourceFile: botocore.loaders
    functionUses: 2
    functionsReached:
    - services.add
    - os.listdir
    - botocore.loaders.Loader._potential_locations
    - os.path.join
    - botocore.loaders.JSONFileLoader.exists
    - os.path.exists
    - os.path.isdir
    - <builtin>.set
    - os.path.isfile
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - service_name
    - type_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 322
    functionName: botocore.loaders.Loader.determine_latest_version
    functionSourceFile: botocore.loaders
    functionUses: 2
    functionsReached:
    - <builtin>.max
    - os.listdir
    - os.path.join
    - botocore.loaders.Loader._potential_locations
    - botocore.loaders.JSONFileLoader.exists
    - os.path.exists
    - os.path.isdir
    - botocore.loaders.Loader.list_api_versions
    - known_api_versions.add
    - <builtin>.set
    - os.path.isfile
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 437
    functionName: botocore.loaders.Loader.load_data_with_path
    functionSourceFile: botocore.loaders
    functionUses: 4
    functionsReached:
    - os.path.join
    - botocore.loaders.Loader._potential_locations
    - logger.debug
    - os.path.exists
    - os.path.isdir
    - fp.read
    - botocore.loaders.JSONFileLoader.load_file
    - os.path.isfile
    - json.loads
    - botocore.loaders.JSONFileLoader._load_file
    - _JSON_OPEN_METHODS.items
    linkageType: pythonLinkage
    raised:
    - DataNotFoundError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argNames:
    - self
    - service_name
    - type_name
    - api_version
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 375
    functionName: botocore.loaders.Loader.load_service_model
    functionSourceFile: botocore.loaders
    functionUses: 1
    functionsReached:
    - <builtin>.max
    - os.listdir
    - logger.debug
    - <builtin>.isinstance
    - os.path.isdir
    - os.path.exists
    - botocore.loaders.Loader.list_available_services
    - json.loads
    - botocore.loaders.Loader._potential_locations
    - botocore.loaders.Loader.load_data
    - fp.read
    - <builtin>.set
    - botocore.loaders.JSONFileLoader._load_file
    - services.add
    - botocore.loaders.Loader.list_api_versions
    - botocore.loaders.Loader.load_data_with_path
    - known_api_versions.add
    - <builtin>.sorted
    - os.path.join
    - botocore.loaders.JSONFileLoader.exists
    - botocore.loaders.ExtrasProcessor.process
    - botocore.loaders.JSONFileLoader.load_file
    - os.path.isfile
    - botocore.loaders.Loader.determine_latest_version
    - botocore.loaders.Loader._find_extras
    - botocore.utils.deep_merge
    - botocore.loaders.ExtrasProcessor._process
    - _JSON_OPEN_METHODS.items
    linkageType: pythonLinkage
    raised:
    - UnknownServiceError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - service_name
    - type_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 345
    functionName: botocore.loaders.Loader.list_api_versions
    functionSourceFile: botocore.loaders
    functionUses: 3
    functionsReached:
    - os.listdir
    - botocore.loaders.Loader._potential_locations
    - os.path.join
    - botocore.loaders.JSONFileLoader.exists
    - os.path.exists
    - os.path.isdir
    - known_api_versions.add
    - <builtin>.set
    - os.path.isfile
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised:
    - DataNotFoundError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - file_path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 156
    functionName: botocore.loaders.JSONFileLoader.exists
    functionSourceFile: botocore.loaders
    functionUses: 5
    functionsReached:
    - os.path.isfile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - full_path
    - open_method
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 171
    functionName: botocore.loaders.JSONFileLoader._load_file
    functionSourceFile: botocore.loaders
    functionUses: 6
    functionsReached:
    - os.path.isfile
    - fp.read
    - json.loads
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fp.read
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - file_path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 183
    functionName: botocore.loaders.JSONFileLoader.load_file
    functionSourceFile: botocore.loaders
    functionUses: 5
    functionsReached:
    - logger.debug
    - fp.read
    - os.path.isfile
    - json.loads
    - botocore.loaders.JSONFileLoader._load_file
    - _JSON_OPEN_METHODS.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _JSON_OPEN_METHODS.items
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argNames:
    - search_path_string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 200
    functionName: botocore.loaders.create_loader
    functionSourceFile: botocore.loaders
    functionUses: 1
    functionsReached:
    - os.path.expandvars
    - os.path.expanduser
    - paths.append
    - search_path_string.split
    - botocore.loaders.Loader.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 6
    argNames:
    - self
    - extra_search_paths
    - file_loader
    - cache
    - include_default_search_paths
    - include_default_extras
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 243
    functionName: botocore.loaders.Loader.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: search_path_string.split
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: paths.append
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.loaders.Loader
    functionSourceFile: botocore.loaders
    functionUses: 0
    functionsReached:
    - os.path.join
    - botocore.loaders.instance_cache
    - os.path.expanduser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 271
    functionName: botocore.loaders.Loader.search_paths
    functionSourceFile: botocore.loaders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 275
    functionName: botocore.loaders.Loader.extras_types
    functionSourceFile: botocore.loaders
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 4
    argNames:
    - self
    - name
    - must_exist
    - is_dir
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 474
    functionName: botocore.loaders.Loader._potential_locations
    functionSourceFile: botocore.loaders
    functionUses: 8
    functionsReached:
    - os.path.join
    - os.path.exists
    - os.path.isdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.listdir
    functionSourceFile: os
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: services.add
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: known_api_versions.add
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 455
    functionName: botocore.loaders.Loader.load_data
    functionSourceFile: botocore.loaders
    functionUses: 3
    functionsReached:
    - os.path.join
    - botocore.loaders.Loader._potential_locations
    - logger.debug
    - os.path.exists
    - os.path.isdir
    - fp.read
    - botocore.loaders.JSONFileLoader.load_file
    - botocore.loaders.Loader.load_data_with_path
    - os.path.isfile
    - json.loads
    - botocore.loaders.JSONFileLoader._load_file
    - _JSON_OPEN_METHODS.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - service_name
    - type_name
    - api_version
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 425
    functionName: botocore.loaders.Loader._find_extras
    functionSourceFile: botocore.loaders
    functionUses: 2
    functionsReached:
    - os.path.join
    - botocore.loaders.Loader._potential_locations
    - logger.debug
    - os.path.exists
    - os.path.isdir
    - botocore.loaders.Loader.load_data
    - fp.read
    - botocore.loaders.JSONFileLoader.load_file
    - botocore.loaders.Loader.load_data_with_path
    - os.path.isfile
    - json.loads
    - botocore.loaders.JSONFileLoader._load_file
    - _JSON_OPEN_METHODS.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - original_model
    - extra_models
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 509
    functionName: botocore.loaders.ExtrasProcessor.process
    functionSourceFile: botocore.loaders
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - botocore.utils.deep_merge
    - botocore.loaders.ExtrasProcessor._process
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 490
    functionName: botocore.loaders.Loader.is_builtin_path
    functionSourceFile: botocore.loaders
    functionUses: 0
    functionsReached:
    - path.startswith
    - os.path.expanduser
    - os.path.expandvars
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: path.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - model
    - extra_model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 521
    functionName: botocore.loaders.ExtrasProcessor._process
    functionSourceFile: botocore.loaders
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - botocore.utils.deep_merge
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.credentials
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - collections.namedtuple
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argNames:
    - session
    - cache
    - region_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 65
    functionName: botocore.credentials.create_credential_resolver
    functionSourceFile: botocore.credentials
    functionUses: 39
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - warnings.warn
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - os.environ.get
    - provider.provide
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - allowed.match
    - botocore.tokens.SSOTokenProvider.__init__
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.utils.IMDSRegionProvider.__init__
    - urllib3.Timeout
    - botocore.configprovider.EnvironmentProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - session.user_agent
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.tokens.create_token_resolver
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: session.get_config_variable
    functionSourceFile: <builtin>
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: session.instance_variables
    functionSourceFile: <builtin>
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - environ
    - mapping
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1076
    functionName: botocore.credentials.EnvProvider.__init__
    functionSourceFile: botocore.credentials
    functionUses: 40
    functionsReached:
    - <builtin>.isinstance
    - botocore.credentials.EnvProvider._build_mapping
    - mapping.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - environ
    - fetcher
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1890
    functionName: botocore.credentials.ContainerProvider.__init__
    functionSourceFile: botocore.credentials
    functionUses: 40
    functionsReached:
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - os.environ.get
    - <builtin>.isinstance
    - <builtin>.getattr
    - pool_manager_kwargs.update
    - urllib3.PoolManager
    - <builtin>.hasattr
    - urllib3.util.ssl_.SSLContext
    - botocore.utils.ContainerMetadataFetcher.__init__
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.httpsession.create_urllib3_context
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib3.Timeout
    - botocore.httpsession.URLLib3Session.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: session.user_agent
    functionSourceFile: <builtin>
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - iam_role_fetcher
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1041
    functionName: botocore.credentials.InstanceMetadataProvider.__init__
    functionSourceFile: ''
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - session
    - cache
    - region_name
    - sso_token_cache
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 169
    functionName: botocore.credentials.ProfileProviderBuilder.__init__
    functionSourceFile: ''
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.credentials.create_credential_resolver.<lambda1>
    functionSourceFile: botocore.credentials
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - session
    - region_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 258
    functionName: botocore.credentials._get_client_creator
    functionSourceFile: ''
    functionUses: 46
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - providers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1796
    functionName: botocore.credentials.CanonicalNameCredentialSourcer.__init__
    functionSourceFile: ''
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 8
    argNames:
    - self
    - load_config
    - client_creator
    - cache
    - profile_name
    - prompter
    - credential_sourcer
    - profile_provider_builder
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1393
    functionName: botocore.credentials.AssumeRoleProvider.__init__
    functionSourceFile: ''
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - profile_name
    - disable_env_vars
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 177
    functionName: botocore.credentials.ProfileProviderBuilder.providers
    functionSourceFile: botocore.credentials
    functionUses: 44
    functionsReached:
    - botocore.tokens.SSOTokenProvider.__init__
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.utils.SSOTokenLoader.__init__
    - botocore.credentials.ConfigProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProcessProvider.__init__
    - botocore.utils.JSONFileCache.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - environ
    - parser
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1200
    functionName: botocore.credentials.OriginalEC2Provider.__init__
    functionSourceFile: ''
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - environ
    - ini_parser
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1342
    functionName: botocore.credentials.BotoProvider.__init__
    functionSourceFile: ''
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: providers.remove
    functionSourceFile: <builtin>
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - providers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1953
    functionName: botocore.credentials.CredentialResolver.__init__
    functionSourceFile: ''
    functionUses: 47
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - profile_name
    - disable_env_vars
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 209
    functionName: botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    functionSourceFile: botocore.credentials
    functionUses: 45
    functionsReached:
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.credentials._get_client_creator
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - profile_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 220
    functionName: botocore.credentials.ProfileProviderBuilder._create_sso_provider
    functionSourceFile: botocore.credentials
    functionUses: 45
    functionsReached:
    - botocore.tokens.SSOTokenProvider.__init__
    - botocore.utils.JSONFileCache.__init__
    - botocore.utils.SSOTokenLoader.__init__
    - botocore.credentials.SSOProvider.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - profile_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 195
    functionName: botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    functionSourceFile: botocore.credentials
    functionUses: 45
    functionsReached:
    - botocore.credentials.SharedCredentialProvider.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - profile_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 189
    functionName: botocore.credentials.ProfileProviderBuilder._create_process_provider
    functionSourceFile: botocore.credentials
    functionUses: 45
    functionsReached:
    - botocore.credentials.ProcessProvider.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - profile_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 202
    functionName: botocore.credentials.ProfileProviderBuilder._create_config_provider
    functionSourceFile: botocore.credentials
    functionUses: 45
    functionsReached:
    - botocore.credentials.ConfigProvider.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.credentials.ProfileProviderBuilder._create_process_provider.<lambda1>
    functionSourceFile: botocore.credentials
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - profile_name
    - load_config
    - popen
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 966
    functionName: botocore.credentials.ProcessProvider.__init__
    functionSourceFile: ''
    functionUses: 46
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argNames:
    - self
    - creds_filename
    - profile_name
    - ini_parser
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1238
    functionName: botocore.credentials.SharedCredentialProvider.__init__
    functionSourceFile: ''
    functionUses: 46
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - config_filename
    - profile_name
    - config_parser
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1286
    functionName: botocore.credentials.ConfigProvider.__init__
    functionSourceFile: ''
    functionUses: 46
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.credentials.ProfileProviderBuilder._create_web_identity_provider.<lambda1>
    functionSourceFile: botocore.credentials
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 7
    argNames:
    - self
    - load_config
    - client_creator
    - profile_name
    - cache
    - disable_env_vars
    - token_loader_cls
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1715
    functionName: botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    functionSourceFile: ''
    functionUses: 46
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.credentials.ProfileProviderBuilder._create_sso_provider.<lambda1>
    functionSourceFile: botocore.credentials
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 7
    argNames:
    - self
    - load_config
    - client_creator
    - profile_name
    - cache
    - token_cache
    - token_provider
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2160
    functionName: botocore.credentials.SSOProvider.__init__
    functionSourceFile: botocore.credentials
    functionUses: 46
    functionsReached:
    - botocore.utils.JSONFileCache.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - session
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 235
    functionName: botocore.credentials.get_credentials
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - warnings.warn
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.credentials.CredentialResolver.load_credentials
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - allowed.match
    - botocore.tokens.SSOTokenProvider.__init__
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - loader.load_data_with_path
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - provider.load
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - session.user_agent
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.tokens.create_token_resolver
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2031
    functionName: botocore.credentials.CredentialResolver.load_credentials
    functionSourceFile: botocore.credentials
    functionUses: 7
    functionsReached:
    - logger.debug
    - provider.load
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 240
    functionName: botocore.credentials._local_now
    functionSourceFile: botocore.credentials
    functionUses: 16
    functionsReached:
    - dateutil.tz.tzlocal
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dateutil.tz.tzlocal
    functionSourceFile: dateutil
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 244
    functionName: botocore.credentials._parse_if_needed
    functionSourceFile: botocore.credentials
    functionUses: 15
    functionsReached:
    - dateutil.parser.parse
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - value
    - iso
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 250
    functionName: botocore.credentials._serialize_if_needed
    functionSourceFile: botocore.credentials
    functionUses: 12
    functionsReached:
    - <builtin>.isinstance
    - value.isoformat
    - value.strftime
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - service_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 259
    functionName: botocore.credentials._get_client_creator.client_creator
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - create_client_kwargs.update
    - session.create_client
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: create_client_kwargs.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: session.create_client
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - client
    - params
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 267
    functionName: botocore.credentials.create_assume_role_refresher
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 268
    functionName: botocore.credentials.create_assume_role_refresher.refresh
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - client.assume_role
    - value.strftime
    - botocore.credentials._serialize_if_needed
    - value.isoformat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.assume_role
    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
    argNames:
    - actual_refresh
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 283
    functionName: botocore.credentials.create_mfa_serial_refresher
    functionSourceFile: botocore.credentials
    functionUses: 4
    functionsReached:
    - botocore.credentials.create_mfa_serial_refresher._Refresher.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - refresh
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 285
    functionName: botocore.credentials.create_mfa_serial_refresher._Refresher.__init__
    functionSourceFile: botocore.credentials
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 289
    functionName: botocore.credentials.create_mfa_serial_refresher._Refresher.__call__
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - client.assume_role
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - botocore.credentials.RefreshableCredentials._is_expired
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - io.BytesIO.lower
    - botocore.config.Config.__init__
    - original.params.items
    - copy.deepcopy.get
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - new_time.strftime
    - botocore.utils.IMDSFetcher._get_request
    - io.BytesIO.tell
    - conn.urlopen
    - botocore.config.Config._record_user_provided_options
    - botocore.config.Config._validate_retry_configuration
    - base64.b64encode
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.utils.ContainerMetadataFetcher.retrieve_full_uri
    - botocore.httpsession.URLLib3Session._get_request_target
    - dateutil.tz.tzlocal
    - <builtin>.hasattr
    - datetime.datetime.fromtimestamp
    - botocore.utils.ContainerMetadataFetcher._get_response
    - botocore.credentials.Credentials.get_frozen_credentials
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - <builtin>.str
    - botocore.utils.ContainerMetadataFetcher._retrieve_credentials
    - random.randint
    - request.prepare
    - dateutil.parser.parse.total_seconds
    - datetime.datetime.utcnow
    - botocore.credentials._serialize_if_needed
    - botocore.awsrequest.AWSResponse
    - botocore.credentials._parse_if_needed
    - proxy_url.startswith
    - logger.debug
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._assume_role_kwargs
    - botocore.credentials.CachedCredentialFetcher.fetch_credentials
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - <builtin>.enumerate
    - collections.namedtuple
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - copy.copy
    - os.environ.get
    - copy.deepcopy
    - botocore.credentials._local_now
    - botocore.credentials.ContainerProvider._create_fetcher.fetch_creds
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - botocore.credentials.CachedCredentialFetcher._get_credentials
    - s3.get
    - botocore.credentials.RefreshableCredentials._protected_refresh
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.utils.ContainerMetadataFetcher._check_if_whitelisted_host
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.httpsession.URLLib3Session._chunked
    - botocore.config.Config._validate_s3_configuration
    - <builtin>.super
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.credentials.RefreshableCredentials.refresh_needed
    - botocore.credentials.CachedCredentialFetcher._load_from_cache
    - retries.items
    - botocore.utils.InstanceMetadataFetcher.retrieve_iam_role_credentials
    - <builtin>.bool
    - botocore.utils.InstanceMetadataFetcher._evaluate_expiration
    - config_vars.update
    - botocore.credentials.RefreshableCredentials._normalize
    - dateutil.parser.parse
    - botocore.credentials.AssumeRoleCredentialFetcher._get_credentials
    - typing.NamedTuple.expiration.total_seconds
    - botocore.utils.ContainerMetadataFetcher._validate_allowed_url
    - io.BytesIO.encode
    - <builtin>.range
    - headers.get
    - botocore.httpsession.URLLib3Session._path_url
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - initial_token_data.get_frozen_token
    - botocore.awsrequest.AWSRequest.prepare
    - botocore.credentials.RefreshableCredentials._seconds_remaining
    - client.assume_role_with_web_identity
    - botocore.credentials.EnvProvider._create_credentials_fetcher.fetch_credentials
    - botocore.compat.ensure_unicode
    - botocore.utils.IMDSFetcher._log_imds_response
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    - botocore.utils.InstanceMetadataFetcher._get_iam_role
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.credentials.RefreshableCredentials._set_from_data
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - botocore.credentials.CachedCredentialFetcher._is_expired
    - botocore.utils.IMDSFetcher._fetch_metadata_token
    - urllib3.proxy_from_url
    - logger.info
    - botocore.utils.IMDSFetcher._default_retry
    - response.content.decode
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - client.get_role_credentials
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - kwargs.items
    - credentials.get
    - botocore.awsrequest.HeadersDict.__init__
    - dateutil.tz.tzutc
    - botocore.credentials.RefreshableCredentials._refresh
    - io.BytesIO.seek
    - botocore.utils.IMDSFetcher._assert_enabled
    - logger_args.append
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._get_credentials
    - headers.update
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.credentials.DeferredRefreshableCredentials.refresh_needed
    - botocore.credentials.RefreshableCredentials.get_frozen_credentials
    - botocore.credentials.AssumeRoleCredentialFetcher._create_client
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - botocore.compat.ensure_bytes
    - delim.join
    - botocore.utils.IMDSFetcher._construct_url
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - datetime.timedelta
    - botocore.utils.IMDSFetcher._is_empty
    - urllib3.util.url.parse_url
    - <builtin>.setattr
    - botocore.credentials.SSOCredentialFetcher._parse_timestamp
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - urllib.parse.urlencode.items
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    - botocore.compat.urlparse
    - datetime.datetime.strptime
    - botocore.credentials.CachedCredentialFetcher._get_cached_credentials
    - botocore.httpsession._is_ipaddress
    - botocore.utils.FileWebIdentityTokenLoader.__init__
    - botocore.credentials.SSOCredentialFetcher._get_credentials
    - e.kwargs.get
    - botocore.utils.InstanceMetadataFetcher._get_credentials
    - botocore.compat.total_seconds
    - botocore.credentials.AssumeRoleCredentialFetcher._assume_role_kwargs
    - botocore.credentials.CachedCredentialFetcher._write_to_cache
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.utils.InstanceMetadataFetcher._contains_all_credential_fields
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.credentials.create_mfa_serial_refresher._Refresher.__init__
    - value.strftime
    - botocore.utils.IMDSFetcher._add_user_agent
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - datetime.datetime.now
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - timestamp.strftime
    - config_vars.items
    - value.isoformat
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    - logger.warning
    linkageType: pythonLinkage
    raised:
    - RefreshWithMFAUnsupportedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 16
    functionLinenumber: 660
    functionName: botocore.credentials.CachedCredentialFetcher.fetch_credentials
    functionSourceFile: botocore.credentials
    functionUses: 10
    functionsReached:
    - client.assume_role
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - botocore.credentials.RefreshableCredentials._is_expired
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - io.BytesIO.lower
    - botocore.config.Config.__init__
    - original.params.items
    - copy.deepcopy.get
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - new_time.strftime
    - botocore.utils.IMDSFetcher._get_request
    - io.BytesIO.tell
    - conn.urlopen
    - botocore.config.Config._record_user_provided_options
    - botocore.config.Config._validate_retry_configuration
    - base64.b64encode
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.utils.ContainerMetadataFetcher.retrieve_full_uri
    - botocore.httpsession.URLLib3Session._get_request_target
    - dateutil.tz.tzlocal
    - <builtin>.hasattr
    - datetime.datetime.fromtimestamp
    - botocore.utils.ContainerMetadataFetcher._get_response
    - botocore.credentials.Credentials.get_frozen_credentials
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - <builtin>.str
    - botocore.utils.ContainerMetadataFetcher._retrieve_credentials
    - random.randint
    - request.prepare
    - dateutil.parser.parse.total_seconds
    - datetime.datetime.utcnow
    - botocore.credentials._serialize_if_needed
    - botocore.awsrequest.AWSResponse
    - botocore.credentials._parse_if_needed
    - proxy_url.startswith
    - logger.debug
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._assume_role_kwargs
    - botocore.credentials.CachedCredentialFetcher.fetch_credentials
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - <builtin>.enumerate
    - collections.namedtuple
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - copy.copy
    - os.environ.get
    - copy.deepcopy
    - botocore.credentials._local_now
    - botocore.credentials.ContainerProvider._create_fetcher.fetch_creds
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - botocore.credentials.CachedCredentialFetcher._get_credentials
    - s3.get
    - botocore.credentials.RefreshableCredentials._protected_refresh
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.utils.ContainerMetadataFetcher._check_if_whitelisted_host
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.httpsession.URLLib3Session._chunked
    - botocore.config.Config._validate_s3_configuration
    - <builtin>.super
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.credentials.RefreshableCredentials.refresh_needed
    - botocore.credentials.CachedCredentialFetcher._load_from_cache
    - retries.items
    - botocore.utils.InstanceMetadataFetcher.retrieve_iam_role_credentials
    - <builtin>.bool
    - botocore.utils.InstanceMetadataFetcher._evaluate_expiration
    - config_vars.update
    - botocore.credentials.RefreshableCredentials._normalize
    - dateutil.parser.parse
    - botocore.credentials.AssumeRoleCredentialFetcher._get_credentials
    - typing.NamedTuple.expiration.total_seconds
    - botocore.utils.ContainerMetadataFetcher._validate_allowed_url
    - io.BytesIO.encode
    - <builtin>.range
    - headers.get
    - botocore.httpsession.URLLib3Session._path_url
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - initial_token_data.get_frozen_token
    - botocore.awsrequest.AWSRequest.prepare
    - botocore.credentials.RefreshableCredentials._seconds_remaining
    - client.assume_role_with_web_identity
    - botocore.credentials.EnvProvider._create_credentials_fetcher.fetch_credentials
    - botocore.compat.ensure_unicode
    - botocore.utils.IMDSFetcher._log_imds_response
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    - botocore.utils.InstanceMetadataFetcher._get_iam_role
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.awsrequest.AWSRequest.__init__
    - botocore.credentials.RefreshableCredentials._set_from_data
    - auth_str.encode
    - botocore.credentials.CachedCredentialFetcher._is_expired
    - botocore.utils.IMDSFetcher._fetch_metadata_token
    - urllib3.proxy_from_url
    - logger.info
    - botocore.utils.IMDSFetcher._default_retry
    - response.content.decode
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - client.get_role_credentials
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - kwargs.items
    - credentials.get
    - botocore.awsrequest.HeadersDict.__init__
    - dateutil.tz.tzutc
    - botocore.credentials.RefreshableCredentials._refresh
    - io.BytesIO.seek
    - botocore.utils.IMDSFetcher._assert_enabled
    - logger_args.append
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._get_credentials
    - headers.update
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.credentials.DeferredRefreshableCredentials.refresh_needed
    - botocore.credentials.RefreshableCredentials.get_frozen_credentials
    - botocore.credentials.AssumeRoleCredentialFetcher._create_client
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - botocore.compat.ensure_bytes
    - delim.join
    - botocore.utils.IMDSFetcher._construct_url
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - datetime.timedelta
    - botocore.utils.IMDSFetcher._is_empty
    - urllib3.util.url.parse_url
    - <builtin>.setattr
    - botocore.credentials.SSOCredentialFetcher._parse_timestamp
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - urllib.parse.urlencode.items
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    - botocore.compat.urlparse
    - datetime.datetime.strptime
    - botocore.credentials.CachedCredentialFetcher._get_cached_credentials
    - botocore.httpsession._is_ipaddress
    - botocore.utils.FileWebIdentityTokenLoader.__init__
    - botocore.credentials.SSOCredentialFetcher._get_credentials
    - e.kwargs.get
    - botocore.utils.InstanceMetadataFetcher._get_credentials
    - botocore.compat.total_seconds
    - botocore.credentials.AssumeRoleCredentialFetcher._assume_role_kwargs
    - botocore.credentials.CachedCredentialFetcher._write_to_cache
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.utils.InstanceMetadataFetcher._contains_all_credential_fields
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.credentials.create_mfa_serial_refresher._Refresher.__init__
    - value.strftime
    - botocore.utils.IMDSFetcher._add_user_agent
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - datetime.datetime.now
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - timestamp.strftime
    - config_vars.items
    - value.isoformat
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argNames:
    - self
    - access_key
    - secret_key
    - token
    - method
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 312
    functionName: botocore.credentials.Credentials.__init__
    functionSourceFile: botocore.credentials
    functionUses: 11
    functionsReached:
    - botocore.credentials.Credentials._normalize
    - botocore.compat.ensure_unicode
    - botocore.credentials.RefreshableCredentials._normalize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 323
    functionName: botocore.credentials.Credentials._normalize
    functionSourceFile: botocore.credentials
    functionUses: 12
    functionsReached:
    - botocore.compat.ensure_unicode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 383
    functionName: botocore.credentials.RefreshableCredentials._normalize
    functionSourceFile: botocore.credentials
    functionUses: 29
    functionsReached:
    - botocore.compat.ensure_unicode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 333
    functionName: botocore.credentials.Credentials.get_frozen_credentials
    functionSourceFile: botocore.credentials
    functionUses: 11
    functionsReached:
    - collections.namedtuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 8
    argNames:
    - self
    - access_key
    - secret_key
    - token
    - expiry_time
    - refresh_using
    - method
    - time_fetcher
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 360
    functionName: botocore.credentials.RefreshableCredentials.__init__
    functionSourceFile: botocore.credentials
    functionUses: 6
    functionsReached:
    - threading.Lock
    - collections.namedtuple
    - botocore.compat.ensure_unicode
    - botocore.credentials.RefreshableCredentials._normalize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - cls
    - metadata
    - refresh_using
    - method
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 388
    functionName: botocore.credentials.RefreshableCredentials.create_from_metadata
    functionSourceFile: botocore.credentials
    functionUses: 2
    functionsReached:
    - dateutil.parser.parse
    - botocore.credentials.RefreshableCredentials._expiry_datetime
    - botocore.credentials.RefreshableCredentials.__init__
    - threading.Lock
    - botocore.compat.ensure_unicode
    - collections.namedtuple
    - botocore.credentials.RefreshableCredentials._normalize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - time_str
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 550
    functionName: botocore.credentials.RefreshableCredentials._expiry_datetime
    functionSourceFile: botocore.credentials
    functionUses: 3
    functionsReached:
    - dateutil.parser.parse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 409
    functionName: botocore.credentials.RefreshableCredentials.access_key
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - client.assume_role
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - botocore.credentials.RefreshableCredentials._is_expired
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - io.BytesIO.lower
    - botocore.config.Config.__init__
    - original.params.items
    - copy.deepcopy.get
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - new_time.strftime
    - botocore.utils.IMDSFetcher._get_request
    - io.BytesIO.tell
    - conn.urlopen
    - botocore.config.Config._record_user_provided_options
    - botocore.config.Config._validate_retry_configuration
    - base64.b64encode
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.utils.ContainerMetadataFetcher.retrieve_full_uri
    - botocore.httpsession.URLLib3Session._get_request_target
    - dateutil.tz.tzlocal
    - <builtin>.hasattr
    - datetime.datetime.fromtimestamp
    - botocore.utils.ContainerMetadataFetcher._get_response
    - botocore.credentials.Credentials.get_frozen_credentials
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - <builtin>.str
    - botocore.utils.ContainerMetadataFetcher._retrieve_credentials
    - random.randint
    - request.prepare
    - dateutil.parser.parse.total_seconds
    - datetime.datetime.utcnow
    - botocore.credentials._serialize_if_needed
    - botocore.awsrequest.AWSResponse
    - botocore.credentials._parse_if_needed
    - proxy_url.startswith
    - logger.debug
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - logger.warning
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._assume_role_kwargs
    - botocore.credentials.CachedCredentialFetcher.fetch_credentials
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - <builtin>.enumerate
    - collections.namedtuple
    - os.environ.get
    - copy.copy
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - copy.deepcopy
    - botocore.credentials._local_now
    - botocore.credentials.ContainerProvider._create_fetcher.fetch_creds
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - botocore.credentials.CachedCredentialFetcher._get_credentials
    - s3.get
    - botocore.credentials.RefreshableCredentials._protected_refresh
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.ContainerMetadataFetcher._check_if_whitelisted_host
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.httpsession.URLLib3Session._chunked
    - botocore.config.Config._validate_s3_configuration
    - <builtin>.super
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.credentials.RefreshableCredentials.refresh_needed
    - botocore.credentials.CachedCredentialFetcher._load_from_cache
    - retries.items
    - botocore.utils.InstanceMetadataFetcher.retrieve_iam_role_credentials
    - <builtin>.bool
    - botocore.utils.InstanceMetadataFetcher._evaluate_expiration
    - config_vars.update
    - botocore.credentials.RefreshableCredentials._normalize
    - dateutil.parser.parse
    - botocore.credentials.AssumeRoleCredentialFetcher._get_credentials
    - typing.NamedTuple.expiration.total_seconds
    - botocore.utils.ContainerMetadataFetcher._validate_allowed_url
    - io.BytesIO.encode
    - <builtin>.range
    - botocore.httpsession.URLLib3Session._path_url
    - headers.get
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - initial_token_data.get_frozen_token
    - botocore.awsrequest.AWSRequest.prepare
    - botocore.credentials.RefreshableCredentials._seconds_remaining
    - client.assume_role_with_web_identity
    - botocore.credentials.EnvProvider._create_credentials_fetcher.fetch_credentials
    - botocore.compat.ensure_unicode
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    - botocore.utils.InstanceMetadataFetcher._get_iam_role
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.credentials.RefreshableCredentials._set_from_data
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - botocore.credentials.CachedCredentialFetcher._is_expired
    - botocore.utils.IMDSFetcher._fetch_metadata_token
    - urllib3.proxy_from_url
    - logger.info
    - botocore.utils.IMDSFetcher._default_retry
    - response.content.decode
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - client.get_role_credentials
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - kwargs.items
    - credentials.get
    - botocore.awsrequest.HeadersDict.__init__
    - dateutil.tz.tzutc
    - botocore.credentials.RefreshableCredentials._refresh
    - io.BytesIO.seek
    - botocore.utils.IMDSFetcher._assert_enabled
    - logger_args.append
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._get_credentials
    - headers.update
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.credentials.DeferredRefreshableCredentials.refresh_needed
    - botocore.credentials.RefreshableCredentials.get_frozen_credentials
    - botocore.credentials.AssumeRoleCredentialFetcher._create_client
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - delim.join
    - botocore.compat.ensure_bytes
    - botocore.utils.IMDSFetcher._construct_url
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - value.isoformat
    - datetime.timedelta
    - botocore.utils.IMDSFetcher._is_empty
    - urllib3.util.url.parse_url
    - <builtin>.setattr
    - botocore.credentials.SSOCredentialFetcher._parse_timestamp
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - urllib.parse.urlencode.items
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    - botocore.compat.urlparse
    - datetime.datetime.strptime
    - botocore.credentials.CachedCredentialFetcher._get_cached_credentials
    - botocore.httpsession._is_ipaddress
    - botocore.utils.FileWebIdentityTokenLoader.__init__
    - botocore.credentials.SSOCredentialFetcher._get_credentials
    - e.kwargs.get
    - botocore.utils.InstanceMetadataFetcher._get_credentials
    - botocore.compat.total_seconds
    - botocore.credentials.CachedCredentialFetcher._write_to_cache
    - botocore.credentials.AssumeRoleCredentialFetcher._assume_role_kwargs
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.utils.InstanceMetadataFetcher._contains_all_credential_fields
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.credentials.create_mfa_serial_refresher._Refresher.__init__
    - botocore.utils.IMDSFetcher._add_user_agent
    - value.strftime
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - datetime.datetime.now
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - timestamp.strftime
    - config_vars.items
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    - botocore.utils.IMDSFetcher._log_imds_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 480
    functionName: botocore.credentials.RefreshableCredentials._refresh
    functionSourceFile: botocore.credentials
    functionUses: 10
    functionsReached:
    - client.assume_role
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - botocore.credentials.RefreshableCredentials._is_expired
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - io.BytesIO.lower
    - botocore.config.Config.__init__
    - original.params.items
    - copy.deepcopy.get
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - new_time.strftime
    - botocore.utils.IMDSFetcher._get_request
    - io.BytesIO.tell
    - conn.urlopen
    - botocore.config.Config._record_user_provided_options
    - botocore.config.Config._validate_retry_configuration
    - base64.b64encode
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.utils.ContainerMetadataFetcher.retrieve_full_uri
    - botocore.httpsession.URLLib3Session._get_request_target
    - dateutil.tz.tzlocal
    - <builtin>.hasattr
    - datetime.datetime.fromtimestamp
    - botocore.utils.ContainerMetadataFetcher._get_response
    - botocore.credentials.Credentials.get_frozen_credentials
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - <builtin>.str
    - botocore.utils.ContainerMetadataFetcher._retrieve_credentials
    - random.randint
    - request.prepare
    - dateutil.parser.parse.total_seconds
    - datetime.datetime.utcnow
    - botocore.credentials._serialize_if_needed
    - botocore.awsrequest.AWSResponse
    - botocore.credentials._parse_if_needed
    - proxy_url.startswith
    - logger.debug
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._assume_role_kwargs
    - botocore.credentials.CachedCredentialFetcher.fetch_credentials
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - <builtin>.enumerate
    - collections.namedtuple
    - os.environ.get
    - copy.copy
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - copy.deepcopy
    - botocore.credentials._local_now
    - botocore.credentials.ContainerProvider._create_fetcher.fetch_creds
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - botocore.credentials.CachedCredentialFetcher._get_credentials
    - s3.get
    - botocore.credentials.RefreshableCredentials._protected_refresh
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.ContainerMetadataFetcher._check_if_whitelisted_host
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.httpsession.URLLib3Session._chunked
    - botocore.config.Config._validate_s3_configuration
    - <builtin>.super
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.credentials.RefreshableCredentials.refresh_needed
    - botocore.credentials.CachedCredentialFetcher._load_from_cache
    - retries.items
    - botocore.utils.InstanceMetadataFetcher.retrieve_iam_role_credentials
    - <builtin>.bool
    - botocore.utils.InstanceMetadataFetcher._evaluate_expiration
    - config_vars.update
    - botocore.credentials.RefreshableCredentials._normalize
    - dateutil.parser.parse
    - botocore.credentials.AssumeRoleCredentialFetcher._get_credentials
    - typing.NamedTuple.expiration.total_seconds
    - botocore.utils.ContainerMetadataFetcher._validate_allowed_url
    - io.BytesIO.encode
    - <builtin>.range
    - botocore.httpsession.URLLib3Session._path_url
    - headers.get
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - initial_token_data.get_frozen_token
    - botocore.awsrequest.AWSRequest.prepare
    - botocore.credentials.RefreshableCredentials._seconds_remaining
    - client.assume_role_with_web_identity
    - botocore.credentials.EnvProvider._create_credentials_fetcher.fetch_credentials
    - botocore.utils.IMDSFetcher._log_imds_response
    - botocore.compat.ensure_unicode
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    - botocore.utils.InstanceMetadataFetcher._get_iam_role
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.credentials.RefreshableCredentials._set_from_data
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - botocore.credentials.CachedCredentialFetcher._is_expired
    - botocore.utils.IMDSFetcher._fetch_metadata_token
    - urllib3.proxy_from_url
    - logger.info
    - botocore.utils.IMDSFetcher._default_retry
    - response.content.decode
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - client.get_role_credentials
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - kwargs.items
    - credentials.get
    - botocore.awsrequest.HeadersDict.__init__
    - dateutil.tz.tzutc
    - botocore.credentials.RefreshableCredentials._refresh
    - io.BytesIO.seek
    - botocore.utils.IMDSFetcher._assert_enabled
    - logger_args.append
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._get_credentials
    - headers.update
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.credentials.DeferredRefreshableCredentials.refresh_needed
    - botocore.credentials.RefreshableCredentials.get_frozen_credentials
    - botocore.credentials.AssumeRoleCredentialFetcher._create_client
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - delim.join
    - botocore.compat.ensure_bytes
    - botocore.utils.IMDSFetcher._construct_url
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - value.isoformat
    - botocore.utils.IMDSFetcher._is_empty
    - datetime.timedelta
    - urllib3.util.url.parse_url
    - <builtin>.setattr
    - botocore.credentials.SSOCredentialFetcher._parse_timestamp
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - urllib.parse.urlencode.items
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    - botocore.compat.urlparse
    - datetime.datetime.strptime
    - botocore.credentials.CachedCredentialFetcher._get_cached_credentials
    - botocore.httpsession._is_ipaddress
    - botocore.utils.FileWebIdentityTokenLoader.__init__
    - botocore.credentials.SSOCredentialFetcher._get_credentials
    - e.kwargs.get
    - botocore.utils.InstanceMetadataFetcher._get_credentials
    - botocore.compat.total_seconds
    - botocore.credentials.CachedCredentialFetcher._write_to_cache
    - botocore.credentials.AssumeRoleCredentialFetcher._assume_role_kwargs
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.utils.InstanceMetadataFetcher._contains_all_credential_fields
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.credentials.create_mfa_serial_refresher._Refresher.__init__
    - botocore.utils.IMDSFetcher._add_user_agent
    - value.strftime
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - datetime.datetime.now
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - timestamp.strftime
    - config_vars.items
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 422
    functionName: botocore.credentials.RefreshableCredentials.secret_key
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - client.assume_role
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - botocore.credentials.RefreshableCredentials._is_expired
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - io.BytesIO.lower
    - botocore.config.Config.__init__
    - original.params.items
    - copy.deepcopy.get
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - new_time.strftime
    - botocore.utils.IMDSFetcher._get_request
    - io.BytesIO.tell
    - conn.urlopen
    - botocore.config.Config._record_user_provided_options
    - botocore.config.Config._validate_retry_configuration
    - base64.b64encode
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.utils.ContainerMetadataFetcher.retrieve_full_uri
    - botocore.httpsession.URLLib3Session._get_request_target
    - dateutil.tz.tzlocal
    - <builtin>.hasattr
    - datetime.datetime.fromtimestamp
    - botocore.utils.ContainerMetadataFetcher._get_response
    - botocore.credentials.Credentials.get_frozen_credentials
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - <builtin>.str
    - botocore.utils.ContainerMetadataFetcher._retrieve_credentials
    - random.randint
    - request.prepare
    - dateutil.parser.parse.total_seconds
    - datetime.datetime.utcnow
    - botocore.credentials._serialize_if_needed
    - botocore.awsrequest.AWSResponse
    - botocore.credentials._parse_if_needed
    - proxy_url.startswith
    - logger.debug
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - logger.warning
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._assume_role_kwargs
    - botocore.credentials.CachedCredentialFetcher.fetch_credentials
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - <builtin>.enumerate
    - collections.namedtuple
    - os.environ.get
    - copy.copy
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - copy.deepcopy
    - botocore.credentials._local_now
    - botocore.credentials.ContainerProvider._create_fetcher.fetch_creds
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - botocore.credentials.CachedCredentialFetcher._get_credentials
    - s3.get
    - botocore.credentials.RefreshableCredentials._protected_refresh
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.ContainerMetadataFetcher._check_if_whitelisted_host
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.httpsession.URLLib3Session._chunked
    - botocore.config.Config._validate_s3_configuration
    - <builtin>.super
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.credentials.RefreshableCredentials.refresh_needed
    - botocore.credentials.CachedCredentialFetcher._load_from_cache
    - retries.items
    - botocore.utils.InstanceMetadataFetcher.retrieve_iam_role_credentials
    - <builtin>.bool
    - botocore.utils.InstanceMetadataFetcher._evaluate_expiration
    - config_vars.update
    - botocore.credentials.RefreshableCredentials._normalize
    - dateutil.parser.parse
    - botocore.credentials.AssumeRoleCredentialFetcher._get_credentials
    - typing.NamedTuple.expiration.total_seconds
    - botocore.utils.ContainerMetadataFetcher._validate_allowed_url
    - io.BytesIO.encode
    - <builtin>.range
    - botocore.httpsession.URLLib3Session._path_url
    - headers.get
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - initial_token_data.get_frozen_token
    - botocore.awsrequest.AWSRequest.prepare
    - botocore.credentials.RefreshableCredentials._seconds_remaining
    - client.assume_role_with_web_identity
    - botocore.credentials.EnvProvider._create_credentials_fetcher.fetch_credentials
    - botocore.compat.ensure_unicode
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    - botocore.utils.InstanceMetadataFetcher._get_iam_role
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.credentials.RefreshableCredentials._set_from_data
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - botocore.credentials.CachedCredentialFetcher._is_expired
    - botocore.utils.IMDSFetcher._fetch_metadata_token
    - urllib3.proxy_from_url
    - logger.info
    - botocore.utils.IMDSFetcher._default_retry
    - response.content.decode
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - client.get_role_credentials
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - kwargs.items
    - credentials.get
    - botocore.awsrequest.HeadersDict.__init__
    - dateutil.tz.tzutc
    - botocore.credentials.RefreshableCredentials._refresh
    - io.BytesIO.seek
    - botocore.utils.IMDSFetcher._assert_enabled
    - logger_args.append
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._get_credentials
    - headers.update
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.credentials.DeferredRefreshableCredentials.refresh_needed
    - botocore.credentials.RefreshableCredentials.get_frozen_credentials
    - botocore.credentials.AssumeRoleCredentialFetcher._create_client
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - delim.join
    - botocore.compat.ensure_bytes
    - botocore.utils.IMDSFetcher._construct_url
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - value.isoformat
    - datetime.timedelta
    - botocore.utils.IMDSFetcher._is_empty
    - urllib3.util.url.parse_url
    - <builtin>.setattr
    - botocore.credentials.SSOCredentialFetcher._parse_timestamp
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - urllib.parse.urlencode.items
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    - botocore.compat.urlparse
    - datetime.datetime.strptime
    - botocore.credentials.CachedCredentialFetcher._get_cached_credentials
    - botocore.httpsession._is_ipaddress
    - botocore.utils.FileWebIdentityTokenLoader.__init__
    - botocore.credentials.SSOCredentialFetcher._get_credentials
    - e.kwargs.get
    - botocore.utils.InstanceMetadataFetcher._get_credentials
    - botocore.compat.total_seconds
    - botocore.credentials.CachedCredentialFetcher._write_to_cache
    - botocore.credentials.AssumeRoleCredentialFetcher._assume_role_kwargs
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.utils.InstanceMetadataFetcher._contains_all_credential_fields
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.credentials.create_mfa_serial_refresher._Refresher.__init__
    - botocore.utils.IMDSFetcher._add_user_agent
    - value.strftime
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - datetime.datetime.now
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - timestamp.strftime
    - config_vars.items
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    - botocore.utils.IMDSFetcher._log_imds_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 435
    functionName: botocore.credentials.RefreshableCredentials.token
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - client.assume_role
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - botocore.credentials.RefreshableCredentials._is_expired
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - io.BytesIO.lower
    - botocore.config.Config.__init__
    - original.params.items
    - copy.deepcopy.get
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - new_time.strftime
    - botocore.utils.IMDSFetcher._get_request
    - io.BytesIO.tell
    - conn.urlopen
    - botocore.config.Config._record_user_provided_options
    - botocore.config.Config._validate_retry_configuration
    - base64.b64encode
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.utils.ContainerMetadataFetcher.retrieve_full_uri
    - botocore.httpsession.URLLib3Session._get_request_target
    - dateutil.tz.tzlocal
    - <builtin>.hasattr
    - datetime.datetime.fromtimestamp
    - botocore.utils.ContainerMetadataFetcher._get_response
    - botocore.credentials.Credentials.get_frozen_credentials
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - <builtin>.str
    - botocore.utils.ContainerMetadataFetcher._retrieve_credentials
    - random.randint
    - request.prepare
    - dateutil.parser.parse.total_seconds
    - datetime.datetime.utcnow
    - botocore.credentials._serialize_if_needed
    - botocore.awsrequest.AWSResponse
    - botocore.credentials._parse_if_needed
    - proxy_url.startswith
    - logger.debug
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - logger.warning
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._assume_role_kwargs
    - botocore.credentials.CachedCredentialFetcher.fetch_credentials
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - <builtin>.enumerate
    - collections.namedtuple
    - os.environ.get
    - copy.copy
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - copy.deepcopy
    - botocore.credentials._local_now
    - botocore.credentials.ContainerProvider._create_fetcher.fetch_creds
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - botocore.credentials.CachedCredentialFetcher._get_credentials
    - s3.get
    - botocore.credentials.RefreshableCredentials._protected_refresh
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.ContainerMetadataFetcher._check_if_whitelisted_host
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.httpsession.URLLib3Session._chunked
    - botocore.config.Config._validate_s3_configuration
    - <builtin>.super
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.credentials.RefreshableCredentials.refresh_needed
    - botocore.credentials.CachedCredentialFetcher._load_from_cache
    - retries.items
    - botocore.utils.InstanceMetadataFetcher.retrieve_iam_role_credentials
    - <builtin>.bool
    - botocore.utils.InstanceMetadataFetcher._evaluate_expiration
    - config_vars.update
    - botocore.credentials.RefreshableCredentials._normalize
    - dateutil.parser.parse
    - botocore.credentials.AssumeRoleCredentialFetcher._get_credentials
    - typing.NamedTuple.expiration.total_seconds
    - botocore.utils.ContainerMetadataFetcher._validate_allowed_url
    - io.BytesIO.encode
    - <builtin>.range
    - botocore.httpsession.URLLib3Session._path_url
    - headers.get
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - initial_token_data.get_frozen_token
    - botocore.awsrequest.AWSRequest.prepare
    - botocore.credentials.RefreshableCredentials._seconds_remaining
    - client.assume_role_with_web_identity
    - botocore.credentials.EnvProvider._create_credentials_fetcher.fetch_credentials
    - botocore.compat.ensure_unicode
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    - botocore.utils.InstanceMetadataFetcher._get_iam_role
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.credentials.RefreshableCredentials._set_from_data
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - botocore.credentials.CachedCredentialFetcher._is_expired
    - botocore.utils.IMDSFetcher._fetch_metadata_token
    - urllib3.proxy_from_url
    - logger.info
    - botocore.utils.IMDSFetcher._default_retry
    - response.content.decode
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - client.get_role_credentials
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - kwargs.items
    - credentials.get
    - botocore.awsrequest.HeadersDict.__init__
    - dateutil.tz.tzutc
    - botocore.credentials.RefreshableCredentials._refresh
    - io.BytesIO.seek
    - botocore.utils.IMDSFetcher._assert_enabled
    - logger_args.append
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._get_credentials
    - headers.update
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.credentials.DeferredRefreshableCredentials.refresh_needed
    - botocore.credentials.RefreshableCredentials.get_frozen_credentials
    - botocore.credentials.AssumeRoleCredentialFetcher._create_client
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - delim.join
    - botocore.compat.ensure_bytes
    - botocore.utils.IMDSFetcher._construct_url
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - value.isoformat
    - datetime.timedelta
    - botocore.utils.IMDSFetcher._is_empty
    - urllib3.util.url.parse_url
    - <builtin>.setattr
    - botocore.credentials.SSOCredentialFetcher._parse_timestamp
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - urllib.parse.urlencode.items
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    - botocore.compat.urlparse
    - datetime.datetime.strptime
    - botocore.credentials.CachedCredentialFetcher._get_cached_credentials
    - botocore.httpsession._is_ipaddress
    - botocore.utils.FileWebIdentityTokenLoader.__init__
    - botocore.credentials.SSOCredentialFetcher._get_credentials
    - e.kwargs.get
    - botocore.utils.InstanceMetadataFetcher._get_credentials
    - botocore.compat.total_seconds
    - botocore.credentials.CachedCredentialFetcher._write_to_cache
    - botocore.credentials.AssumeRoleCredentialFetcher._assume_role_kwargs
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.utils.InstanceMetadataFetcher._contains_all_credential_fields
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.credentials.create_mfa_serial_refresher._Refresher.__init__
    - botocore.utils.IMDSFetcher._add_user_agent
    - value.strftime
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - datetime.datetime.now
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - timestamp.strftime
    - config_vars.items
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    - botocore.utils.IMDSFetcher._log_imds_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 438
    functionName: botocore.credentials.RefreshableCredentials._seconds_remaining
    functionSourceFile: botocore.credentials
    functionUses: 13
    functionsReached:
    - typing.NamedTuple.expiration.total_seconds
    - botocore.credentials._local_now
    - dateutil.parser.parse.total_seconds
    - dateutil.tz.tzlocal
    - datetime.datetime.now
    - botocore.compat.total_seconds
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argNames:
    - self
    - refresh_in
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 442
    functionName: botocore.credentials.RefreshableCredentials.refresh_needed
    functionSourceFile: botocore.credentials
    functionUses: 12
    functionsReached:
    - logger.debug
    - typing.NamedTuple.expiration.total_seconds
    - dateutil.parser.parse.total_seconds
    - botocore.credentials._local_now
    - dateutil.tz.tzlocal
    - datetime.datetime.now
    - botocore.credentials.RefreshableCredentials._seconds_remaining
    - botocore.compat.total_seconds
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 476
    functionName: botocore.credentials.RefreshableCredentials._is_expired
    functionSourceFile: botocore.credentials
    functionUses: 11
    functionsReached:
    - logger.debug
    - typing.NamedTuple.expiration.total_seconds
    - dateutil.parser.parse.total_seconds
    - botocore.credentials._local_now
    - dateutil.tz.tzlocal
    - datetime.datetime.now
    - <builtin>.super
    - botocore.credentials.RefreshableCredentials.refresh_needed
    - botocore.credentials.RefreshableCredentials._seconds_remaining
    - botocore.credentials.DeferredRefreshableCredentials.refresh_needed
    - botocore.compat.total_seconds
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - refresh_in
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 631
    functionName: botocore.credentials.DeferredRefreshableCredentials.refresh_needed
    functionSourceFile: botocore.credentials
    functionUses: 12
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - is_mandatory
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 510
    functionName: botocore.credentials.RefreshableCredentials._protected_refresh
    functionSourceFile: botocore.credentials
    functionUses: 10
    functionsReached:
    - client.assume_role
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - botocore.credentials.RefreshableCredentials._is_expired
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - io.BytesIO.lower
    - botocore.config.Config.__init__
    - original.params.items
    - copy.deepcopy.get
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - new_time.strftime
    - botocore.utils.IMDSFetcher._get_request
    - io.BytesIO.tell
    - conn.urlopen
    - botocore.config.Config._record_user_provided_options
    - botocore.config.Config._validate_retry_configuration
    - base64.b64encode
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.utils.ContainerMetadataFetcher.retrieve_full_uri
    - botocore.httpsession.URLLib3Session._get_request_target
    - dateutil.tz.tzlocal
    - <builtin>.hasattr
    - datetime.datetime.fromtimestamp
    - botocore.utils.ContainerMetadataFetcher._get_response
    - botocore.credentials.Credentials.get_frozen_credentials
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - <builtin>.str
    - botocore.utils.ContainerMetadataFetcher._retrieve_credentials
    - random.randint
    - request.prepare
    - dateutil.parser.parse.total_seconds
    - datetime.datetime.utcnow
    - botocore.credentials._serialize_if_needed
    - botocore.awsrequest.AWSResponse
    - botocore.credentials._parse_if_needed
    - proxy_url.startswith
    - logger.debug
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - logger.warning
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._assume_role_kwargs
    - botocore.credentials.CachedCredentialFetcher.fetch_credentials
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - <builtin>.enumerate
    - collections.namedtuple
    - os.environ.get
    - copy.copy
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - copy.deepcopy
    - botocore.credentials._local_now
    - botocore.credentials.ContainerProvider._create_fetcher.fetch_creds
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - botocore.credentials.CachedCredentialFetcher._get_credentials
    - s3.get
    - botocore.credentials.RefreshableCredentials._protected_refresh
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.utils.ContainerMetadataFetcher._check_if_whitelisted_host
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.httpsession.URLLib3Session._chunked
    - botocore.config.Config._validate_s3_configuration
    - <builtin>.super
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.credentials.RefreshableCredentials.refresh_needed
    - botocore.credentials.CachedCredentialFetcher._load_from_cache
    - retries.items
    - botocore.utils.InstanceMetadataFetcher.retrieve_iam_role_credentials
    - <builtin>.bool
    - botocore.utils.InstanceMetadataFetcher._evaluate_expiration
    - config_vars.update
    - botocore.credentials.RefreshableCredentials._normalize
    - dateutil.parser.parse
    - botocore.credentials.AssumeRoleCredentialFetcher._get_credentials
    - typing.NamedTuple.expiration.total_seconds
    - botocore.utils.ContainerMetadataFetcher._validate_allowed_url
    - io.BytesIO.encode
    - <builtin>.range
    - botocore.httpsession.URLLib3Session._path_url
    - headers.get
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - initial_token_data.get_frozen_token
    - botocore.awsrequest.AWSRequest.prepare
    - botocore.credentials.RefreshableCredentials._seconds_remaining
    - client.assume_role_with_web_identity
    - botocore.credentials.EnvProvider._create_credentials_fetcher.fetch_credentials
    - botocore.compat.ensure_unicode
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    - botocore.utils.InstanceMetadataFetcher._get_iam_role
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.awsrequest.AWSRequest.__init__
    - botocore.credentials.RefreshableCredentials._set_from_data
    - auth_str.encode
    - botocore.utils.IMDSFetcher._fetch_metadata_token
    - botocore.credentials.CachedCredentialFetcher._is_expired
    - urllib3.proxy_from_url
    - logger.info
    - botocore.utils.IMDSFetcher._default_retry
    - response.content.decode
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - client.get_role_credentials
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - kwargs.items
    - credentials.get
    - botocore.awsrequest.HeadersDict.__init__
    - dateutil.tz.tzutc
    - botocore.credentials.RefreshableCredentials._refresh
    - io.BytesIO.seek
    - botocore.utils.IMDSFetcher._assert_enabled
    - logger_args.append
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._get_credentials
    - headers.update
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.credentials.DeferredRefreshableCredentials.refresh_needed
    - botocore.credentials.RefreshableCredentials.get_frozen_credentials
    - botocore.credentials.AssumeRoleCredentialFetcher._create_client
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - delim.join
    - botocore.compat.ensure_bytes
    - botocore.utils.IMDSFetcher._construct_url
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - value.isoformat
    - datetime.timedelta
    - botocore.utils.IMDSFetcher._is_empty
    - urllib3.util.url.parse_url
    - <builtin>.setattr
    - botocore.credentials.SSOCredentialFetcher._parse_timestamp
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - urllib.parse.urlencode.items
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    - botocore.compat.urlparse
    - datetime.datetime.strptime
    - botocore.credentials.CachedCredentialFetcher._get_cached_credentials
    - botocore.httpsession._is_ipaddress
    - botocore.utils.FileWebIdentityTokenLoader.__init__
    - botocore.credentials.SSOCredentialFetcher._get_credentials
    - e.kwargs.get
    - botocore.utils.InstanceMetadataFetcher._get_credentials
    - botocore.credentials.CachedCredentialFetcher._write_to_cache
    - botocore.credentials.AssumeRoleCredentialFetcher._assume_role_kwargs
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.utils.InstanceMetadataFetcher._contains_all_credential_fields
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.credentials.create_mfa_serial_refresher._Refresher.__init__
    - botocore.utils.IMDSFetcher._add_user_agent
    - value.strftime
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - datetime.datetime.now
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - timestamp.strftime
    - config_vars.items
    - botocore.compat.total_seconds
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    - botocore.utils.IMDSFetcher._log_imds_response
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 1927
    functionName: botocore.credentials.ContainerProvider._create_fetcher.fetch_creds
    functionSourceFile: botocore.credentials
    functionUses: 13
    functionsReached:
    - urllib3.PoolManager.connection_from_url
    - logger.debug
    - <builtin>.isinstance
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - certifi.where
    - io.BytesIO.lower
    - headers.items
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - headers.update
    - json.loads
    - base64.b64encode.strip
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - proxy_manager_kwargs.update
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - os.environ.get
    - http.client.HTTPMessage.__init__
    - val.lower
    - botocore.compat.ensure_bytes
    - botocore.httpsession.get_cert_path
    - <builtin>.getattr
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - urllib3.util.url.parse_url
    - IPV6_ADDRZ_RE.match
    - conn.urlopen
    - base64.b64encode
    - url.startswith
    - botocore.httpsession.create_urllib3_context
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - botocore.awsrequest.AWSRequest.__init__
    - botocore.utils.ContainerMetadataFetcher._check_if_whitelisted_host
    - auth_str.encode
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.utils.ContainerMetadataFetcher.retrieve_full_uri
    - botocore.httpsession.URLLib3Session._get_request_target
    - botocore.httpsession.URLLib3Session._chunked
    - <builtin>.hasattr
    - botocore.compat.urlparse
    - botocore.httpsession._is_ipaddress
    - botocore.utils.ContainerMetadataFetcher._get_response
    - <builtin>.bool
    - urllib3.proxy_from_url
    - proxies_kwargs.items
    - botocore.utils.ContainerMetadataFetcher._retrieve_credentials
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - request.prepare
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.utils.ContainerMetadataFetcher._validate_allowed_url
    - response.content.decode
    - urllib.parse.urlparse
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - io.BytesIO.encode
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.URLLib3Session._path_url
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - headers.get
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised:
    - CredentialRetrievalError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 1
    argNames:
    - require_expiry
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1154
    functionName: botocore.credentials.EnvProvider._create_credentials_fetcher.fetch_credentials
    functionSourceFile: botocore.credentials
    functionUses: 12
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised:
    - PartialCredentialsError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 553
    functionName: botocore.credentials.RefreshableCredentials._set_from_data
    functionSourceFile: botocore.credentials
    functionUses: 11
    functionsReached:
    - dateutil.parser.parse
    - logger.debug
    - botocore.compat.ensure_unicode
    - botocore.credentials.RefreshableCredentials._normalize
    linkageType: pythonLinkage
    raised:
    - CredentialRetrievalError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 576
    functionName: botocore.credentials.RefreshableCredentials.get_frozen_credentials
    functionSourceFile: botocore.credentials
    functionUses: 10
    functionsReached:
    - client.assume_role
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - botocore.credentials.RefreshableCredentials._is_expired
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - io.BytesIO.lower
    - botocore.config.Config.__init__
    - original.params.items
    - copy.deepcopy.get
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - new_time.strftime
    - botocore.utils.IMDSFetcher._get_request
    - io.BytesIO.tell
    - conn.urlopen
    - botocore.config.Config._record_user_provided_options
    - botocore.config.Config._validate_retry_configuration
    - base64.b64encode
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.utils.ContainerMetadataFetcher.retrieve_full_uri
    - botocore.httpsession.URLLib3Session._get_request_target
    - dateutil.tz.tzlocal
    - <builtin>.hasattr
    - datetime.datetime.fromtimestamp
    - botocore.utils.ContainerMetadataFetcher._get_response
    - botocore.credentials.Credentials.get_frozen_credentials
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - <builtin>.str
    - botocore.utils.ContainerMetadataFetcher._retrieve_credentials
    - random.randint
    - request.prepare
    - dateutil.parser.parse.total_seconds
    - datetime.datetime.utcnow
    - botocore.credentials._serialize_if_needed
    - botocore.awsrequest.AWSResponse
    - botocore.credentials._parse_if_needed
    - proxy_url.startswith
    - logger.debug
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - logger.warning
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._assume_role_kwargs
    - botocore.credentials.CachedCredentialFetcher.fetch_credentials
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - <builtin>.enumerate
    - collections.namedtuple
    - os.environ.get
    - copy.copy
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - copy.deepcopy
    - botocore.credentials._local_now
    - botocore.credentials.ContainerProvider._create_fetcher.fetch_creds
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - botocore.credentials.CachedCredentialFetcher._get_credentials
    - s3.get
    - botocore.credentials.RefreshableCredentials._protected_refresh
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.ContainerMetadataFetcher._check_if_whitelisted_host
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.httpsession.URLLib3Session._chunked
    - botocore.config.Config._validate_s3_configuration
    - <builtin>.super
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.credentials.RefreshableCredentials.refresh_needed
    - botocore.credentials.CachedCredentialFetcher._load_from_cache
    - retries.items
    - botocore.utils.InstanceMetadataFetcher.retrieve_iam_role_credentials
    - <builtin>.bool
    - botocore.utils.InstanceMetadataFetcher._evaluate_expiration
    - config_vars.update
    - botocore.credentials.RefreshableCredentials._normalize
    - dateutil.parser.parse
    - botocore.credentials.AssumeRoleCredentialFetcher._get_credentials
    - typing.NamedTuple.expiration.total_seconds
    - botocore.utils.ContainerMetadataFetcher._validate_allowed_url
    - io.BytesIO.encode
    - <builtin>.range
    - botocore.httpsession.URLLib3Session._path_url
    - headers.get
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - initial_token_data.get_frozen_token
    - botocore.awsrequest.AWSRequest.prepare
    - botocore.credentials.RefreshableCredentials._seconds_remaining
    - client.assume_role_with_web_identity
    - botocore.credentials.EnvProvider._create_credentials_fetcher.fetch_credentials
    - botocore.compat.ensure_unicode
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    - botocore.utils.InstanceMetadataFetcher._get_iam_role
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.credentials.RefreshableCredentials._set_from_data
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - botocore.credentials.CachedCredentialFetcher._is_expired
    - botocore.utils.IMDSFetcher._fetch_metadata_token
    - urllib3.proxy_from_url
    - logger.info
    - botocore.utils.IMDSFetcher._default_retry
    - response.content.decode
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - client.get_role_credentials
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - kwargs.items
    - credentials.get
    - botocore.awsrequest.HeadersDict.__init__
    - dateutil.tz.tzutc
    - botocore.credentials.RefreshableCredentials._refresh
    - io.BytesIO.seek
    - botocore.utils.IMDSFetcher._assert_enabled
    - logger_args.append
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._get_credentials
    - headers.update
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.credentials.DeferredRefreshableCredentials.refresh_needed
    - botocore.credentials.RefreshableCredentials.get_frozen_credentials
    - botocore.credentials.AssumeRoleCredentialFetcher._create_client
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - delim.join
    - botocore.compat.ensure_bytes
    - botocore.utils.IMDSFetcher._construct_url
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - value.isoformat
    - datetime.timedelta
    - botocore.utils.IMDSFetcher._is_empty
    - urllib3.util.url.parse_url
    - <builtin>.setattr
    - botocore.credentials.SSOCredentialFetcher._parse_timestamp
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - urllib.parse.urlencode.items
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    - botocore.compat.urlparse
    - datetime.datetime.strptime
    - botocore.credentials.CachedCredentialFetcher._get_cached_credentials
    - botocore.httpsession._is_ipaddress
    - botocore.utils.FileWebIdentityTokenLoader.__init__
    - botocore.credentials.SSOCredentialFetcher._get_credentials
    - e.kwargs.get
    - botocore.utils.InstanceMetadataFetcher._get_credentials
    - botocore.compat.total_seconds
    - botocore.credentials.CachedCredentialFetcher._write_to_cache
    - botocore.credentials.AssumeRoleCredentialFetcher._assume_role_kwargs
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.utils.InstanceMetadataFetcher._contains_all_credential_fields
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.credentials.create_mfa_serial_refresher._Refresher.__init__
    - botocore.utils.IMDSFetcher._add_user_agent
    - value.strftime
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - datetime.datetime.now
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - timestamp.strftime
    - config_vars.items
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    - botocore.utils.IMDSFetcher._log_imds_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - refresh_using
    - method
    - time_fetcher
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 620
    functionName: botocore.credentials.DeferredRefreshableCredentials.__init__
    functionSourceFile: botocore.credentials
    functionUses: 7
    functionsReached:
    - threading.Lock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - cache
    - expiry_window_seconds
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 640
    functionName: botocore.credentials.CachedCredentialFetcher.__init__
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - hashlib.sha1.hexdigest
    - botocore.credentials.CachedCredentialFetcher._create_cache_key
    - json.dumps
    - args.encode
    - botocore.credentials.SSOCredentialFetcher._create_cache_key
    - botocore.credentials.CachedCredentialFetcher._make_file_safe
    - hashlib.sha1
    - filename.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2078
    functionName: botocore.credentials.SSOCredentialFetcher._create_cache_key
    functionSourceFile: botocore.credentials
    functionUses: 1
    functionsReached:
    - hashlib.sha1.hexdigest
    - json.dumps
    - args.encode
    - botocore.credentials.CachedCredentialFetcher._make_file_safe
    - hashlib.sha1
    - filename.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 649
    functionName: botocore.credentials.CachedCredentialFetcher._create_cache_key
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 652
    functionName: botocore.credentials.CachedCredentialFetcher._make_file_safe
    functionSourceFile: botocore.credentials
    functionUses: 3
    functionsReached:
    - filename.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: filename.replace
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 657
    functionName: botocore.credentials.CachedCredentialFetcher._get_credentials
    functionSourceFile: botocore.credentials
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 663
    functionName: botocore.credentials.CachedCredentialFetcher._get_cached_credentials
    functionSourceFile: botocore.credentials
    functionUses: 10
    functionsReached:
    - client.assume_role
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - botocore.credentials.RefreshableCredentials._is_expired
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - io.BytesIO.lower
    - botocore.config.Config.__init__
    - original.params.items
    - copy.deepcopy.get
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - new_time.strftime
    - botocore.utils.IMDSFetcher._get_request
    - io.BytesIO.tell
    - conn.urlopen
    - botocore.config.Config._record_user_provided_options
    - botocore.config.Config._validate_retry_configuration
    - base64.b64encode
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.utils.ContainerMetadataFetcher.retrieve_full_uri
    - botocore.httpsession.URLLib3Session._get_request_target
    - dateutil.tz.tzlocal
    - <builtin>.hasattr
    - datetime.datetime.fromtimestamp
    - botocore.utils.ContainerMetadataFetcher._get_response
    - botocore.credentials.Credentials.get_frozen_credentials
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - <builtin>.str
    - botocore.utils.ContainerMetadataFetcher._retrieve_credentials
    - random.randint
    - request.prepare
    - dateutil.parser.parse.total_seconds
    - datetime.datetime.utcnow
    - botocore.credentials._serialize_if_needed
    - botocore.awsrequest.AWSResponse
    - botocore.credentials._parse_if_needed
    - proxy_url.startswith
    - logger.debug
    - http.client.HTTPMessage.items
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._assume_role_kwargs
    - botocore.credentials.CachedCredentialFetcher.fetch_credentials
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - <builtin>.enumerate
    - collections.namedtuple
    - os.environ.get
    - copy.copy
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - copy.deepcopy
    - botocore.credentials._local_now
    - botocore.credentials.ContainerProvider._create_fetcher.fetch_creds
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - botocore.credentials.CachedCredentialFetcher._get_credentials
    - s3.get
    - botocore.credentials.RefreshableCredentials._protected_refresh
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.utils.ContainerMetadataFetcher._check_if_whitelisted_host
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.httpsession.URLLib3Session._chunked
    - botocore.config.Config._validate_s3_configuration
    - <builtin>.super
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.credentials.RefreshableCredentials.refresh_needed
    - botocore.credentials.CachedCredentialFetcher._load_from_cache
    - retries.items
    - botocore.utils.InstanceMetadataFetcher.retrieve_iam_role_credentials
    - <builtin>.bool
    - botocore.utils.InstanceMetadataFetcher._evaluate_expiration
    - config_vars.update
    - botocore.credentials.RefreshableCredentials._normalize
    - dateutil.parser.parse
    - botocore.credentials.AssumeRoleCredentialFetcher._get_credentials
    - typing.NamedTuple.expiration.total_seconds
    - botocore.utils.ContainerMetadataFetcher._validate_allowed_url
    - io.BytesIO.encode
    - <builtin>.range
    - botocore.httpsession.URLLib3Session._path_url
    - headers.get
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - initial_token_data.get_frozen_token
    - botocore.awsrequest.AWSRequest.prepare
    - botocore.credentials.RefreshableCredentials._seconds_remaining
    - client.assume_role_with_web_identity
    - botocore.credentials.EnvProvider._create_credentials_fetcher.fetch_credentials
    - botocore.utils.IMDSFetcher._log_imds_response
    - botocore.compat.ensure_unicode
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    - botocore.utils.InstanceMetadataFetcher._get_iam_role
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.awsrequest.AWSRequest.__init__
    - botocore.credentials.RefreshableCredentials._set_from_data
    - auth_str.encode
    - botocore.credentials.CachedCredentialFetcher._is_expired
    - botocore.utils.IMDSFetcher._fetch_metadata_token
    - urllib3.proxy_from_url
    - logger.info
    - botocore.utils.IMDSFetcher._default_retry
    - response.content.decode
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - client.get_role_credentials
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - kwargs.items
    - credentials.get
    - botocore.awsrequest.HeadersDict.__init__
    - dateutil.tz.tzutc
    - botocore.credentials.RefreshableCredentials._refresh
    - io.BytesIO.seek
    - botocore.utils.IMDSFetcher._assert_enabled
    - logger_args.append
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._get_credentials
    - headers.update
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.credentials.DeferredRefreshableCredentials.refresh_needed
    - botocore.credentials.RefreshableCredentials.get_frozen_credentials
    - botocore.credentials.AssumeRoleCredentialFetcher._create_client
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - delim.join
    - botocore.compat.ensure_bytes
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - botocore.utils.IMDSFetcher._construct_url
    - datetime.timedelta
    - botocore.utils.IMDSFetcher._is_empty
    - urllib3.util.url.parse_url
    - <builtin>.setattr
    - botocore.credentials.SSOCredentialFetcher._parse_timestamp
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - urllib.parse.urlencode.items
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    - botocore.compat.urlparse
    - datetime.datetime.strptime
    - botocore.credentials.CachedCredentialFetcher._get_cached_credentials
    - botocore.httpsession._is_ipaddress
    - botocore.utils.FileWebIdentityTokenLoader.__init__
    - botocore.credentials.SSOCredentialFetcher._get_credentials
    - e.kwargs.get
    - botocore.utils.InstanceMetadataFetcher._get_credentials
    - botocore.compat.total_seconds
    - botocore.credentials.AssumeRoleCredentialFetcher._assume_role_kwargs
    - botocore.credentials.CachedCredentialFetcher._write_to_cache
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.utils.InstanceMetadataFetcher._contains_all_credential_fields
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.credentials.create_mfa_serial_refresher._Refresher.__init__
    - value.strftime
    - botocore.utils.IMDSFetcher._add_user_agent
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - datetime.datetime.now
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - timestamp.strftime
    - config_vars.items
    - value.isoformat
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 685
    functionName: botocore.credentials.CachedCredentialFetcher._load_from_cache
    functionSourceFile: botocore.credentials
    functionUses: 11
    functionsReached:
    - dateutil.parser.parse
    - logger.debug
    - <builtin>.isinstance
    - copy.deepcopy
    - dateutil.parser.parse.total_seconds
    - typing.NamedTuple.expiration.total_seconds
    - botocore.credentials._local_now
    - dateutil.tz.tzlocal
    - datetime.datetime.now
    - botocore.compat.total_seconds
    - botocore.credentials.CachedCredentialFetcher._is_expired
    - botocore.credentials._parse_if_needed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 814
    functionName: botocore.credentials.AssumeRoleCredentialFetcher._get_credentials
    functionSourceFile: botocore.credentials
    functionUses: 10
    functionsReached:
    - client.assume_role
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - botocore.credentials.RefreshableCredentials._is_expired
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - io.BytesIO.lower
    - botocore.config.Config.__init__
    - original.params.items
    - copy.deepcopy.get
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - new_time.strftime
    - botocore.utils.IMDSFetcher._get_request
    - io.BytesIO.tell
    - conn.urlopen
    - botocore.config.Config._record_user_provided_options
    - botocore.config.Config._validate_retry_configuration
    - base64.b64encode
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.utils.ContainerMetadataFetcher.retrieve_full_uri
    - botocore.httpsession.URLLib3Session._get_request_target
    - dateutil.tz.tzlocal
    - <builtin>.hasattr
    - datetime.datetime.fromtimestamp
    - botocore.utils.ContainerMetadataFetcher._get_response
    - botocore.credentials.Credentials.get_frozen_credentials
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - <builtin>.str
    - botocore.utils.ContainerMetadataFetcher._retrieve_credentials
    - random.randint
    - request.prepare
    - dateutil.parser.parse.total_seconds
    - datetime.datetime.utcnow
    - botocore.credentials._serialize_if_needed
    - botocore.awsrequest.AWSResponse
    - botocore.credentials._parse_if_needed
    - proxy_url.startswith
    - logger.debug
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - logger.warning
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._assume_role_kwargs
    - botocore.credentials.CachedCredentialFetcher.fetch_credentials
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - <builtin>.enumerate
    - collections.namedtuple
    - os.environ.get
    - copy.copy
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - copy.deepcopy
    - botocore.credentials._local_now
    - botocore.credentials.ContainerProvider._create_fetcher.fetch_creds
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - botocore.credentials.CachedCredentialFetcher._get_credentials
    - s3.get
    - botocore.credentials.RefreshableCredentials._protected_refresh
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.ContainerMetadataFetcher._check_if_whitelisted_host
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.httpsession.URLLib3Session._chunked
    - botocore.config.Config._validate_s3_configuration
    - <builtin>.super
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.credentials.RefreshableCredentials.refresh_needed
    - botocore.credentials.CachedCredentialFetcher._load_from_cache
    - retries.items
    - botocore.utils.InstanceMetadataFetcher.retrieve_iam_role_credentials
    - <builtin>.bool
    - botocore.utils.InstanceMetadataFetcher._evaluate_expiration
    - config_vars.update
    - botocore.credentials.RefreshableCredentials._normalize
    - dateutil.parser.parse
    - botocore.credentials.AssumeRoleCredentialFetcher._get_credentials
    - typing.NamedTuple.expiration.total_seconds
    - botocore.utils.ContainerMetadataFetcher._validate_allowed_url
    - io.BytesIO.encode
    - <builtin>.range
    - botocore.httpsession.URLLib3Session._path_url
    - headers.get
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - initial_token_data.get_frozen_token
    - botocore.awsrequest.AWSRequest.prepare
    - botocore.credentials.RefreshableCredentials._seconds_remaining
    - client.assume_role_with_web_identity
    - botocore.credentials.EnvProvider._create_credentials_fetcher.fetch_credentials
    - botocore.compat.ensure_unicode
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    - botocore.utils.InstanceMetadataFetcher._get_iam_role
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.credentials.RefreshableCredentials._set_from_data
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - botocore.credentials.CachedCredentialFetcher._is_expired
    - botocore.utils.IMDSFetcher._fetch_metadata_token
    - urllib3.proxy_from_url
    - logger.info
    - botocore.utils.IMDSFetcher._default_retry
    - response.content.decode
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - client.get_role_credentials
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - kwargs.items
    - credentials.get
    - botocore.awsrequest.HeadersDict.__init__
    - dateutil.tz.tzutc
    - botocore.credentials.RefreshableCredentials._refresh
    - io.BytesIO.seek
    - botocore.utils.IMDSFetcher._assert_enabled
    - logger_args.append
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._get_credentials
    - headers.update
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.credentials.DeferredRefreshableCredentials.refresh_needed
    - botocore.credentials.RefreshableCredentials.get_frozen_credentials
    - botocore.credentials.AssumeRoleCredentialFetcher._create_client
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - delim.join
    - botocore.compat.ensure_bytes
    - botocore.utils.IMDSFetcher._construct_url
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - value.isoformat
    - datetime.timedelta
    - botocore.utils.IMDSFetcher._is_empty
    - urllib3.util.url.parse_url
    - <builtin>.setattr
    - botocore.credentials.SSOCredentialFetcher._parse_timestamp
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - urllib.parse.urlencode.items
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    - botocore.compat.urlparse
    - datetime.datetime.strptime
    - botocore.credentials.CachedCredentialFetcher._get_cached_credentials
    - botocore.httpsession._is_ipaddress
    - botocore.utils.FileWebIdentityTokenLoader.__init__
    - botocore.credentials.SSOCredentialFetcher._get_credentials
    - e.kwargs.get
    - botocore.utils.InstanceMetadataFetcher._get_credentials
    - botocore.compat.total_seconds
    - botocore.credentials.AssumeRoleCredentialFetcher._assume_role_kwargs
    - botocore.credentials.CachedCredentialFetcher._write_to_cache
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.utils.InstanceMetadataFetcher._contains_all_credential_fields
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.credentials.create_mfa_serial_refresher._Refresher.__init__
    - botocore.utils.IMDSFetcher._add_user_agent
    - value.strftime
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - datetime.datetime.now
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - timestamp.strftime
    - config_vars.items
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    - botocore.utils.IMDSFetcher._log_imds_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2106
    functionName: botocore.credentials.SSOCredentialFetcher._get_credentials
    functionSourceFile: botocore.credentials
    functionUses: 11
    functionsReached:
    - <builtin>.len
    - dateutil.tz.tzutc
    - initial_token_data.get_frozen_token
    - botocore.config.Config.__init__
    - <builtin>.enumerate
    - copy.copy
    - s3.get
    - botocore.config.Config._record_user_provided_options
    - botocore.config.Config._validate_retry_configuration
    - <builtin>.list
    - <builtin>.setattr
    - botocore.credentials.SSOCredentialFetcher._parse_timestamp
    - datetime.datetime.fromtimestamp
    - botocore.config.Config._validate_s3_configuration
    - retries.items
    - config_vars.update
    - timestamp.strftime
    - client.get_role_credentials
    - config_vars.items
    - kwargs.items
    linkageType: pythonLinkage
    raised:
    - UnauthorizedSSOTokenError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 898
    functionName: botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._get_credentials
    functionSourceFile: botocore.credentials
    functionUses: 11
    functionsReached:
    - <builtin>.len
    - copy.copy
    - copy.deepcopy
    - s3.get
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._assume_role_kwargs
    - botocore.config.Config._validate_s3_configuration
    - botocore.config.Config.__init__
    - botocore.utils.FileWebIdentityTokenLoader.__init__
    - botocore.config.Config._record_user_provided_options
    - botocore.config.Config._validate_retry_configuration
    - retries.items
    - <builtin>.enumerate
    - <builtin>.list
    - <builtin>.setattr
    - config_vars.items
    - client.assume_role_with_web_identity
    - config_vars.update
    - kwargs.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 696
    functionName: botocore.credentials.CachedCredentialFetcher._write_to_cache
    functionSourceFile: botocore.credentials
    functionUses: 11
    functionsReached:
    - copy.deepcopy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - credentials
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 699
    functionName: botocore.credentials.CachedCredentialFetcher._is_expired
    functionSourceFile: botocore.credentials
    functionUses: 12
    functionsReached:
    - dateutil.parser.parse
    - <builtin>.isinstance
    - typing.NamedTuple.expiration.total_seconds
    - dateutil.parser.parse.total_seconds
    - botocore.credentials._local_now
    - dateutil.tz.tzlocal
    - datetime.datetime.now
    - botocore.compat.total_seconds
    - botocore.credentials._parse_if_needed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 6
    argNames:
    - self
    - client_creator
    - role_arn
    - extra_args
    - cache
    - expiry_window_seconds
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 707
    functionName: botocore.credentials.BaseAssumeRoleCredentialFetcher.__init__
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - copy.deepcopy
    - <builtin>.super
    - <builtin>.int
    - copy.deepcopy.get
    - botocore.credentials.BaseAssumeRoleCredentialFetcher._generate_assume_role_name
    - time.time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.deepcopy.get
    functionSourceFile: copy
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 731
    functionName: botocore.credentials.BaseAssumeRoleCredentialFetcher._generate_assume_role_name
    functionSourceFile: botocore.credentials
    functionUses: 1
    functionsReached:
    - <builtin>.int
    - time.time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 736
    functionName: botocore.credentials.BaseAssumeRoleCredentialFetcher._create_cache_key
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - hashlib.sha1.hexdigest
    - copy.deepcopy
    - json.dumps
    - json.loads
    - botocore.credentials.CachedCredentialFetcher._make_file_safe
    - hashlib.sha1
    - filename.replace
    - copy.deepcopy.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.deepcopy.encode
    functionSourceFile: copy
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hashlib.sha1.hexdigest
    functionSourceFile: hashlib
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 8
    argNames:
    - self
    - client_creator
    - source_credentials
    - role_arn
    - extra_args
    - mfa_prompter
    - cache
    - expiry_window_seconds
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 760
    functionName: botocore.credentials.AssumeRoleCredentialFetcher.__init__
    functionSourceFile: botocore.credentials
    functionUses: 4
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 820
    functionName: botocore.credentials.AssumeRoleCredentialFetcher._assume_role_kwargs
    functionSourceFile: botocore.credentials
    functionUses: 11
    functionsReached:
    - copy.deepcopy.get
    - copy.deepcopy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 838
    functionName: botocore.credentials.AssumeRoleCredentialFetcher._create_client
    functionSourceFile: botocore.credentials
    functionUses: 10
    functionsReached:
    - client.assume_role
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - botocore.credentials.RefreshableCredentials._is_expired
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - io.BytesIO.lower
    - botocore.config.Config.__init__
    - original.params.items
    - copy.deepcopy.get
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - new_time.strftime
    - botocore.utils.IMDSFetcher._get_request
    - io.BytesIO.tell
    - conn.urlopen
    - botocore.config.Config._record_user_provided_options
    - botocore.config.Config._validate_retry_configuration
    - base64.b64encode
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.utils.ContainerMetadataFetcher.retrieve_full_uri
    - botocore.httpsession.URLLib3Session._get_request_target
    - dateutil.tz.tzlocal
    - <builtin>.hasattr
    - datetime.datetime.fromtimestamp
    - botocore.utils.ContainerMetadataFetcher._get_response
    - botocore.credentials.Credentials.get_frozen_credentials
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - <builtin>.str
    - botocore.utils.ContainerMetadataFetcher._retrieve_credentials
    - random.randint
    - request.prepare
    - dateutil.parser.parse.total_seconds
    - datetime.datetime.utcnow
    - botocore.credentials._serialize_if_needed
    - botocore.awsrequest.AWSResponse
    - botocore.credentials._parse_if_needed
    - proxy_url.startswith
    - logger.debug
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - logger.warning
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._assume_role_kwargs
    - botocore.credentials.CachedCredentialFetcher.fetch_credentials
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - <builtin>.enumerate
    - collections.namedtuple
    - os.environ.get
    - copy.copy
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - copy.deepcopy
    - botocore.credentials._local_now
    - botocore.credentials.ContainerProvider._create_fetcher.fetch_creds
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - botocore.credentials.CachedCredentialFetcher._get_credentials
    - s3.get
    - botocore.credentials.RefreshableCredentials._protected_refresh
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.ContainerMetadataFetcher._check_if_whitelisted_host
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.httpsession.URLLib3Session._chunked
    - botocore.config.Config._validate_s3_configuration
    - <builtin>.super
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - botocore.credentials.RefreshableCredentials.refresh_needed
    - botocore.credentials.CachedCredentialFetcher._load_from_cache
    - retries.items
    - botocore.utils.InstanceMetadataFetcher.retrieve_iam_role_credentials
    - <builtin>.bool
    - botocore.utils.InstanceMetadataFetcher._evaluate_expiration
    - config_vars.update
    - botocore.credentials.RefreshableCredentials._normalize
    - dateutil.parser.parse
    - botocore.credentials.AssumeRoleCredentialFetcher._get_credentials
    - typing.NamedTuple.expiration.total_seconds
    - botocore.utils.ContainerMetadataFetcher._validate_allowed_url
    - io.BytesIO.encode
    - <builtin>.range
    - botocore.httpsession.URLLib3Session._path_url
    - headers.get
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - initial_token_data.get_frozen_token
    - botocore.awsrequest.AWSRequest.prepare
    - botocore.credentials.RefreshableCredentials._seconds_remaining
    - client.assume_role_with_web_identity
    - botocore.credentials.EnvProvider._create_credentials_fetcher.fetch_credentials
    - botocore.compat.ensure_unicode
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    - botocore.utils.InstanceMetadataFetcher._get_iam_role
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.credentials.RefreshableCredentials._set_from_data
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - botocore.credentials.CachedCredentialFetcher._is_expired
    - botocore.utils.IMDSFetcher._fetch_metadata_token
    - urllib3.proxy_from_url
    - logger.info
    - botocore.utils.IMDSFetcher._default_retry
    - response.content.decode
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - client.get_role_credentials
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - kwargs.items
    - credentials.get
    - botocore.awsrequest.HeadersDict.__init__
    - dateutil.tz.tzutc
    - botocore.credentials.RefreshableCredentials._refresh
    - io.BytesIO.seek
    - botocore.utils.IMDSFetcher._assert_enabled
    - logger_args.append
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._get_credentials
    - headers.update
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.credentials.DeferredRefreshableCredentials.refresh_needed
    - botocore.credentials.RefreshableCredentials.get_frozen_credentials
    - botocore.credentials.AssumeRoleCredentialFetcher._create_client
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - delim.join
    - botocore.compat.ensure_bytes
    - botocore.utils.IMDSFetcher._construct_url
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - value.isoformat
    - datetime.timedelta
    - botocore.utils.IMDSFetcher._is_empty
    - urllib3.util.url.parse_url
    - <builtin>.setattr
    - botocore.credentials.SSOCredentialFetcher._parse_timestamp
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - urllib.parse.urlencode.items
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    - botocore.compat.urlparse
    - datetime.datetime.strptime
    - botocore.credentials.CachedCredentialFetcher._get_cached_credentials
    - botocore.httpsession._is_ipaddress
    - botocore.utils.FileWebIdentityTokenLoader.__init__
    - botocore.credentials.SSOCredentialFetcher._get_credentials
    - e.kwargs.get
    - botocore.utils.InstanceMetadataFetcher._get_credentials
    - botocore.compat.total_seconds
    - botocore.credentials.CachedCredentialFetcher._write_to_cache
    - botocore.credentials.AssumeRoleCredentialFetcher._assume_role_kwargs
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.utils.InstanceMetadataFetcher._contains_all_credential_fields
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.credentials.create_mfa_serial_refresher._Refresher.__init__
    - botocore.utils.IMDSFetcher._add_user_agent
    - value.strftime
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - datetime.datetime.now
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - timestamp.strftime
    - config_vars.items
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    - botocore.utils.IMDSFetcher._log_imds_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 7
    argNames:
    - self
    - client_creator
    - web_identity_token_loader
    - role_arn
    - extra_args
    - cache
    - expiry_window_seconds
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 852
    functionName: botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher.__init__
    functionSourceFile: botocore.credentials
    functionUses: 2
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 907
    functionName: botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._assume_role_kwargs
    functionSourceFile: botocore.credentials
    functionUses: 12
    functionsReached:
    - copy.deepcopy
    - botocore.utils.FileWebIdentityTokenLoader.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.assume_role_with_web_identity
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - session
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 928
    functionName: botocore.credentials.CredentialProvider.__init__
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 931
    functionName: botocore.credentials.CredentialProvider.load
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - mapping
    - key_names
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 950
    functionName: botocore.credentials.CredentialProvider._extract_creds_from_mapping
    functionSourceFile: botocore.credentials
    functionUses: 3
    functionsReached:
    - found.append
    linkageType: pythonLinkage
    raised:
    - PartialCredentialsError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: found.append
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 972
    functionName: botocore.credentials.ProcessProvider.load
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - botocore.credentials.RefreshableCredentials._expiry_datetime
    - botocore.compat.json.loads
    - botocore.credentials.ProcessProvider._retrieve_credentials_using
    - botocore.credentials.Credentials._normalize
    - collections.namedtuple
    - botocore.compat.ensure_unicode
    - botocore.compat._windows_shell_split
    - buff.append
    - botocore.credentials.RefreshableCredentials.create_from_metadata
    - components.append
    - threading.Lock
    - parsed.get
    - shlex.split
    - botocore.credentials.RefreshableCredentials.__init__
    - p.communicate
    - math.floor
    - botocore.credentials.RefreshableCredentials._normalize
    - dateutil.parser.parse
    - botocore.credentials.Credentials.__init__
    - creds_dict.get
    - <builtin>.int
    - botocore.compat.compat_shell_split
    - stdout.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - credential_process
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 992
    functionName: botocore.credentials.ProcessProvider._retrieve_credentials_using
    functionSourceFile: botocore.credentials
    functionUses: 2
    functionsReached:
    - botocore.compat._windows_shell_split
    - buff.append
    - components.append
    - p.communicate
    - botocore.compat.json.loads
    - math.floor
    - <builtin>.int
    - parsed.get
    - botocore.compat.compat_shell_split
    - shlex.split
    - stdout.decode
    linkageType: pythonLinkage
    raised:
    - CredentialRetrievalError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: creds_dict.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: -1
    functionName: botocore.credentials.ProcessProvider.load.<lambda1>
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - botocore.compat._windows_shell_split
    - buff.append
    - components.append
    - p.communicate
    - botocore.compat.json.loads
    - math.floor
    - botocore.credentials.ProcessProvider._retrieve_credentials_using
    - <builtin>.int
    - parsed.get
    - botocore.compat.compat_shell_split
    - shlex.split
    - stdout.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: p.communicate
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stdout.decode
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.compat.json.loads
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1028
    functionName: botocore.credentials.ProcessProvider._credential_process
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - profile_config.get
    - botocore.credentials.ProfileProviderBuilder._create_process_provider.<lambda1>
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: profile_config.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 1044
    functionName: botocore.credentials.InstanceMetadataProvider.load
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - io.BytesIO.lower
    - original.params.items
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - new_time.strftime
    - botocore.utils.IMDSFetcher._get_request
    - io.BytesIO.tell
    - conn.urlopen
    - base64.b64encode
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.httpsession.URLLib3Session._get_request_target
    - <builtin>.hasattr
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - <builtin>.str
    - random.randint
    - datetime.datetime.utcnow
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - logger.debug
    - botocore.credentials.RefreshableCredentials._expiry_datetime
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - collections.namedtuple
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - os.environ.get
    - <builtin>.type
    - botocore.credentials.RefreshableCredentials.create_from_metadata
    - botocore.httpsession.get_cert_path
    - threading.Lock
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.httpsession.URLLib3Session._chunked
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - <builtin>.bool
    - botocore.utils.InstanceMetadataFetcher.retrieve_iam_role_credentials
    - botocore.utils.InstanceMetadataFetcher._evaluate_expiration
    - botocore.credentials.RefreshableCredentials._normalize
    - dateutil.parser.parse
    - io.BytesIO.encode
    - <builtin>.range
    - botocore.httpsession.URLLib3Session._path_url
    - headers.get
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - botocore.awsrequest.AWSRequest.prepare
    - botocore.compat.ensure_unicode
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    - botocore.utils.InstanceMetadataFetcher._get_iam_role
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - botocore.utils.IMDSFetcher._fetch_metadata_token
    - urllib3.proxy_from_url
    - logger.info
    - botocore.utils.IMDSFetcher._default_retry
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - credentials.get
    - botocore.awsrequest.HeadersDict.__init__
    - io.BytesIO.seek
    - botocore.utils.IMDSFetcher._assert_enabled
    - logger_args.append
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - base64.b64encode.strip
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - delim.join
    - botocore.compat.ensure_bytes
    - botocore.utils.IMDSFetcher._construct_url
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - botocore.utils.IMDSFetcher._is_empty
    - datetime.timedelta
    - urllib3.util.url.parse_url
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - urllib.parse.urlencode.items
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    - botocore.credentials.RefreshableCredentials.__init__
    - datetime.datetime.strptime
    - botocore.httpsession._is_ipaddress
    - e.kwargs.get
    - botocore.utils.InstanceMetadataFetcher._get_credentials
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.utils.InstanceMetadataFetcher._contains_all_credential_fields
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.utils.IMDSFetcher._add_user_agent
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    - botocore.utils.IMDSFetcher._log_imds_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1092
    functionName: botocore.credentials.EnvProvider._build_mapping
    functionSourceFile: botocore.credentials
    functionUses: 41
    functionsReached:
    - <builtin>.isinstance
    - mapping.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1116
    functionName: botocore.credentials.EnvProvider.load
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - os.environ.get
    - dateutil.parser.parse
    - botocore.credentials.RefreshableCredentials.__init__
    - threading.Lock
    - botocore.credentials.Credentials.__init__
    - botocore.credentials.EnvProvider._create_credentials_fetcher
    - botocore.compat.ensure_unicode
    - botocore.credentials.EnvProvider._create_credentials_fetcher.fetch_credentials
    - botocore.credentials.Credentials._normalize
    - logger.info
    - collections.namedtuple
    - botocore.credentials.RefreshableCredentials._normalize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1149
    functionName: botocore.credentials.EnvProvider._create_credentials_fetcher
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1208
    functionName: botocore.credentials.OriginalEC2Provider.load
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - botocore.utils.parse_key_val_file
    - val.strip
    - contents.splitlines
    - key.strip
    - os.path.expanduser
    - botocore.credentials.Credentials.__init__
    - line.split
    - f.read
    - botocore.utils.parse_key_val_file_contents
    - botocore.credentials.Credentials._normalize
    - logger.info
    - botocore.compat.ensure_unicode
    - botocore.credentials.RefreshableCredentials._normalize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1247
    functionName: botocore.credentials.SharedCredentialProvider.load
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - botocore.credentials.SharedCredentialProvider._get_session_token
    - botocore.credentials.Credentials.__init__
    - found.append
    - botocore.credentials.CredentialProvider._extract_creds_from_mapping
    - botocore.credentials.Credentials._normalize
    - logger.info
    - botocore.compat.ensure_unicode
    - botocore.credentials.RefreshableCredentials._normalize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - config
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1267
    functionName: botocore.credentials.SharedCredentialProvider._get_session_token
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1301
    functionName: botocore.credentials.ConfigProvider.load
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - botocore.credentials.Credentials.__init__
    - found.append
    - botocore.credentials.CredentialProvider._extract_creds_from_mapping
    - botocore.credentials.ConfigProvider._get_session_token
    - botocore.credentials.Credentials._normalize
    - logger.info
    - botocore.compat.ensure_unicode
    - botocore.credentials.RefreshableCredentials._normalize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - profile_config
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1327
    functionName: botocore.credentials.ConfigProvider._get_session_token
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1350
    functionName: botocore.credentials.BotoProvider.load
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - botocore.credentials.Credentials.__init__
    - found.append
    - botocore.credentials.CredentialProvider._extract_creds_from_mapping
    - botocore.credentials.Credentials._normalize
    - logger.info
    - botocore.compat.ensure_unicode
    - botocore.credentials.RefreshableCredentials._normalize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1455
    functionName: botocore.credentials.AssumeRoleProvider.load
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - source.load
    - logger.debug
    - botocore.credentials.AssumeRoleProvider._validate_credential_source
    - botocore.credentials.CanonicalNameCredentialSourcer.is_supported
    - botocore.utils.SSOTokenLoader.__init__
    - name.lower
    - botocore.credentials.CanonicalNameCredentialSourcer._get_provider_by_canonical_name
    - botocore.credentials.CredentialResolver.load_credentials
    - botocore.credentials.create_credential_resolver.<lambda1>
    - provider.load
    - botocore.credentials.ProcessProvider.__init__
    - botocore.credentials.Credentials._normalize
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.compat.ensure_unicode
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.DeferredRefreshableCredentials.__init__
    - botocore.credentials.AssumeRoleProvider._has_static_credentials
    - botocore.tokens.SSOTokenProvider.__init__
    - botocore.credentials.AssumeRoleProvider._resolve_source_credentials
    - threading.Lock
    - botocore.credentials.AssumeRoleCredentialFetcher.__init__
    - botocore.credentials.SSOProvider.__init__
    - profile.get
    - botocore.utils.JSONFileCache.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - botocore.credentials.AssumeRoleProvider._has_assume_role_config_vars
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CanonicalNameCredentialSourcer._get_provider
    - botocore.credentials.CanonicalNameCredentialSourcer._get_provider_by_method
    - canonical_name.lower
    - botocore.credentials.CredentialResolver.__init__
    - <builtin>.super
    - profiles.get
    - botocore.credentials.ConfigProvider.__init__
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.credentials.RefreshableCredentials._normalize
    - botocore.credentials.AssumeRoleProvider._validate_source_profile
    - botocore.credentials.create_mfa_serial_refresher._Refresher.__init__
    - botocore.credentials.AssumeRoleProvider._load_creds_via_assume_role
    - botocore.credentials.AssumeRoleProvider._resolve_credentials_from_source
    - botocore.credentials.AssumeRoleProvider._resolve_credentials_from_profile
    - botocore.credentials.SharedCredentialProvider.__init__
    - role_config.get
    - botocore.credentials.Credentials.__init__
    - botocore.credentials._get_client_creator
    - botocore.credentials.CanonicalNameCredentialSourcer.source_credentials
    - <builtin>.int
    - botocore.credentials.AssumeRoleProvider._resolve_static_credentials_from_profile
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - <builtin>.any
    - botocore.credentials.AssumeRoleProvider._get_role_config
    - botocore.credentials.create_mfa_serial_refresher
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - profile
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1462
    functionName: botocore.credentials.AssumeRoleProvider._has_assume_role_config_vars
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 2
    argNames:
    - self
    - profile_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1473
    functionName: botocore.credentials.AssumeRoleProvider._load_creds_via_assume_role
    functionSourceFile: botocore.credentials
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - source.load
    - logger.debug
    - botocore.credentials.AssumeRoleProvider._validate_credential_source
    - botocore.credentials.CanonicalNameCredentialSourcer.is_supported
    - botocore.utils.SSOTokenLoader.__init__
    - name.lower
    - botocore.credentials.CanonicalNameCredentialSourcer._get_provider_by_canonical_name
    - botocore.credentials.CredentialResolver.load_credentials
    - provider.load
    - botocore.credentials.ProcessProvider.__init__
    - botocore.credentials.Credentials._normalize
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.compat.ensure_unicode
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.DeferredRefreshableCredentials.__init__
    - botocore.credentials.AssumeRoleProvider._has_static_credentials
    - botocore.tokens.SSOTokenProvider.__init__
    - botocore.credentials.AssumeRoleProvider._resolve_source_credentials
    - threading.Lock
    - botocore.credentials.AssumeRoleCredentialFetcher.__init__
    - botocore.credentials.SSOProvider.__init__
    - profile.get
    - botocore.utils.JSONFileCache.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - botocore.credentials.AssumeRoleProvider._has_assume_role_config_vars
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CanonicalNameCredentialSourcer._get_provider
    - botocore.credentials.CanonicalNameCredentialSourcer._get_provider_by_method
    - canonical_name.lower
    - botocore.credentials.CredentialResolver.__init__
    - <builtin>.super
    - botocore.credentials.ConfigProvider.__init__
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.credentials.RefreshableCredentials._normalize
    - botocore.credentials.AssumeRoleProvider._validate_source_profile
    - botocore.credentials.create_mfa_serial_refresher._Refresher.__init__
    - botocore.credentials.AssumeRoleProvider._load_creds_via_assume_role
    - botocore.credentials.AssumeRoleProvider._resolve_credentials_from_source
    - botocore.credentials.AssumeRoleProvider._resolve_credentials_from_profile
    - botocore.credentials.SharedCredentialProvider.__init__
    - role_config.get
    - botocore.credentials.Credentials.__init__
    - botocore.credentials._get_client_creator
    - botocore.credentials.CanonicalNameCredentialSourcer.source_credentials
    - <builtin>.int
    - botocore.credentials.AssumeRoleProvider._resolve_static_credentials_from_profile
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - <builtin>.any
    - botocore.credentials.AssumeRoleProvider._get_role_config
    - botocore.credentials.create_mfa_serial_refresher
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argNames:
    - self
    - profile_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1517
    functionName: botocore.credentials.AssumeRoleProvider._get_role_config
    functionSourceFile: botocore.credentials
    functionUses: 4
    functionsReached:
    - botocore.credentials.AssumeRoleProvider._validate_source_profile
    - botocore.credentials.AssumeRoleProvider._has_static_credentials
    - botocore.credentials.AssumeRoleProvider._validate_credential_source
    - botocore.credentials.CanonicalNameCredentialSourcer.is_supported
    - <builtin>.int
    - <builtin>.any
    - profile.get
    linkageType: pythonLinkage
    raised:
    - PartialCredentialsError
    - InvalidConfigError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - role_config
    - profile_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1633
    functionName: botocore.credentials.AssumeRoleProvider._resolve_source_credentials
    functionSourceFile: botocore.credentials
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - source.load
    - logger.debug
    - botocore.credentials.AssumeRoleProvider._validate_credential_source
    - botocore.credentials.CanonicalNameCredentialSourcer.is_supported
    - botocore.utils.SSOTokenLoader.__init__
    - name.lower
    - botocore.credentials.CanonicalNameCredentialSourcer._get_provider_by_canonical_name
    - botocore.credentials.CredentialResolver.load_credentials
    - provider.load
    - botocore.credentials.ProcessProvider.__init__
    - botocore.credentials.Credentials._normalize
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.compat.ensure_unicode
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.DeferredRefreshableCredentials.__init__
    - botocore.credentials.AssumeRoleProvider._has_static_credentials
    - botocore.tokens.SSOTokenProvider.__init__
    - botocore.credentials.AssumeRoleProvider._resolve_source_credentials
    - threading.Lock
    - botocore.credentials.AssumeRoleCredentialFetcher.__init__
    - botocore.credentials.SSOProvider.__init__
    - profile.get
    - botocore.utils.JSONFileCache.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - botocore.credentials.AssumeRoleProvider._has_assume_role_config_vars
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CanonicalNameCredentialSourcer._get_provider
    - botocore.credentials.CanonicalNameCredentialSourcer._get_provider_by_method
    - canonical_name.lower
    - botocore.credentials.CredentialResolver.__init__
    - <builtin>.super
    - botocore.credentials.ConfigProvider.__init__
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.credentials.RefreshableCredentials._normalize
    - botocore.credentials.AssumeRoleProvider._validate_source_profile
    - botocore.credentials.create_mfa_serial_refresher._Refresher.__init__
    - botocore.credentials.AssumeRoleProvider._load_creds_via_assume_role
    - botocore.credentials.AssumeRoleProvider._resolve_credentials_from_source
    - botocore.credentials.AssumeRoleProvider._resolve_credentials_from_profile
    - botocore.credentials.SharedCredentialProvider.__init__
    - role_config.get
    - botocore.credentials.Credentials.__init__
    - botocore.credentials._get_client_creator
    - botocore.credentials.CanonicalNameCredentialSourcer.source_credentials
    - <builtin>.int
    - botocore.credentials.AssumeRoleProvider._resolve_static_credentials_from_profile
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - <builtin>.any
    - botocore.credentials.AssumeRoleProvider._get_role_config
    - botocore.credentials.create_mfa_serial_refresher
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: role_config.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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: profile.get
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - parent_profile
    - credential_source
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1566
    functionName: botocore.credentials.AssumeRoleProvider._validate_credential_source
    functionSourceFile: botocore.credentials
    functionUses: 5
    functionsReached:
    - botocore.credentials.CanonicalNameCredentialSourcer.is_supported
    linkageType: pythonLinkage
    raised:
    - InvalidConfigError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 3
    argNames:
    - self
    - parent_profile_name
    - source_profile_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1591
    functionName: botocore.credentials.AssumeRoleProvider._validate_source_profile
    functionSourceFile: botocore.credentials
    functionUses: 5
    functionsReached:
    - botocore.credentials.AssumeRoleProvider._has_static_credentials
    - <builtin>.any
    linkageType: pythonLinkage
    raised:
    - InfiniteLoopConfigError
    - InvalidConfigError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - source_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1799
    functionName: botocore.credentials.CanonicalNameCredentialSourcer.is_supported
    functionSourceFile: ''
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - profile
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1583
    functionName: botocore.credentials.AssumeRoleProvider._source_profile_has_credentials
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - profile
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1629
    functionName: botocore.credentials.AssumeRoleProvider._has_static_credentials
    functionSourceFile: botocore.credentials
    functionUses: 6
    functionsReached:
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - credential_source
    - profile_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1689
    functionName: botocore.credentials.AssumeRoleProvider._resolve_credentials_from_source
    functionSourceFile: botocore.credentials
    functionUses: 4
    functionsReached:
    - <builtin>.isinstance
    - logger.debug
    - source.load
    - botocore.credentials.CanonicalNameCredentialSourcer._get_provider
    - botocore.credentials.CanonicalNameCredentialSourcer._get_provider_by_method
    - canonical_name.lower
    - botocore.credentials.CredentialResolver.__init__
    - name.lower
    - botocore.credentials.CanonicalNameCredentialSourcer.source_credentials
    - botocore.credentials.CanonicalNameCredentialSourcer._get_provider_by_canonical_name
    - provider.load
    - botocore.credentials.CredentialResolver.load_credentials
    linkageType: pythonLinkage
    raised:
    - CredentialRetrievalError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argNames:
    - self
    - profile_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1644
    functionName: botocore.credentials.AssumeRoleProvider._resolve_credentials_from_profile
    functionSourceFile: botocore.credentials
    functionUses: 3
    functionsReached:
    - logger.debug
    - <builtin>.isinstance
    - botocore.credentials.AssumeRoleProvider._validate_credential_source
    - source.load
    - botocore.credentials.CanonicalNameCredentialSourcer.is_supported
    - botocore.utils.SSOTokenLoader.__init__
    - name.lower
    - botocore.credentials.CanonicalNameCredentialSourcer._get_provider_by_canonical_name
    - botocore.credentials.CredentialResolver.load_credentials
    - provider.load
    - botocore.credentials.ProcessProvider.__init__
    - botocore.credentials.Credentials._normalize
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.credentials.DeferredRefreshableCredentials.__init__
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.compat.ensure_unicode
    - botocore.credentials.AssumeRoleProvider._has_static_credentials
    - botocore.tokens.SSOTokenProvider.__init__
    - botocore.credentials.AssumeRoleProvider._resolve_source_credentials
    - threading.Lock
    - botocore.credentials.AssumeRoleCredentialFetcher.__init__
    - botocore.credentials.SSOProvider.__init__
    - profile.get
    - botocore.utils.JSONFileCache.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - botocore.credentials.AssumeRoleProvider._has_assume_role_config_vars
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CanonicalNameCredentialSourcer._get_provider
    - botocore.credentials.CanonicalNameCredentialSourcer._get_provider_by_method
    - canonical_name.lower
    - botocore.credentials.CredentialResolver.__init__
    - <builtin>.super
    - botocore.credentials.ConfigProvider.__init__
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.credentials.RefreshableCredentials._normalize
    - botocore.credentials.AssumeRoleProvider._validate_source_profile
    - botocore.credentials.create_mfa_serial_refresher._Refresher.__init__
    - botocore.credentials.AssumeRoleProvider._load_creds_via_assume_role
    - botocore.credentials.AssumeRoleProvider._resolve_credentials_from_source
    - botocore.credentials.AssumeRoleProvider._resolve_credentials_from_profile
    - botocore.credentials.SharedCredentialProvider.__init__
    - role_config.get
    - botocore.credentials.Credentials.__init__
    - botocore.credentials._get_client_creator
    - botocore.credentials.CanonicalNameCredentialSourcer.source_credentials
    - <builtin>.int
    - botocore.credentials.AssumeRoleProvider._resolve_static_credentials_from_profile
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - <builtin>.any
    - botocore.credentials.AssumeRoleProvider._get_role_config
    - botocore.credentials.create_mfa_serial_refresher
    linkageType: pythonLinkage
    raised:
    - InvalidConfigError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - profile
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1677
    functionName: botocore.credentials.AssumeRoleProvider._resolve_static_credentials_from_profile
    functionSourceFile: botocore.credentials
    functionUses: 4
    functionsReached:
    - botocore.credentials.Credentials.__init__
    - profile.get
    - botocore.credentials.Credentials._normalize
    - botocore.compat.ensure_unicode
    - botocore.credentials.RefreshableCredentials._normalize
    linkageType: pythonLinkage
    raised:
    - PartialCredentialsError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - source_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1812
    functionName: botocore.credentials.CanonicalNameCredentialSourcer.source_credentials
    functionSourceFile: botocore.credentials
    functionUses: 5
    functionsReached:
    - <builtin>.isinstance
    - source.load
    - logger.debug
    - botocore.credentials.CanonicalNameCredentialSourcer._get_provider
    - botocore.credentials.CanonicalNameCredentialSourcer._get_provider_by_method
    - canonical_name.lower
    - botocore.credentials.CredentialResolver.__init__
    - name.lower
    - botocore.credentials.CanonicalNameCredentialSourcer._get_provider_by_canonical_name
    - provider.load
    - botocore.credentials.CredentialResolver.load_credentials
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1734
    functionName: botocore.credentials.AssumeRoleWithWebIdentityProvider.load
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider.<lambda1>
    - botocore.credentials.AssumeRoleWithWebIdentityProvider._get_env_config
    - threading.Lock
    - botocore.credentials.AssumeRoleWithWebIdentityProvider._get_profile_config
    - loaded_config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider._assume_role_with_web_identity
    - botocore.utils.FileWebIdentityTokenLoader.__init__
    - profiles.get
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher.__init__
    - <builtin>.super
    - botocore.credentials.AssumeRoleWithWebIdentityProvider._get_config
    - botocore.credentials.DeferredRefreshableCredentials.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1758
    functionName: botocore.credentials.AssumeRoleWithWebIdentityProvider._assume_role_with_web_identity
    functionSourceFile: botocore.credentials
    functionUses: 1
    functionsReached:
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider.<lambda1>
    - botocore.credentials.AssumeRoleWithWebIdentityProvider._get_env_config
    - threading.Lock
    - botocore.credentials.AssumeRoleWithWebIdentityProvider._get_profile_config
    - loaded_config.get
    - botocore.utils.FileWebIdentityTokenLoader.__init__
    - botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher.__init__
    - profiles.get
    - <builtin>.super
    - botocore.credentials.AssumeRoleWithWebIdentityProvider._get_config
    - botocore.credentials.DeferredRefreshableCredentials.__init__
    linkageType: pythonLinkage
    raised:
    - InvalidConfigError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1737
    functionName: botocore.credentials.AssumeRoleWithWebIdentityProvider._get_profile_config
    functionSourceFile: botocore.credentials
    functionUses: 3
    functionsReached:
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider.<lambda1>
    - profiles.get
    - loaded_config.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1744
    functionName: botocore.credentials.AssumeRoleWithWebIdentityProvider._get_env_config
    functionSourceFile: botocore.credentials
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1752
    functionName: botocore.credentials.AssumeRoleWithWebIdentityProvider._get_config
    functionSourceFile: botocore.credentials
    functionUses: 2
    functionsReached:
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider.<lambda1>
    - botocore.credentials.AssumeRoleWithWebIdentityProvider._get_env_config
    - botocore.credentials.AssumeRoleWithWebIdentityProvider._get_profile_config
    - loaded_config.get
    - profiles.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argNames:
    - self
    - canonical_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1826
    functionName: botocore.credentials.CanonicalNameCredentialSourcer._get_provider
    functionSourceFile: botocore.credentials
    functionUses: 6
    functionsReached:
    - botocore.credentials.CanonicalNameCredentialSourcer._get_provider_by_method
    - canonical_name.lower
    - name.lower
    - botocore.credentials.CredentialResolver.__init__
    - botocore.credentials.CanonicalNameCredentialSourcer._get_provider_by_canonical_name
    linkageType: pythonLinkage
    raised:
    - UnknownCredentialError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: source.load
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - canonical_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1864
    functionName: botocore.credentials.CanonicalNameCredentialSourcer._get_provider_by_canonical_name
    functionSourceFile: botocore.credentials
    functionUses: 7
    functionsReached:
    - name.lower
    - canonical_name.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: canonical_name.lower
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - method
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1876
    functionName: botocore.credentials.CanonicalNameCredentialSourcer._get_provider_by_method
    functionSourceFile: ''
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 1898
    functionName: botocore.credentials.ContainerProvider.load
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - io.BytesIO.lower
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - conn.urlopen
    - base64.b64encode
    - url.startswith
    - botocore.utils.ContainerMetadataFetcher.retrieve_full_uri
    - botocore.httpsession.URLLib3Session._get_request_target
    - <builtin>.hasattr
    - botocore.utils.ContainerMetadataFetcher._get_response
    - botocore.utils.ContainerMetadataFetcher._retrieve_credentials
    - request.prepare
    - botocore.awsrequest.AWSResponse
    - botocore.credentials._parse_if_needed
    - proxy_url.startswith
    - logger.debug
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - collections.namedtuple
    - os.environ.get
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - botocore.httpsession.get_cert_path
    - botocore.credentials.ContainerProvider._create_fetcher.fetch_creds
    - threading.Lock
    - botocore.credentials.ContainerProvider._build_headers
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.ContainerMetadataFetcher._check_if_whitelisted_host
    - botocore.httpsession.URLLib3Session._chunked
    - <builtin>.bool
    - botocore.credentials.ContainerProvider._provided_relative_uri
    - botocore.credentials.RefreshableCredentials._normalize
    - dateutil.parser.parse
    - botocore.utils.ContainerMetadataFetcher._validate_allowed_url
    - io.BytesIO.encode
    - headers.get
    - botocore.httpsession.URLLib3Session._path_url
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider._retrieve_or_fail
    - botocore.compat.ensure_unicode
    - <builtin>.getattr
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - botocore.credentials.ContainerProvider._create_fetcher
    - botocore.utils.ContainerMetadataFetcher.full_url
    - urllib3.proxy_from_url
    - response.content.decode
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - headers.update
    - base64.b64encode.strip
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - val.lower
    - http.client.HTTPMessage.__init__
    - botocore.compat.ensure_bytes
    - urllib3.util.url.parse_url
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.credentials.RefreshableCredentials.__init__
    - botocore.compat.urlparse
    - botocore.httpsession._is_ipaddress
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 1904
    functionName: botocore.credentials.ContainerProvider._retrieve_or_fail
    functionSourceFile: botocore.credentials
    functionUses: 1
    functionsReached:
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - io.BytesIO.lower
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - conn.urlopen
    - base64.b64encode
    - url.startswith
    - botocore.utils.ContainerMetadataFetcher.retrieve_full_uri
    - botocore.httpsession.URLLib3Session._get_request_target
    - <builtin>.hasattr
    - botocore.utils.ContainerMetadataFetcher._get_response
    - botocore.utils.ContainerMetadataFetcher._retrieve_credentials
    - request.prepare
    - botocore.awsrequest.AWSResponse
    - botocore.credentials._parse_if_needed
    - proxy_url.startswith
    - logger.debug
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - collections.namedtuple
    - os.environ.get
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - botocore.httpsession.get_cert_path
    - botocore.credentials.ContainerProvider._create_fetcher.fetch_creds
    - threading.Lock
    - botocore.credentials.ContainerProvider._build_headers
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.ContainerMetadataFetcher._check_if_whitelisted_host
    - botocore.httpsession.URLLib3Session._chunked
    - <builtin>.bool
    - botocore.credentials.ContainerProvider._provided_relative_uri
    - botocore.credentials.RefreshableCredentials._normalize
    - dateutil.parser.parse
    - botocore.utils.ContainerMetadataFetcher._validate_allowed_url
    - io.BytesIO.encode
    - headers.get
    - botocore.httpsession.URLLib3Session._path_url
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - botocore.compat.ensure_unicode
    - <builtin>.getattr
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.awsrequest.AWSRequest.__init__
    - auth_str.encode
    - botocore.credentials.ContainerProvider._create_fetcher
    - botocore.utils.ContainerMetadataFetcher.full_url
    - urllib3.proxy_from_url
    - response.content.decode
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - headers.update
    - base64.b64encode.strip
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.httpsession.ensure_boolean
    - url.lower
    - urllib3.util.ssl_.is_ipaddress
    - val.lower
    - http.client.HTTPMessage.__init__
    - botocore.compat.ensure_bytes
    - urllib3.util.url.parse_url
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.credentials.RefreshableCredentials.__init__
    - botocore.compat.urlparse
    - botocore.httpsession._is_ipaddress
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.httpsession.URLLib3Session.send
    - urllib3.util.retry.Retry
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1948
    functionName: botocore.credentials.ContainerProvider._provided_relative_uri
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1921
    functionName: botocore.credentials.ContainerProvider._build_headers
    functionSourceFile: botocore.credentials
    functionUses: 2
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - full_uri
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1926
    functionName: botocore.credentials.ContainerProvider._create_fetcher
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - name
    - credential_provider
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1961
    functionName: botocore.credentials.CredentialResolver.insert_before
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - UnknownCredentialError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - name
    - credential_provider
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1981
    functionName: botocore.credentials.CredentialResolver.insert_after
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - botocore.credentials.CredentialResolver._get_provider_offset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2025
    functionName: botocore.credentials.CredentialResolver._get_provider_offset
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - UnknownCredentialError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1998
    functionName: botocore.credentials.CredentialResolver.remove
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - available_methods.index
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: available_methods.index
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2013
    functionName: botocore.credentials.CredentialResolver.get_provider
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - botocore.credentials.CredentialResolver._get_provider_offset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: provider.load
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 11
    argNames:
    - self
    - start_url
    - sso_region
    - role_name
    - account_id
    - client_creator
    - token_loader
    - cache
    - expiry_window_seconds
    - token_provider
    - sso_session_name
    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: 1
    functionLinenumber: 2055
    functionName: botocore.credentials.SSOCredentialFetcher.__init__
    functionSourceFile: botocore.credentials
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: args.encode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - timestamp_ms
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2100
    functionName: botocore.credentials.SSOCredentialFetcher._parse_timestamp
    functionSourceFile: botocore.credentials
    functionUses: 12
    functionsReached:
    - timestamp.strftime
    - dateutil.tz.tzutc
    - datetime.datetime.fromtimestamp
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: timestamp.strftime
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: initial_token_data.get_frozen_token
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.get_role_credentials
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.credentials.SSOProvider
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - os.path.join
    - os.path.expanduser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2180
    functionName: botocore.credentials.SSOProvider._load_sso_config
    functionSourceFile: botocore.credentials
    functionUses: 1
    functionsReached:
    - profile_config.copy
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider.<lambda1>
    - missing_config_vars.append
    - profile_config.get
    - botocore.credentials.SSOProvider._resolve_sso_session_reference
    - loaded_config.get
    - profiles.get
    - config.get
    - session.items
    - <builtin>.all
    linkageType: pythonLinkage
    raised:
    - InvalidConfigError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argNames:
    - self
    - profile_config
    - sso_sessions
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2216
    functionName: botocore.credentials.SSOProvider._resolve_sso_session_reference
    functionSourceFile: botocore.credentials
    functionUses: 2
    functionsReached:
    - profile_config.get
    - session.items
    - profile_config.copy
    - config.get
    linkageType: pythonLinkage
    raised:
    - InvalidConfigError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: missing_config_vars.append
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: profile_config.copy
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: session.items
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2239
    functionName: botocore.credentials.SSOProvider.load
    functionSourceFile: botocore.credentials
    functionUses: 0
    functionsReached:
    - profile_config.copy
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider.<lambda1>
    - missing_config_vars.append
    - threading.Lock
    - profile_config.get
    - botocore.credentials.SSOCredentialFetcher.__init__
    - botocore.credentials.SSOProvider._resolve_sso_session_reference
    - botocore.utils.SSOTokenLoader.__init__
    - loaded_config.get
    - <builtin>.super
    - profiles.get
    - botocore.credentials.SSOProvider._load_sso_config
    - config.get
    - session.items
    - <builtin>.all
    - botocore.credentials.DeferredRefreshableCredentials.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.monitoring
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - adapter
    - publisher
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 33
    functionName: botocore.monitoring.Monitor.__init__
    functionSourceFile: botocore.monitoring
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - event_emitter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 44
    functionName: botocore.monitoring.Monitor.register
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached:
    - event_emitter.register_last
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: event_emitter.register_last
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - event_name
    - payload
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 49
    functionName: botocore.monitoring.Monitor.capture
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.getattr
    - logger.debug
    - botocore.monitoring.SocketPublisher.publish
    - botocore.compat.ensure_bytes
    - <builtin>.isinstance
    - botocore.monitoring.CSMSerializer._get_base_event_dict
    - io.BytesIO.encode
    - botocore.monitoring.MonitorEventAdapter.feed
    - event_name.split
    - json.dumps
    - botocore.monitoring.MonitorEventAdapter._get_handler
    - botocore.monitoring.CSMSerializer.serialize
    - botocore.monitoring.CSMSerializer._get_event_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - emitter_event_name
    - emitter_payload
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 77
    functionName: botocore.monitoring.MonitorEventAdapter.feed
    functionSourceFile: botocore.monitoring
    functionUses: 1
    functionsReached:
    - botocore.monitoring.MonitorEventAdapter._get_handler
    - event_name.split
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 570
    functionName: botocore.monitoring.SocketPublisher.publish
    functionSourceFile: botocore.monitoring
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - <builtin>.getattr
    - logger.debug
    - botocore.compat.ensure_bytes
    - <builtin>.isinstance
    - botocore.monitoring.CSMSerializer._get_base_event_dict
    - io.BytesIO.encode
    - json.dumps
    - botocore.monitoring.CSMSerializer.serialize
    - botocore.monitoring.CSMSerializer._get_event_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - time
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 69
    functionName: botocore.monitoring.MonitorEventAdapter.__init__
    functionSourceFile: botocore.monitoring
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - event_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 93
    functionName: botocore.monitoring.MonitorEventAdapter._get_handler
    functionSourceFile: botocore.monitoring
    functionUses: 2
    functionsReached:
    - event_name.split
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - model
    - context
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 98
    functionName: botocore.monitoring.MonitorEventAdapter._handle_before_parameter_build
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - botocore.monitoring.MonitorEventAdapter._get_current_time
    - botocore.monitoring.APICallEvent.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 160
    functionName: botocore.monitoring.MonitorEventAdapter._get_current_time
    functionSourceFile: botocore.monitoring
    functionUses: 7
    functionsReached:
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 7
    argNames:
    - self
    - service
    - operation
    - timestamp
    - latency
    - attempts
    - retries_exceeded
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 193
    functionName: botocore.monitoring.APICallEvent.__init__
    functionSourceFile: botocore.monitoring
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - request
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 105
    functionName: botocore.monitoring.MonitorEventAdapter._handle_request_created
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - botocore.monitoring.MonitorEventAdapter._get_current_time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argNames:
    - self
    - parsed_response
    - context
    - exception
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 114
    functionName: botocore.monitoring.MonitorEventAdapter._handle_response_received
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached:
    - context.pop
    - botocore.monitoring.MonitorEventAdapter._get_latency
    - <builtin>.int
    - parsed_response.get
    - botocore.monitoring.MonitorEventAdapter._get_current_time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: context.pop
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 157
    functionName: botocore.monitoring.MonitorEventAdapter._get_latency
    functionSourceFile: botocore.monitoring
    functionUses: 4
    functionsReached:
    - <builtin>.int
    - botocore.monitoring.MonitorEventAdapter._get_current_time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - context
    - parsed
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 131
    functionName: botocore.monitoring.MonitorEventAdapter._handle_after_call
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached:
    - context.pop
    - botocore.monitoring.MonitorEventAdapter._get_latency
    - <builtin>.int
    - botocore.monitoring.MonitorEventAdapter._complete_api_call
    - botocore.monitoring.MonitorEventAdapter._get_current_time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 152
    functionName: botocore.monitoring.MonitorEventAdapter._complete_api_call
    functionSourceFile: botocore.monitoring
    functionUses: 2
    functionsReached:
    - botocore.monitoring.MonitorEventAdapter._get_current_time
    - <builtin>.int
    - botocore.monitoring.MonitorEventAdapter._get_latency
    - context.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - context
    - exception
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 137
    functionName: botocore.monitoring.MonitorEventAdapter._handle_after_call_error
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - context.pop
    - botocore.monitoring.MonitorEventAdapter._get_latency
    - botocore.monitoring.MonitorEventAdapter._is_retryable_exception
    - <builtin>.int
    - botocore.monitoring.MonitorEventAdapter._complete_api_call
    - <builtin>.tuple
    - botocore.monitoring.MonitorEventAdapter._get_current_time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - exception
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 147
    functionName: botocore.monitoring.MonitorEventAdapter._is_retryable_exception
    functionSourceFile: botocore.monitoring
    functionUses: 1
    functionsReached:
    - <builtin>.tuple
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - service
    - operation
    - timestamp
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 165
    functionName: botocore.monitoring.BaseMonitorEvent.__init__
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 183
    functionName: botocore.monitoring.BaseMonitorEvent.__repr__
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 186
    functionName: botocore.monitoring.BaseMonitorEvent.__eq__
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - timestamp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 238
    functionName: botocore.monitoring.APICallEvent.new_api_call_attempt
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached:
    - botocore.monitoring.APICallAttemptEvent.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 11
    argNames:
    - self
    - service
    - operation
    - timestamp
    - latency
    - url
    - http_status_code
    - request_headers
    - response_headers
    - parsed_error
    - wire_exception
    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: 1
    functionLinenumber: 253
    functionName: botocore.monitoring.APICallAttemptEvent.__init__
    functionSourceFile: botocore.monitoring
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.monitoring.CSMSerializer
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - csm_client_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 356
    functionName: botocore.monitoring.CSMSerializer.__init__
    functionSourceFile: botocore.monitoring
    functionUses: 40
    functionsReached:
    - <builtin>.len
    - botocore.monitoring.CSMSerializer._validate_client_id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - csm_client_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 366
    functionName: botocore.monitoring.CSMSerializer._validate_client_id
    functionSourceFile: botocore.monitoring
    functionUses: 41
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 373
    functionName: botocore.monitoring.CSMSerializer.serialize
    functionSourceFile: botocore.monitoring
    functionUses: 2
    functionsReached:
    - <builtin>.getattr
    - <builtin>.isinstance
    - botocore.compat.ensure_bytes
    - botocore.monitoring.CSMSerializer._get_base_event_dict
    - io.BytesIO.encode
    - json.dumps
    - botocore.monitoring.CSMSerializer._get_event_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 393
    functionName: botocore.monitoring.CSMSerializer._get_base_event_dict
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 496
    functionName: botocore.monitoring.CSMSerializer._get_event_type
    functionSourceFile: botocore.monitoring
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - service
    - event_dict
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 399
    functionName: botocore.monitoring.CSMSerializer._serialize_service
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - operation
    - event_dict
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 402
    functionName: botocore.monitoring.CSMSerializer._serialize_operation
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - timestamp
    - event_dict
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 405
    functionName: botocore.monitoring.CSMSerializer._serialize_timestamp
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - attempts
    - event_dict
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 408
    functionName: botocore.monitoring.CSMSerializer._serialize_attempts
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.monitoring.CSMSerializer._add_fields_from_last_attempt
    - botocore.monitoring.CSMSerializer._serialize_wire_exception
    - botocore.monitoring.CSMSerializer._get_auth_match
    - botocore.monitoring.CSMSerializer._truncate
    - regex.match
    - <builtin>.str
    - botocore.monitoring.CSMSerializer._is_signed
    - botocore.monitoring.CSMSerializer._get_region
    - botocore.monitoring.CSMSerializer._serialize_parsed_error
    - botocore.monitoring.CSMSerializer._get_user_agent
    - botocore.compat.ensure_unicode
    - botocore.monitoring.CSMSerializer._get_auth_value
    - request_headers.get
    - auth_match.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 3
    argNames:
    - self
    - event_dict
    - last_attempt
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 413
    functionName: botocore.monitoring.CSMSerializer._add_fields_from_last_attempt
    functionSourceFile: botocore.monitoring
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.monitoring.CSMSerializer._serialize_wire_exception
    - botocore.monitoring.CSMSerializer._get_auth_match
    - botocore.monitoring.CSMSerializer._truncate
    - regex.match
    - <builtin>.str
    - botocore.monitoring.CSMSerializer._is_signed
    - botocore.monitoring.CSMSerializer._get_region
    - botocore.monitoring.CSMSerializer._serialize_parsed_error
    - botocore.monitoring.CSMSerializer._get_user_agent
    - botocore.compat.ensure_unicode
    - botocore.monitoring.CSMSerializer._get_auth_value
    - request_headers.get
    - auth_match.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - request_headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 507
    functionName: botocore.monitoring.CSMSerializer._get_region
    functionSourceFile: botocore.monitoring
    functionUses: 3
    functionsReached:
    - botocore.monitoring.CSMSerializer._get_auth_match
    - botocore.monitoring.CSMSerializer._is_signed
    - botocore.compat.ensure_unicode
    - botocore.monitoring.CSMSerializer._get_auth_value
    - regex.match
    - auth_match.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request_headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 516
    functionName: botocore.monitoring.CSMSerializer._get_user_agent
    functionSourceFile: botocore.monitoring
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.monitoring.CSMSerializer._truncate
    - botocore.compat.ensure_unicode
    - request_headers.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - parsed_error
    - event_dict
    - event_type
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 474
    functionName: botocore.monitoring.CSMSerializer._serialize_parsed_error
    functionSourceFile: botocore.monitoring
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - botocore.monitoring.CSMSerializer._truncate
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - wire_exception
    - event_dict
    - event_type
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 485
    functionName: botocore.monitoring.CSMSerializer._serialize_wire_exception
    functionSourceFile: botocore.monitoring
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - botocore.monitoring.CSMSerializer._truncate
    - logger.debug
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argNames:
    - self
    - latency
    - event_dict
    - event_type
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 434
    functionName: botocore.monitoring.CSMSerializer._serialize_latency
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - retries_exceeded
    - event_dict
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 440
    functionName: botocore.monitoring.CSMSerializer._serialize_retries_exceeded
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - url
    - event_dict
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 445
    functionName: botocore.monitoring.CSMSerializer._serialize_url
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached:
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 4
    argNames:
    - self
    - request_headers
    - event_dict
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 448
    functionName: botocore.monitoring.CSMSerializer._serialize_request_headers
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.monitoring.CSMSerializer._get_auth_match
    - botocore.monitoring.CSMSerializer._truncate
    - botocore.monitoring.CSMSerializer._get_access_key
    - request_headers.get
    - botocore.monitoring.CSMSerializer._is_signed
    - botocore.monitoring.CSMSerializer._get_region
    - botocore.monitoring.CSMSerializer._get_user_agent
    - botocore.compat.ensure_unicode
    - botocore.monitoring.CSMSerializer._get_auth_value
    - regex.match
    - auth_match.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request_headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 522
    functionName: botocore.monitoring.CSMSerializer._is_signed
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request_headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 502
    functionName: botocore.monitoring.CSMSerializer._get_access_key
    functionSourceFile: botocore.monitoring
    functionUses: 1
    functionsReached:
    - botocore.monitoring.CSMSerializer._get_auth_match
    - botocore.compat.ensure_unicode
    - botocore.monitoring.CSMSerializer._get_auth_value
    - regex.match
    - auth_match.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - http_status_code
    - event_dict
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 462
    functionName: botocore.monitoring.CSMSerializer._serialize_http_status_code
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - response_headers
    - event_dict
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 467
    functionName: botocore.monitoring.CSMSerializer._serialize_response_headers
    functionSourceFile: botocore.monitoring
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - text
    - max_length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 535
    functionName: botocore.monitoring.CSMSerializer._truncate
    functionSourceFile: botocore.monitoring
    functionUses: 6
    functionsReached:
    - <builtin>.len
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - request_headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 525
    functionName: botocore.monitoring.CSMSerializer._get_auth_value
    functionSourceFile: botocore.monitoring
    functionUses: 5
    functionsReached:
    - botocore.compat.ensure_unicode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - auth_val
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 528
    functionName: botocore.monitoring.CSMSerializer._get_auth_match
    functionSourceFile: botocore.monitoring
    functionUses: 5
    functionsReached:
    - regex.match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: auth_match.group
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: request_headers.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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: regex.match
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - socket
    - host
    - port
    - serializer
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 549
    functionName: botocore.monitoring.SocketPublisher.__init__
    functionSourceFile: botocore.monitoring
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.session
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.session.Session
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - copy.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 5
    argNames:
    - self
    - session_vars
    - event_hooks
    - include_builtin_handlers
    - profile
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 92
    functionName: botocore.session.Session.__init__
    functionSourceFile: botocore.session
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - logger.debug
    - <builtin>.isinstance
    - env_var_providers.append
    - mapping.items
    - botocore.hooks.BaseEventHooks._verify_accept_kwargs
    - botocore.hooks.BaseEventHooks.register_first
    - botocore.hooks.BaseEventHooks.register
    - collections.abc.MutableMapping.update
    - event_name.split
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.compat.accepts_kwargs
    - scoped_config_providers.append
    - botocore.session.Session._register_event_emitter
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.hooks.HierarchicalEmitter.__init__
    - botocore.session.Session._register_data_loader
    - botocore.hooks._PrefixTrie.__init__
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._register_components
    - botocore.session.Session._register_exceptions_factory
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.session.Session._register_credential_provider
    - config_variables.items
    - copy.copy
    - botocore.hooks.HierarchicalEmitter._register_section
    - botocore.hooks.EventAliaser.__init__
    - botocore.session.Session._register_response_parser_factory
    - botocore.session.Session.register
    - botocore.hooks.EventAliaser.register
    - botocore.parsers.ResponseParserFactory.__init__
    - botocore.session.Session._register_endpoint_resolver
    - botocore.configprovider.ScopedConfigProvider.__init__
    - botocore.hooks.BaseEventHooks._verify_is_callable
    - providers.append
    - event_parts.index
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - botocore.session.Session._register_builtin_handlers
    - <builtin>.callable
    - botocore.session.Session._register_default_config_resolver
    - botocore.configprovider.ConfigValueStore.__init__
    - botocore.hooks.EventAliaser._replace_subsection
    - providers.extend
    - old_part.split
    - botocore.session.ComponentLocator.__init__
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.hooks.HierarchicalEmitter._register
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.hooks.EventAliaser._alias_event_name
    - botocore.session.ComponentLocator.register_component
    - botocore.session.Session._register_monitor
    - botocore.hooks.HierarchicalEmitter._register_first
    - botocore.hooks.BaseEventHooks.register_last
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.invoke_initializers
    - inspect.getfullargspec
    - botocore.session.Session._register_smart_defaults_factory
    - botocore.hooks.EventAliaser.register_last
    - botocore.hooks.HierarchicalEmitter._register_last
    - botocore.session.ComponentLocator.lazy_register_component
    - botocore.hooks.BaseEventHooks._verify_and_register
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.hooks.EventAliaser.register_first
    - <builtin>.range
    - botocore.session.Session._register_config_store
    - collections.namedtuple.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - botocore.configprovider.ChainProvider.__init__
    - botocore.errorfactory.ClientExceptionsFactory.__init__
    - botocore.hooks._PrefixTrie.append_item
    - botocore.session.Session._register_token_provider
    - botocore.session.SessionVarDict.__init__
    - key.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argNames:
    - self
    - events
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 241
    functionName: botocore.session.Session._register_builtin_handlers
    functionSourceFile: botocore.session
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.hooks.BaseEventHooks._verify_accept_kwargs
    - botocore.hooks.BaseEventHooks.register_first
    - event_name.split
    - botocore.hooks.BaseEventHooks.register
    - botocore.compat.accepts_kwargs
    - botocore.hooks.HierarchicalEmitter._register_section
    - botocore.session.Session.register
    - botocore.hooks.EventAliaser.register
    - botocore.hooks.BaseEventHooks._verify_is_callable
    - event_parts.index
    - <builtin>.callable
    - botocore.hooks.EventAliaser._replace_subsection
    - old_part.split
    - botocore.hooks.EventAliaser._alias_event_name
    - botocore.hooks.HierarchicalEmitter._register_first
    - botocore.hooks.BaseEventHooks.register_last
    - inspect.getfullargspec
    - botocore.hooks.EventAliaser.register_last
    - botocore.hooks.HierarchicalEmitter._register_last
    - botocore.hooks.BaseEventHooks._verify_and_register
    - botocore.hooks.EventAliaser.register_first
    - <builtin>.range
    - collections.namedtuple.__init__
    - botocore.hooks._PrefixTrie.append_item
    - botocore.hooks.HierarchicalEmitter._register
    - key.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1101
    functionName: botocore.session.ComponentLocator.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 11
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 156
    functionName: botocore.session.Session._register_components
    functionSourceFile: botocore.session
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - env_var_providers.append
    - mapping.items
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - scoped_config_providers.append
    - botocore.session.Session._register_event_emitter
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.session.Session._register_data_loader
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._register_exceptions_factory
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.session.Session._register_credential_provider
    - botocore.session.Session._register_response_parser_factory
    - botocore.parsers.ResponseParserFactory.__init__
    - botocore.session.Session._register_endpoint_resolver
    - botocore.configprovider.ScopedConfigProvider.__init__
    - providers.append
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - botocore.configprovider.ConfigValueStore.__init__
    - botocore.session.Session._register_default_config_resolver
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.session.ComponentLocator.register_component
    - botocore.session.Session._register_monitor
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.session.Session._register_smart_defaults_factory
    - botocore.session.ComponentLocator.lazy_register_component
    - botocore.errorfactory.ClientExceptionsFactory.__init__
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.session.Session._register_config_store
    - botocore.configprovider.SectionConfigProvider.__init__
    - botocore.configprovider.ChainProvider.__init__
    - botocore.session.Session._register_token_provider
    - config_variables.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - session
    - session_vars
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1134
    functionName: botocore.session.SessionVarDict.__init__
    functionSourceFile: botocore.session
    functionUses: 2
    functionsReached:
    - copy.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 180
    functionName: botocore.session.Session._register_credential_provider
    functionSourceFile: botocore.session
    functionUses: 3
    functionsReached:
    - botocore.session.ComponentLocator.lazy_register_component
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 172
    functionName: botocore.session.Session._register_token_provider
    functionSourceFile: botocore.session
    functionUses: 3
    functionsReached:
    - botocore.session.ComponentLocator.lazy_register_component
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 190
    functionName: botocore.session.Session._register_data_loader
    functionSourceFile: botocore.session
    functionUses: 3
    functionsReached:
    - botocore.session.ComponentLocator.lazy_register_component
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 196
    functionName: botocore.session.Session._register_endpoint_resolver
    functionSourceFile: botocore.session
    functionUses: 3
    functionsReached:
    - botocore.session.ComponentLocator.lazy_register_component
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 169
    functionName: botocore.session.Session._register_event_emitter
    functionSourceFile: botocore.session
    functionUses: 3
    functionsReached:
    - botocore.session.ComponentLocator.register_component
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 231
    functionName: botocore.session.Session._register_response_parser_factory
    functionSourceFile: botocore.session
    functionUses: 3
    functionsReached:
    - botocore.session.ComponentLocator.register_component
    - botocore.parsers.ResponseParserFactory.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 236
    functionName: botocore.session.Session._register_exceptions_factory
    functionSourceFile: botocore.session
    functionUses: 3
    functionsReached:
    - botocore.session.ComponentLocator.register_component
    - botocore.errorfactory.ClientExceptionsFactory.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 253
    functionName: botocore.session.Session._register_config_store
    functionSourceFile: botocore.session
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - env_var_providers.append
    - mapping.items
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - scoped_config_providers.append
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.configprovider._create_config_chain_mapping
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.configprovider.ScopedConfigProvider.__init__
    - providers.append
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - botocore.configprovider.ConfigValueStore.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.session.ComponentLocator.register_component
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.configprovider.SectionConfigProvider.__init__
    - botocore.configprovider.ChainProvider.__init__
    - config_variables.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 261
    functionName: botocore.session.Session._register_monitor
    functionSourceFile: botocore.session
    functionUses: 3
    functionsReached:
    - botocore.session.ComponentLocator.lazy_register_component
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 207
    functionName: botocore.session.Session._register_default_config_resolver
    functionSourceFile: botocore.session
    functionUses: 3
    functionsReached:
    - botocore.session.ComponentLocator.lazy_register_component
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 217
    functionName: botocore.session.Session._register_smart_defaults_factory
    functionSourceFile: botocore.session
    functionUses: 3
    functionsReached:
    - botocore.session.ComponentLocator.lazy_register_component
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - name
    - component
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1118
    functionName: botocore.session.ComponentLocator.register_component
    functionSourceFile: ''
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - name
    - no_arg_factory
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1125
    functionName: botocore.session.ComponentLocator.lazy_register_component
    functionSourceFile: ''
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 177
    functionName: botocore.session.Session._create_token_resolver
    functionSourceFile: botocore.session
    functionUses: 40
    functionsReached:
    - botocore.tokens.SSOTokenProvider.__init__
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.SSOTokenLoader.__init__
    - botocore.tokens.create_token_resolver
    - botocore.utils.JSONFileCache.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 185
    functionName: botocore.session.Session._create_credential_resolver
    functionSourceFile: botocore.session
    functionUses: 39
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - warnings.warn
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - allowed.match
    - botocore.tokens.SSOTokenProvider.__init__
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - loader.load_data_with_path
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - session.user_agent
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.tokens.create_token_resolver
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: -1
    functionName: botocore.session.Session._register_data_loader.<lambda1>
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - os.path.expanduser
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.loaders.create_loader
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - search_path_string.split
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.loaders.Loader.__init__
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - paths.append
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - os.path.expandvars
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - session.user_agent
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 197
    functionName: botocore.session.Session._register_endpoint_resolver.create_default_resolver
    functionSourceFile: botocore.session
    functionUses: 39
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - botocore.utils.is_valid_endpoint_url
    - session.user_agent
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 794
    functionName: botocore.session.Session.get_component
    functionSourceFile: botocore.session
    functionUses: 39
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - scoped_config_providers.append
    - botocore.utils.SSOTokenLoader.__init__
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - botocore.utils.is_valid_endpoint_url
    - session.user_agent
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loader.load_data_with_path
    functionSourceFile: <builtin>
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loader.is_builtin_path
    functionSourceFile: <builtin>
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 208
    functionName: botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    functionSourceFile: botocore.session
    functionUses: 39
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - loader.load_data_with_path
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - session.user_agent
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loader.load_data
    functionSourceFile: <builtin>
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - default_config_data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 237
    functionName: botocore.configprovider.DefaultConfigResolver.__init__
    functionSourceFile: ''
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 218
    functionName: botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    functionSourceFile: botocore.session
    functionUses: 39
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.utils.SSOTokenLoader.__init__
    - botocore.session.Session.get_component
    - botocore.monitoring.Monitor.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - botocore.utils.is_valid_endpoint_url
    - session.user_agent
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 808
    functionName: botocore.session.Session._get_internal_component
    functionSourceFile: botocore.session
    functionUses: 39
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - loader.load_data_with_path
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - session.user_agent
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - default_config_resolver
    - imds_region_provider
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 503
    functionName: botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    functionSourceFile: ''
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - event_name
    - handler
    - unique_id
    - unique_id_uses_count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 703
    functionName: botocore.session.Session.register
    functionSourceFile: botocore.session
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.hooks.BaseEventHooks._verify_accept_kwargs
    - botocore.hooks.BaseEventHooks.register
    - event_name.split
    - botocore.compat.accepts_kwargs
    - botocore.hooks.HierarchicalEmitter._register_section
    - botocore.hooks.EventAliaser.register
    - botocore.hooks.BaseEventHooks._verify_is_callable
    - event_parts.index
    - <builtin>.callable
    - botocore.hooks.EventAliaser._replace_subsection
    - old_part.split
    - botocore.hooks.EventAliaser._alias_event_name
    - botocore.hooks.HierarchicalEmitter._register_first
    - inspect.getfullargspec
    - botocore.hooks.HierarchicalEmitter._register_last
    - botocore.hooks.BaseEventHooks._verify_and_register
    - <builtin>.range
    - collections.namedtuple.__init__
    - botocore.hooks._PrefixTrie.append_item
    - botocore.hooks.HierarchicalEmitter._register
    - key.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - session
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 203
    functionName: botocore.configprovider.create_botocore_default_config_mapping
    functionSourceFile: botocore.configprovider
    functionUses: 45
    functionsReached:
    - <builtin>.isinstance
    - env_var_providers.append
    - botocore.configprovider.ScopedConfigProvider.__init__
    - providers.extend
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.configprovider.SectionConfigProvider.__init__
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - providers.append
    - scoped_config_providers.append
    - botocore.configprovider.ChainProvider.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider._create_config_chain_mapping
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.configprovider.EnvironmentProvider.__init__
    - config_variables.items
    - botocore.configprovider.InstanceVarProvider.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 389
    functionName: botocore.configprovider.ConfigValueStore.__init__
    functionSourceFile: botocore.configprovider
    functionUses: 46
    functionsReached:
    - mapping.items
    - botocore.configprovider.ConfigValueStore.set_config_provider
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 266
    functionName: botocore.session.Session._create_csm_monitor
    functionSourceFile: botocore.session
    functionUses: 39
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - scoped_config_providers.append
    - botocore.utils.SSOTokenLoader.__init__
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - botocore.utils.is_valid_endpoint_url
    - session.user_agent
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: socket.socket
    functionSourceFile: socket
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 285
    functionName: botocore.session.Session._get_crt_version
    functionSourceFile: botocore.session
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 294
    functionName: botocore.session.Session.available_profiles
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - botocore.session.Session._build_profile_map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 297
    functionName: botocore.session.Session._build_profile_map
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 306
    functionName: botocore.session.Session.profile
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - scoped_config_providers.append
    - botocore.utils.SSOTokenLoader.__init__
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - botocore.utils.is_valid_endpoint_url
    - session.user_agent
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argNames:
    - self
    - logical_name
    - methods
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 321
    functionName: botocore.session.Session._get_config_variable_with_custom_methods
    functionSourceFile: botocore.session
    functionUses: 40
    functionsReached:
    - <builtin>.isinstance
    - env_var_providers.append
    - mapping.items
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - scoped_config_providers.append
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.configprovider._create_config_chain_mapping
    - botocore.configprovider.ConstantProvider.__init__
    - provider.provide
    - collections.abc.MutableMapping.items
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ScopedConfigProvider.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - providers.append
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - botocore.configprovider.ConfigValueStore.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.configprovider.ChainProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - config_variables.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - logical_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 407
    functionName: botocore.configprovider.ConfigValueStore.get_config_variable
    functionSourceFile: botocore.configprovider
    functionUses: 41
    functionsReached:
    - provider.provide
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - session
    - methods
    - environ
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1189
    functionName: botocore.session.SubsetChainConfigFactory.__init__
    functionSourceFile: botocore.session
    functionUses: 41
    functionsReached:
    - botocore.configprovider.ConfigChainFactory.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 6
    argNames:
    - self
    - instance_name
    - env_var_names
    - config_property_name
    - default
    - conversion_func
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1193
    functionName: botocore.session.SubsetChainConfigFactory.create_config_chain
    functionSourceFile: botocore.session
    functionUses: 41
    functionsReached:
    - <builtin>.isinstance
    - env_var_providers.append
    - botocore.configprovider.InstanceVarProvider.__init__
    - providers.extend
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - scoped_config_providers.append
    - botocore.configprovider.ScopedConfigProvider.__init__
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - providers.append
    - botocore.configprovider.ChainProvider.__init__
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.configprovider.EnvironmentProvider.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - logical_name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 349
    functionName: botocore.session.Session.set_config_variable
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 380
    functionName: botocore.session.Session.instance_variables
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - copy.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 383
    functionName: botocore.session.Session.get_scoped_config
    functionSourceFile: botocore.session
    functionUses: 3
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.session.Session._build_profile_map
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.utils.IMDSRegionProvider.__init__
    - urllib3.Timeout
    - botocore.configprovider.EnvironmentProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - session.user_agent
    - profile_map.get
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised:
    - ProfileNotFound
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: profile_map.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 421
    functionName: botocore.session.Session.full_config
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - key.strip
    - value.strip
    - parsed_config.items
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - key.startswith
    - botocore.utils.IMDSFetcher._select_base_url
    - os.path.expanduser
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - configparser.RawConfigParser
    - botocore.configloader.build_profile_map
    - provider.provide
    - os.environ.get
    - copy.deepcopy
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - cp.read
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - <builtin>.getattr
    - allowed.match
    - loader.load_data
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.utils.IMDSRegionProvider.__init__
    - urllib3.Timeout
    - botocore.configprovider.EnvironmentProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - os.path.expandvars
    - config_value.splitlines
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - cp.options
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.configloader.load_config
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - line.split
    - providers.append
    - botocore.configloader._parse_nested
    - shlex.split
    - cp.get
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - cp.sections
    - session.user_agent
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.configloader.raw_config_parse
    - line.strip
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - config_value.startswith
    - os.path.isfile
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 456
    functionName: botocore.session.Session.get_default_client_config
    functionSourceFile: botocore.session
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - client_config
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 466
    functionName: botocore.session.Session.set_default_client_config
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - access_key
    - secret_key
    - token
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 476
    functionName: botocore.session.Session.set_credentials
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - botocore.credentials.Credentials
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.credentials.Credentials
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 497
    functionName: botocore.session.Session.get_credentials
    functionSourceFile: botocore.session
    functionUses: 1
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - loader.load_data_with_path
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - session.user_agent
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 1105
    functionName: botocore.session.ComponentLocator.get_component
    functionSourceFile: botocore.session
    functionUses: 39
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - loader.load_data_with_path
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - session.user_agent
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 512
    functionName: botocore.session.Session.get_auth_token
    functionSourceFile: botocore.session
    functionUses: 1
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.utils.SSOTokenLoader.__init__
    - botocore.session.Session.get_component
    - botocore.monitoring.Monitor.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - provider.load_token
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - botocore.utils.is_valid_endpoint_url
    - session.user_agent
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: platform.python_version
    functionSourceFile: platform
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: platform.system
    functionSourceFile: platform
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: platform.release
    functionSourceFile: platform
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - data_path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 562
    functionName: botocore.session.Session.get_data
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - loader.load_data_with_path
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - session.user_agent
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - service_name
    - api_version
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 571
    functionName: botocore.session.Session.get_service_model
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - EVENT_ALIASES.get
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.hooks._PrefixTrie._get_items
    - event_name.split
    - collections.deque.extendleft
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - botocore.hooks.EventAliaser.emit
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.model.ServiceModel.__init__
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.hooks.HierarchicalEmitter._emit
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.hooks.EventAliaser._replace_subsection
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - old_part.split
    - botocore.model.ShapeResolver.__init__
    - botocore.hooks.EventAliaser._alias_event_name
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - <builtin>.range
    - botocore.configprovider.ChainProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - responses.append
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.hooks._PrefixTrie.prefix_search
    - botocore.session.Session._create_token_resolver
    - botocore.hooks.HierarchicalEmitter.emit
    - botocore.configprovider._create_config_chain_mapping
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - key.split
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - event_parts.index
    - children.get
    - service_description.get
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.session.Session.get_service_data
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - <builtin>.reversed
    - session.user_agent
    - stack.append
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - stack.pop
    - collections.deque
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - service_name
    - api_version
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 602
    functionName: botocore.session.Session.get_service_data
    functionSourceFile: botocore.session
    functionUses: 2
    functionsReached:
    - EVENT_ALIASES.get
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.hooks._PrefixTrie._get_items
    - collections.deque.extendleft
    - event_name.split
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - botocore.hooks.EventAliaser.emit
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.hooks.HierarchicalEmitter._emit
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.hooks.EventAliaser._replace_subsection
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - old_part.split
    - botocore.hooks.EventAliaser._alias_event_name
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - <builtin>.range
    - botocore.configprovider.ChainProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - responses.append
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.hooks._PrefixTrie.prefix_search
    - botocore.session.Session._create_token_resolver
    - botocore.hooks.HierarchicalEmitter.emit
    - botocore.configprovider._create_config_chain_mapping
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - key.split
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - event_parts.index
    - children.get
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - <builtin>.reversed
    - session.user_agent
    - stack.append
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - stack.pop
    - collections.deque
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - service_name
    - api_version
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 588
    functionName: botocore.session.Session.get_waiter_model
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - <builtin>.list
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - waiter_config.get
    - botocore.configprovider.ConfigChainFactory.__init__
    - <builtin>.sorted
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.waiter.WaiterModel._verify_supported_version
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.regions.EndpointResolver.__init__
    - botocore.waiter.WaiterModel.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - loader.load_service_model
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - botocore.utils.is_valid_endpoint_url
    - session.user_agent
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - service_name
    - api_version
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 595
    functionName: botocore.session.Session.get_paginator_model
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.paginate.PaginatorModel.__init__
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - loader.load_data_with_path
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - loader.load_service_model
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - session.user_agent
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: EVENT_ALIASES.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 619
    functionName: botocore.session.Session.get_available_services
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - loader.load_data_with_path
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - session.user_agent
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - logger_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 627
    functionName: botocore.session.Session.set_debug_logger
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - logging.getLogger
    - logging.Formatter
    - botocore.session.Session.set_stream_logger
    - logging.StreamHandler
    - ch.setFormatter
    - log.setLevel
    - ch.setLevel
    - log.addHandler
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 5
    argNames:
    - self
    - logger_name
    - log_level
    - stream
    - format_string
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 634
    functionName: botocore.session.Session.set_stream_logger
    functionSourceFile: botocore.session
    functionUses: 1
    functionsReached:
    - logging.getLogger
    - logging.Formatter
    - logging.StreamHandler
    - ch.setFormatter
    - log.setLevel
    - ch.setLevel
    - log.addHandler
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: log.setLevel
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.StreamHandler
    functionSourceFile: logging
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ch.setLevel
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.Formatter
    functionSourceFile: logging
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ch.setFormatter
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - log_level
    - path
    - logger_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 675
    functionName: botocore.session.Session.set_file_logger
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - logging.getLogger
    - logging.Formatter
    - ch.setFormatter
    - log.setLevel
    - ch.setLevel
    - log.addHandler
    - logging.FileHandler
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.FileHandler
    functionSourceFile: logging
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - event_name
    - handler
    - unique_id
    - unique_id_uses_count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 745
    functionName: botocore.session.Session.unregister
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.hooks.HierarchicalEmitter.unregister
    - botocore.hooks.EventAliaser._replace_subsection
    - event_name.split
    - old_part.split
    - <builtin>.range
    - node_list.middle.remove
    - botocore.hooks.EventAliaser.unregister
    - node_list.last.remove
    - event_parts.index
    - botocore.hooks.EventAliaser._alias_event_name
    - node_list.first.remove
    - botocore.hooks._PrefixTrie._remove_item
    - key.split
    - botocore.hooks._PrefixTrie.remove_item
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - event_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 787
    functionName: botocore.session.Session.emit
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.hooks._PrefixTrie._get_items
    - event_name.split
    - collections.deque.extendleft
    - responses.append
    - botocore.hooks._PrefixTrie.prefix_search
    - botocore.hooks.HierarchicalEmitter.emit
    - botocore.hooks.EventAliaser.emit
    - event_parts.index
    - botocore.hooks.HierarchicalEmitter._emit
    - children.get
    - botocore.hooks.EventAliaser._replace_subsection
    - old_part.split
    - botocore.hooks.EventAliaser._alias_event_name
    - <builtin>.reversed
    - stack.append
    - <builtin>.range
    - stack.pop
    - collections.deque
    - key.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - event_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 790
    functionName: botocore.session.Session.emit_first_non_none_response
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - logger.debug
    - botocore.hooks._PrefixTrie._get_items
    - collections.deque.extendleft
    - event_name.split
    - responses.append
    - botocore.hooks._PrefixTrie.prefix_search
    - botocore.hooks.HierarchicalEmitter.emit
    - botocore.hooks.EventAliaser.emit
    - botocore.hooks.first_non_none_response
    - event_parts.index
    - botocore.hooks.HierarchicalEmitter._emit
    - children.get
    - botocore.hooks.EventAliaser._replace_subsection
    - old_part.split
    - botocore.hooks.EventAliaser._alias_event_name
    - <builtin>.reversed
    - stack.append
    - <builtin>.range
    - stack.pop
    - collections.deque
    - key.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - name
    - component
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 814
    functionName: botocore.session.Session._register_internal_component
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - botocore.session.ComponentLocator.register_component
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - name
    - component
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 820
    functionName: botocore.session.Session.register_component
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - botocore.session.ComponentLocator.register_component
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - name
    - component
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 823
    functionName: botocore.session.Session.lazy_register_component
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - botocore.session.ComponentLocator.lazy_register_component
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 3
    IfCount: 9
    argCount: 11
    argNames:
    - self
    - service_name
    - region_name
    - api_version
    - use_ssl
    - verify
    - endpoint_url
    - aws_access_key_id
    - aws_secret_access_key
    - aws_session_token
    - config
    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: 14
    functionLinenumber: 826
    functionName: botocore.session.Session.create_client
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - event_name.split
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.session.Session._build_profile_map
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - mode.lower
    - botocore.session.Session.get_default_client_config
    - botocore.hooks.HierarchicalEmitter._register_section
    - botocore.session.Session.get_credentials
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - platform.release
    - botocore.credentials.SSOProvider.__init__
    - botocore.client.ClientCreator
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.session.Session.get_scoped_config
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - copy.deepcopy.get_config_variable
    - botocore.hooks._PrefixTrie.append_item
    - config_variables.items
    - platform.system
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.session.Session._missing_cred_vars
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - copy.deepcopy
    - botocore.hooks.EventAliaser.register
    - default_config_resolver.get_default_modes
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - provider.load_token
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - default_client_config.merge
    - botocore.utils.get_environ_proxies
    - botocore.hooks.EventAliaser._replace_subsection
    - botocore.session.Session._resolve_defaults_mode
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - old_part.split
    - botocore.session.Session.get_auth_token
    - botocore.hooks.EventAliaser._alias_event_name
    - botocore.credentials.ConfigProvider.__init__
    - inspect.getfullargspec
    - botocore.hooks.HierarchicalEmitter._register_last
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.hooks.BaseEventHooks._verify_and_register
    - botocore.configprovider.ChainProvider.__init__
    - <builtin>.range
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - smart_defaults_factory.merge_smart_defaults
    - botocore.credentials.ContainerProvider.__init__
    - <builtin>.isinstance
    - urllib3.PoolManager
    - botocore.hooks.BaseEventHooks._verify_accept_kwargs
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.validate_region_name
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - <builtin>.getattr
    - loader.load_data
    - allowed.match
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.hooks.BaseEventHooks._verify_is_callable
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.create_botocore_default_config_mapping
    - urllib3.Timeout
    - botocore.configprovider.EnvironmentProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.session.Session.user_agent
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - botocore.hooks.HierarchicalEmitter._register_first
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - collections.namedtuple.__init__
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - key.split
    - botocore.credentials.BotoProvider.__init__
    - botocore.session.Session._resolve_region_name
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.hooks.BaseEventHooks.register
    - valid_host_label.match
    - botocore.compat.accepts_kwargs
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.session.Session._get_crt_version
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - event_parts.index
    - pool_manager_kwargs.update
    - <builtin>.callable
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - platform.python_version
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - client_creator.create_client
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - session.user_agent
    - profile_map.get
    - botocore.credentials.Credentials
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.hooks.HierarchicalEmitter._register
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised:
    - PartialCredentialsError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: default_client_config.merge
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - region_name
    - config
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 993
    functionName: botocore.session.Session._resolve_region_name
    functionSourceFile: botocore.session
    functionUses: 1
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - scoped_config_providers.append
    - botocore.utils.SSOTokenLoader.__init__
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.validate_region_name
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - valid_host_label.match
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - botocore.utils.is_valid_endpoint_url
    - session.user_agent
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - access_key
    - secret_key
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1033
    functionName: botocore.session.Session._missing_cred_vars
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - client_config
    - config_store
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 1015
    functionName: botocore.session.Session._resolve_defaults_mode
    functionSourceFile: botocore.session
    functionUses: 1
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.utils.SSOTokenLoader.__init__
    - botocore.session.Session.get_component
    - botocore.monitoring.Monitor.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - mode.lower
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - copy.deepcopy.get_config_variable
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - default_config_resolver.get_default_modes
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - botocore.utils.resolve_imds_endpoint_mode
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - botocore.utils.is_valid_endpoint_url
    - session.user_agent
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised:
    - InvalidDefaultsMode
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: smart_defaults_factory.merge_smart_defaults
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: botocore.client.ClientCreator
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client_creator.create_client
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.deepcopy.get_config_variable
    functionSourceFile: copy
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: default_config_resolver.get_default_modes
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mode.lower
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 1040
    functionName: botocore.session.Session.get_available_partitions
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.utils.SSOTokenLoader.__init__
    - botocore.session.Session.get_component
    - botocore.monitoring.Monitor.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - resolver.get_available_partitions
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - botocore.utils.is_valid_endpoint_url
    - session.user_agent
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resolver.get_available_partitions
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - region_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 1049
    functionName: botocore.session.Session.get_partition_for_region
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - resolver.get_partition_for_region
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - urllib.parse.urlparse
    - loader.load_data_with_path
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - session.user_agent
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argNames:
    - self
    - service_name
    - partition_name
    - allow_non_regional
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 1062
    functionName: botocore.session.Session.get_available_regions
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - EVENT_ALIASES.get
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.hooks._PrefixTrie._get_items
    - collections.deque.extendleft
    - event_name.split
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - botocore.hooks.EventAliaser.emit
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - resolver.get_available_endpoints
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.hooks.HierarchicalEmitter._emit
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.hooks.EventAliaser._replace_subsection
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - old_part.split
    - botocore.hooks.EventAliaser._alias_event_name
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - <builtin>.range
    - botocore.configprovider.ChainProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - responses.append
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.hooks._PrefixTrie.prefix_search
    - botocore.session.Session._create_token_resolver
    - botocore.hooks.HierarchicalEmitter.emit
    - botocore.configprovider._create_config_chain_mapping
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - key.split
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - event_parts.index
    - children.get
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.session.Session.get_service_data
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - <builtin>.reversed
    - session.user_agent
    - stack.append
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - stack.pop
    - collections.deque
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resolver.get_available_endpoints
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1138
    functionName: botocore.session.SessionVarDict.__getitem__
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 13
    functionLinenumber: 1141
    functionName: botocore.session.SessionVarDict.__setitem__
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - scoped_config_providers.append
    - botocore.utils.SSOTokenLoader.__init__
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.session.SessionVarDict._update_config_store_from_session_vars
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - botocore.utils.is_valid_endpoint_url
    - session.user_agent
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - logical_name
    - config_options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 1154
    functionName: botocore.session.SessionVarDict._update_config_store_from_session_vars
    functionSourceFile: botocore.session
    functionUses: 1
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - scoped_config_providers.append
    - botocore.utils.SSOTokenLoader.__init__
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - botocore.utils.is_valid_endpoint_url
    - session.user_agent
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1145
    functionName: botocore.session.SessionVarDict.__delitem__
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1148
    functionName: botocore.session.SessionVarDict.__iter__
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1151
    functionName: botocore.session.SessionVarDict.__len__
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - session
    - environ
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 280
    functionName: botocore.configprovider.ConfigChainFactory.__init__
    functionSourceFile: ''
    functionUses: 47
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 6
    argNames:
    - self
    - instance_name
    - env_var_names
    - config_property_names
    - default
    - conversion_func
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 296
    functionName: botocore.configprovider.ConfigChainFactory.create_config_chain
    functionSourceFile: botocore.configprovider
    functionUses: 48
    functionsReached:
    - <builtin>.isinstance
    - env_var_providers.append
    - providers.extend
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.configprovider.ChainProvider.__init__
    - botocore.configprovider.ScopedConfigProvider.__init__
    - providers.append
    - scoped_config_providers.append
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.configprovider.EnvironmentProvider.__init__
    - botocore.configprovider.InstanceVarProvider.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - logical_name
    - provider
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 484
    functionName: botocore.configprovider.ConfigValueStore.set_config_provider
    functionSourceFile: ''
    functionUses: 47
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - env_vars
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 1225
    functionName: botocore.session.get_session
    functionSourceFile: botocore.session
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - logger.debug
    - <builtin>.isinstance
    - env_var_providers.append
    - mapping.items
    - botocore.hooks.BaseEventHooks._verify_accept_kwargs
    - botocore.hooks.BaseEventHooks.register_first
    - botocore.hooks.BaseEventHooks.register
    - collections.abc.MutableMapping.update
    - event_name.split
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.compat.accepts_kwargs
    - scoped_config_providers.append
    - botocore.session.Session._register_event_emitter
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.hooks.HierarchicalEmitter.__init__
    - botocore.session.Session._register_data_loader
    - botocore.hooks._PrefixTrie.__init__
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._register_components
    - botocore.session.Session._register_exceptions_factory
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.session.Session._register_credential_provider
    - config_variables.items
    - copy.copy
    - botocore.hooks.HierarchicalEmitter._register_section
    - botocore.hooks.EventAliaser.__init__
    - botocore.session.Session._register_response_parser_factory
    - botocore.session.Session.register
    - botocore.hooks.EventAliaser.register
    - botocore.session.Session.__init__
    - botocore.parsers.ResponseParserFactory.__init__
    - botocore.session.Session._register_endpoint_resolver
    - botocore.configprovider.ScopedConfigProvider.__init__
    - botocore.hooks.BaseEventHooks._verify_is_callable
    - providers.append
    - event_parts.index
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.configprovider.EnvironmentProvider.__init__
    - botocore.session.Session._register_builtin_handlers
    - <builtin>.callable
    - botocore.session.Session._register_default_config_resolver
    - botocore.configprovider.ConfigValueStore.__init__
    - botocore.hooks.EventAliaser._replace_subsection
    - providers.extend
    - old_part.split
    - botocore.session.ComponentLocator.__init__
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.hooks.HierarchicalEmitter._register
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.hooks.EventAliaser._alias_event_name
    - botocore.session.ComponentLocator.register_component
    - botocore.session.Session._register_monitor
    - botocore.hooks.HierarchicalEmitter._register_first
    - botocore.hooks.BaseEventHooks.register_last
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.invoke_initializers
    - inspect.getfullargspec
    - botocore.session.Session._register_smart_defaults_factory
    - botocore.hooks.EventAliaser.register_last
    - botocore.hooks.HierarchicalEmitter._register_last
    - botocore.session.ComponentLocator.lazy_register_component
    - botocore.hooks.BaseEventHooks._verify_and_register
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.hooks.EventAliaser.register_first
    - <builtin>.range
    - botocore.session.Session._register_config_store
    - collections.namedtuple.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - botocore.configprovider.ChainProvider.__init__
    - botocore.errorfactory.ClientExceptionsFactory.__init__
    - botocore.hooks._PrefixTrie.append_item
    - botocore.session.Session._register_token_provider
    - botocore.session.SessionVarDict.__init__
    - key.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: botocore.configprovider
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - chain_builder
    - config_variables
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 223
    functionName: botocore.configprovider._create_config_chain_mapping
    functionSourceFile: botocore.configprovider
    functionUses: 46
    functionsReached:
    - <builtin>.isinstance
    - env_var_providers.append
    - providers.extend
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - scoped_config_providers.append
    - botocore.configprovider.ScopedConfigProvider.__init__
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - providers.append
    - botocore.configprovider.ChainProvider.__init__
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.configprovider.EnvironmentProvider.__init__
    - config_variables.items
    - botocore.configprovider.InstanceVarProvider.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argNames:
    - self
    - section_name
    - session
    - override_providers
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 770
    functionName: botocore.configprovider.SectionConfigProvider.__init__
    functionSourceFile: botocore.configprovider
    functionUses: 47
    functionsReached:
    - botocore.configprovider.ScopedConfigProvider.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config_variables.items
    functionSourceFile: <builtin>
    functionUses: 47
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argNames:
    - self
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 242
    functionName: botocore.configprovider.DefaultConfigResolver._resolve_default_values_by_mode
    functionSourceFile: botocore.configprovider
    functionUses: 1
    functionsReached:
    - modification_dict.keys
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: modification_dict.keys
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 260
    functionName: botocore.configprovider.DefaultConfigResolver.get_default_modes
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached:
    - default_modes.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: default_modes.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 265
    functionName: botocore.configprovider.DefaultConfigResolver.get_default_config_values
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached:
    - modification_dict.keys
    - <builtin>.list
    - botocore.configprovider.DefaultConfigResolver._resolve_default_values_by_mode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - instance_var
    - session
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 663
    functionName: botocore.configprovider.InstanceVarProvider.__init__
    functionSourceFile: ''
    functionUses: 50
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: providers.append
    functionSourceFile: <builtin>
    functionUses: 49
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - env_var_names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 362
    functionName: botocore.configprovider.ConfigChainFactory._get_env_providers
    functionSourceFile: botocore.configprovider
    functionUses: 49
    functionsReached:
    - <builtin>.isinstance
    - env_var_providers.append
    - botocore.configprovider.EnvironmentProvider.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: providers.extend
    functionSourceFile: <builtin>
    functionUses: 49
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - config_property_names
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 372
    functionName: botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    functionSourceFile: botocore.configprovider
    functionUses: 49
    functionsReached:
    - <builtin>.isinstance
    - botocore.configprovider.ScopedConfigProvider.__init__
    - scoped_config_providers.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 827
    functionName: botocore.configprovider.ConstantProvider.__init__
    functionSourceFile: ''
    functionUses: 56
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argNames:
    - self
    - providers
    - conversion_func
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 598
    functionName: botocore.configprovider.ChainProvider.__init__
    functionSourceFile: ''
    functionUses: 55
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - name
    - env
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 736
    functionName: botocore.configprovider.EnvironmentProvider.__init__
    functionSourceFile: ''
    functionUses: 51
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: env_var_providers.append
    functionSourceFile: <builtin>
    functionUses: 50
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - config_var_name
    - session
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 695
    functionName: botocore.configprovider.ScopedConfigProvider.__init__
    functionSourceFile: ''
    functionUses: 53
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: scoped_config_providers.append
    functionSourceFile: <builtin>
    functionUses: 50
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - memo
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 404
    functionName: botocore.configprovider.ConfigValueStore.__deepcopy__
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached:
    - copy.deepcopy
    - mapping.items
    - botocore.configprovider.ConfigValueStore.__init__
    - botocore.configprovider.ConfigValueStore.set_config_provider
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: provider.provide
    functionSourceFile: <builtin>
    functionUses: 42
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - logical_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 428
    functionName: botocore.configprovider.ConfigValueStore.get_config_provider
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - logical_name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 449
    functionName: botocore.configprovider.ConfigValueStore.set_config_variable
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - logical_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 475
    functionName: botocore.configprovider.ConfigValueStore.clear_config_variable
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argNames:
    - self
    - config_store
    - mode
    - region_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 18
    functionLinenumber: 510
    functionName: botocore.configprovider.SmartDefaultsConfigStoreFactory.merge_smart_defaults
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - io.BytesIO.lower
    - original.params.items
    - session.instance_variables
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.utils.IMDSFetcher._get_request
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - io.BytesIO.tell
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - conn.urlopen
    - platform.release
    - base64.b64encode
    - botocore.credentials.SSOProvider.__init__
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - botocore.httpsession.URLLib3Session._get_request_target
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - botocore.configprovider.InstanceVarProvider.__init__
    - <builtin>.str
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - config_variables.items
    - platform.system
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.resolve_auto_mode
    - botocore.httpsession.URLLib3Session.__init__
    - os.environ.get
    - provider.provide
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - botocore.utils.IMDSRegionProvider._get_fetcher
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - botocore.utils.InstanceMetadataRegionFetcher.retrieve_region
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.utils.get_environ_proxies
    - botocore.httpsession.URLLib3Session._chunked
    - urllib.parse.unquote
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - <builtin>.bool
    - botocore.utils.InstanceMetadataRegionFetcher._get_region
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - io.BytesIO.encode
    - botocore.configprovider.ChainProvider.__init__
    - <builtin>.range
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.utils.IMDSRegionProvider.provide
    - botocore.httpsession.URLLib3Session._path_url
    - headers.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.awsrequest.AWSRequest.prepare
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.IMDSFetcher._log_imds_response
    - botocore.utils.should_bypass_proxies
    - allowed.match
    - <builtin>.getattr
    - botocore.tokens.SSOTokenProvider.__init__
    - loader.load_data
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.awsrequest.AWSRequest.__init__
    - botocore.configprovider.EnvironmentProvider.__init__
    - auth_str.encode
    - botocore.session.Session.user_agent
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - urllib3.Timeout
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - botocore.utils.IMDSFetcher._fetch_metadata_token
    - urllib3.proxy_from_url
    - botocore.utils.IMDSFetcher._default_retry
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - botocore.awsrequest.HeadersDict.__init__
    - io.BytesIO.seek
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.utils.IMDSFetcher._assert_enabled
    - botocore.utils.IMDSRegionProvider._create_fetcher
    - botocore.session.Session._create_credential_resolver
    - logger_args.append
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - botocore.session.Session._create_csm_monitor
    - base64.b64encode.strip
    - env.get
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.httpsession.ensure_boolean
    - url.lower
    - botocore.session.Session._get_crt_version
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - delim.join
    - botocore.compat.ensure_bytes
    - botocore.utils.IMDSFetcher._construct_url
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.utils.IMDSFetcher._is_empty
    - botocore.utils.IMDSRegionProvider._get_instance_metadata_region
    - botocore.session.Session.get_config_variable
    - urllib3.util.url.parse_url
    - providers.append
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - platform.python_version
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    - botocore.utils.ContainerMetadataFetcher.__init__
    - urllib.parse.urlencode.items
    - providers.extend
    - botocore.httpsession._is_ipaddress
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - e.kwargs.get
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.tokens.create_token_resolver
    - session.user_agent
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.utils.IMDSFetcher._add_user_agent
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.session.ComponentLocator.get_component
    - botocore.httpsession.URLLib3Session.send
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 2
    argNames:
    - self
    - region_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 17
    functionLinenumber: 522
    functionName: botocore.configprovider.SmartDefaultsConfigStoreFactory.resolve_auto_mode
    functionSourceFile: botocore.configprovider
    functionUses: 1
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - botocore.httpsession.ProxyConfiguration._get_auth_from_url
    - urllib3.util.ssl_.SSLContext
    - certifi.where
    - botocore.utils.determine_content_length
    - collections.abc.MutableMapping.update
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - io.BytesIO.lower
    - original.params.items
    - session.instance_variables
    - botocore.httpsession.URLLib3Session._get_connection_manager
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.utils.IMDSFetcher._get_request
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - io.BytesIO.tell
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - conn.urlopen
    - platform.release
    - base64.b64encode
    - botocore.credentials.SSOProvider.__init__
    - url.startswith
    - <builtin>.list
    - value.encode
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - botocore.httpsession.URLLib3Session._get_request_target
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.awsrequest.AWSRequestPreparer._prepare_url
    - botocore.configprovider.InstanceVarProvider.__init__
    - <builtin>.str
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - botocore.awsrequest.AWSResponse
    - proxy_url.startswith
    - config_variables.items
    - platform.system
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.utils.InstanceMetadataFetcher._is_invalid_json
    - http.client.HTTPMessage.items
    - botocore.httpsession.ProxyConfiguration.proxy_headers_for
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - headers.items
    - json.loads
    - proxy_manager_kwargs.update
    - botocore.httpsession.URLLib3Session.__init__
    - os.environ.get
    - provider.provide
    - botocore.httpsession.ProxyConfiguration.proxy_url_for
    - <builtin>.type
    - botocore.httpsession.get_cert_path
    - botocore.utils.IMDSRegionProvider._get_fetcher
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - botocore.utils.InstanceMetadataRegionFetcher.retrieve_region
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.IMDSFetcher._is_non_ok_response
    - botocore.utils.get_environ_proxies
    - botocore.httpsession.URLLib3Session._chunked
    - urllib.parse.unquote
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.httpchecksum.AwsChunkedWrapper.seek
    - <builtin>.bool
    - botocore.utils.InstanceMetadataRegionFetcher._get_region
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - io.BytesIO.encode
    - botocore.configprovider.ChainProvider.__init__
    - <builtin>.range
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.utils.IMDSRegionProvider.provide
    - botocore.httpsession.URLLib3Session._path_url
    - headers.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - urllib3.PoolManager.connection_from_url
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.awsrequest.AWSRequest.prepare
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.IMDSFetcher._log_imds_response
    - botocore.utils.should_bypass_proxies
    - allowed.match
    - botocore.tokens.SSOTokenProvider.__init__
    - loader.load_data
    - <builtin>.getattr
    - botocore.awsrequest.AWSRequestPreparer.prepare
    - botocore.awsrequest.AWSRequestPreparer._to_utf8
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.httpchecksum.AwsChunkedWrapper._reset
    - botocore.awsrequest.AWSRequest.__init__
    - botocore.configprovider.EnvironmentProvider.__init__
    - auth_str.encode
    - botocore.session.Session.user_agent
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - urllib3.Timeout
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - botocore.utils.IMDSFetcher._fetch_metadata_token
    - urllib3.proxy_from_url
    - botocore.utils.IMDSFetcher._default_retry
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.URLLib3Session._setup_ssl_cert
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - botocore.awsrequest.HeadersDict.__init__
    - io.BytesIO.seek
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.utils.IMDSFetcher._assert_enabled
    - botocore.utils.IMDSRegionProvider._create_fetcher
    - botocore.session.Session._create_credential_resolver
    - logger_args.append
    - botocore.httpsession.URLLib3Session._setup_proxy_ssl_context
    - botocore.httpsession.ProxyConfiguration._construct_basic_auth
    - botocore.session.Session._create_csm_monitor
    - base64.b64encode.strip
    - env.get
    - botocore.httpsession.ProxyConfiguration._proxies.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.httpsession.ensure_boolean
    - url.lower
    - botocore.session.Session._get_crt_version
    - urllib3.util.ssl_.is_ipaddress
    - key.encode
    - val.lower
    - http.client.HTTPMessage.__init__
    - delim.join
    - botocore.compat.ensure_bytes
    - botocore.utils.IMDSFetcher._construct_url
    - botocore.awsrequest.AWSRequestPreparer._determine_content_length
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.utils.IMDSFetcher._is_empty
    - botocore.utils.IMDSRegionProvider._get_instance_metadata_region
    - botocore.session.Session.get_config_variable
    - urllib3.util.url.parse_url
    - providers.append
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_cert_chain
    - botocore.awsrequest.AWSRequestPreparer._prepare_body
    - pool_manager_kwargs.update
    - botocore.httpsession.URLLib3Session._proxies_kwargs
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - platform.python_version
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials
    - botocore.utils.ContainerMetadataFetcher.__init__
    - urllib.parse.urlencode.items
    - providers.extend
    - botocore.httpsession._is_ipaddress
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - e.kwargs.get
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.tokens.create_token_resolver
    - session.user_agent
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.awsrequest.AWSRequestPreparer._prepare_headers
    - proxies_kwargs.items
    - botocore.httpsession.URLLib3Session._get_proxy_manager
    - botocore.httpsession.ProxyConfiguration._fix_proxy_url
    - botocore.utils.IMDSFetcher._add_user_agent
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.load_verify_locations
    - botocore.session.ComponentLocator.get_component
    - botocore.httpsession.URLLib3Session.send
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - urllib3.util.retry.Retry
    - urllib.parse.urlencode
    - botocore.awsrequest.AWSPreparedRequest.__init__
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argNames:
    - self
    - config_store
    - variable
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 544
    functionName: botocore.configprovider.SmartDefaultsConfigStoreFactory._update_provider
    functionSourceFile: botocore.configprovider
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - config_store.set_config_provider
    - provider.set_default_provider
    - botocore.configprovider.ChainProvider.__init__
    - config_store.get_config_provider
    - botocore.configprovider.ConstantProvider.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config_store.get_config_provider
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: provider.set_default_provider
    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
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config_store.set_config_provider
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argNames:
    - self
    - config_store
    - section_name
    - variable
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 556
    functionName: botocore.configprovider.SmartDefaultsConfigStoreFactory._update_section_provider
    functionSourceFile: botocore.configprovider
    functionUses: 1
    functionsReached:
    - section_provider.set_default_provider
    - botocore.configprovider.ConstantProvider.__init__
    - config_store.get_config_provider
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section_provider.set_default_provider
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - config_store
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 564
    functionName: botocore.configprovider.SmartDefaultsConfigStoreFactory._set_retryMode
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - config_store.set_config_provider
    - provider.set_default_provider
    - botocore.configprovider.ChainProvider.__init__
    - config_store.get_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory._update_provider
    - botocore.configprovider.ConstantProvider.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - config_store
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 567
    functionName: botocore.configprovider.SmartDefaultsConfigStoreFactory._set_stsRegionalEndpoints
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - config_store.set_config_provider
    - provider.set_default_provider
    - botocore.configprovider.ChainProvider.__init__
    - config_store.get_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory._update_provider
    - botocore.configprovider.ConstantProvider.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - config_store
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 570
    functionName: botocore.configprovider.SmartDefaultsConfigStoreFactory._set_s3UsEast1RegionalEndpoints
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached:
    - config_store.get_config_provider
    - section_provider.set_default_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory._update_section_provider
    - botocore.configprovider.ConstantProvider.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argNames:
    - self
    - config_store
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 575
    functionName: botocore.configprovider.SmartDefaultsConfigStoreFactory._set_connectTimeoutInMillis
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - config_store.set_config_provider
    - provider.set_default_provider
    - botocore.configprovider.ChainProvider.__init__
    - config_store.get_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory._update_provider
    - botocore.configprovider.ConstantProvider.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 586
    functionName: botocore.configprovider.BaseProvider.provide
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - memo
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 615
    functionName: botocore.configprovider.ChainProvider.__deepcopy__
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached:
    - copy.deepcopy
    - botocore.configprovider.ChainProvider.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 620
    functionName: botocore.configprovider.ChainProvider.provide
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached:
    - copy.deepcopy.provide
    - botocore.configprovider.ChainProvider._convert_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.deepcopy.provide
    functionSourceFile: copy
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 651
    functionName: botocore.configprovider.ChainProvider._convert_type
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argNames:
    - self
    - default_provider
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 633
    functionName: botocore.configprovider.ChainProvider.set_default_provider
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached:
    - <builtin>.sum
    - copy.deepcopy.append
    - <builtin>.isinstance
    - logger.info
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.deepcopy.append
    functionSourceFile: copy
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.sum
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 656
    functionName: botocore.configprovider.ChainProvider.__repr__
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - memo
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 676
    functionName: botocore.configprovider.InstanceVarProvider.__deepcopy__
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached:
    - copy.deepcopy
    - botocore.configprovider.InstanceVarProvider.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 681
    functionName: botocore.configprovider.InstanceVarProvider.provide
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached:
    - instance_vars.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: instance_vars.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 687
    functionName: botocore.configprovider.InstanceVarProvider.__repr__
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - memo
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 711
    functionName: botocore.configprovider.ScopedConfigProvider.__deepcopy__
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached:
    - botocore.configprovider.ScopedConfigProvider.__init__
    - copy.deepcopy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 14
    functionLinenumber: 716
    functionName: botocore.configprovider.ScopedConfigProvider.provide
    functionSourceFile: botocore.configprovider
    functionUses: 1
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.session.Session._build_profile_map
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - scoped_config.get
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.session.Session.get_scoped_config
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - section_config.get
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.utils.IMDSRegionProvider.__init__
    - botocore.configprovider.EnvironmentProvider.__init__
    - urllib3.Timeout
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - session.user_agent
    - profile_map.get
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: section_config.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 726
    functionName: botocore.configprovider.ScopedConfigProvider.__repr__
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - memo
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 748
    functionName: botocore.configprovider.EnvironmentProvider.__deepcopy__
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached:
    - copy.deepcopy
    - botocore.configprovider.EnvironmentProvider.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 753
    functionName: botocore.configprovider.EnvironmentProvider.provide
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 759
    functionName: botocore.configprovider.EnvironmentProvider.__repr__
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - memo
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 780
    functionName: botocore.configprovider.SectionConfigProvider.__deepcopy__
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached:
    - botocore.configprovider.ScopedConfigProvider.__init__
    - copy.deepcopy
    - botocore.configprovider.SectionConfigProvider.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 15
    functionLinenumber: 787
    functionName: botocore.configprovider.SectionConfigProvider.provide
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached:
    - env_var_providers.append
    - mapping.items
    - urllib3.util.ssl_.SSLContext
    - botocore.monitoring.Monitor.__init__
    - botocore.session.Session.get_component
    - botocore.session.Session._build_profile_map
    - botocore.utils.SSOTokenLoader.__init__
    - scoped_config_providers.append
    - session.instance_variables
    - warnings.warn
    - botocore.credentials.ProfileProviderBuilder._create_web_identity_provider
    - botocore.credentials.create_credential_resolver
    - botocore.configprovider.DefaultConfigResolver.__init__
    - session.get_config_variable
    - botocore.session.SubsetChainConfigFactory.__init__
    - botocore.configprovider.ConfigValueStore.get_config_variable
    - re.compile
    - botocore.credentials.SSOProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_sso_provider
    - os.environ.copy
    - botocore.configprovider.ConfigValueStore.__init__
    - <builtin>.hasattr
    - botocore.credentials.OriginalEC2Provider.__init__
    - scoped_config.get
    - botocore.credentials.InstanceMetadataProvider.__init__
    - urllib.request.proxy_bypass
    - botocore.credentials.CanonicalNameCredentialSourcer.__init__
    - botocore.configprovider.ConfigChainFactory.__init__
    - botocore.session.Session.get_scoped_config
    - botocore.configprovider.InstanceVarProvider.__init__
    - botocore.utils.IMDSFetcher._select_base_url
    - copy.deepcopy.items
    - botocore.credentials.SharedCredentialProvider.__init__
    - botocore.configprovider.SectionConfigProvider.__init__
    - config_variables.items
    - logger.debug
    - endpoint_mode.lower
    - loader.is_builtin_path
    - botocore.configprovider.ConfigChainFactory.create_config_chain
    - botocore.httpsession.URLLib3Session.__init__
    - provider.provide
    - os.environ.get
    - botocore.utils.resolve_imds_endpoint_mode
    - collections.abc.MutableMapping.items
    - botocore.configprovider.ScopedConfigProvider.__init__
    - IPV6_ADDRZ_RE.match
    - botocore.httpsession.create_urllib3_context
    - botocore.utils.JSONFileCache.__init__
    - providers.remove
    - botocore.utils.get_environ_proxies
    - botocore.credentials.EnvProvider.__init__
    - botocore.utils.is_valid_ipv6_endpoint_url
    - botocore.credentials.ConfigProvider.__init__
    - botocore.monitoring.CSMSerializer._validate_client_id
    - botocore.configprovider.ChainProvider.__init__
    - section_config.get
    - botocore.session.SubsetChainConfigFactory.create_config_chain
    - botocore.credentials.ProfileProviderBuilder._create_config_provider
    - botocore.regions.EndpointResolver.__init__
    - mapping.get
    - botocore.session.Session._register_default_config_resolver.create_default_config_resolver
    - <builtin>.len
    - <builtin>.isinstance
    - botocore.credentials.ContainerProvider.__init__
    - urllib3.PoolManager
    - botocore.monitoring.CSMSerializer.__init__
    - botocore.configprovider.ConfigChainFactory._get_env_providers
    - botocore.utils.IMDSFetcher.__init__
    - botocore.utils.is_valid_uri
    - botocore.configprovider._create_config_chain_mapping
    - botocore.session.Session._create_token_resolver
    - botocore.credentials.ProfileProviderBuilder._create_process_provider
    - botocore.utils.should_bypass_proxies
    - botocore.tokens.SSOTokenProvider.__init__
    - allowed.match
    - loader.load_data
    - <builtin>.getattr
    - urllib.request.getproxies
    - urllib3.contrib.pyopenssl.orig_util_SSLContext
    - botocore.configprovider.create_botocore_default_config_mapping
    - botocore.utils.IMDSRegionProvider.__init__
    - urllib3.Timeout
    - botocore.configprovider.EnvironmentProvider.__init__
    - botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider
    - botocore.credentials.ProfileProviderBuilder.providers
    - botocore.credentials.CredentialResolver.__init__
    - botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory
    - urllib.parse.urlsplit
    - botocore.configprovider.ConfigChainFactory._get_scoped_config_providers
    - botocore.httpsession.create_urllib3_context.disable_check_hostname
    - botocore.httpsession.ProxyConfiguration.__init__
    - botocore.credentials.ProfileProviderBuilder.__init__
    - botocore.httpsession.URLLib3Session._get_ssl_context
    - loader.load_data_with_path
    - urllib.parse.urlparse
    - botocore.configprovider.ScopedConfigProvider.provide
    - botocore.credentials.BotoProvider.__init__
    - socket.socket
    - UNSAFE_URL_CHARS.intersection
    - botocore.session.Session._create_credential_resolver
    - botocore.session.Session._create_csm_monitor
    - env.get
    - botocore.credentials.ProcessProvider.__init__
    - botocore.session.Session._register_endpoint_resolver.create_default_resolver
    - botocore.configprovider.ConstantProvider.__init__
    - botocore.monitoring.MonitorEventAdapter.__init__
    - botocore.session.Session.get_config_variable
    - providers.append
    - pool_manager_kwargs.update
    - urllib3.contrib.pyopenssl.orig_util_SSLContext.set_ciphers
    - botocore.monitoring.SocketPublisher.__init__
    - botocore.session.Session._get_config_variable_with_custom_methods
    - botocore.session.Session._get_internal_component
    - botocore.tokens.TokenProviderChain.__init__
    - botocore.utils.ContainerMetadataFetcher.__init__
    - providers.extend
    - botocore.configprovider.ConfigValueStore.set_config_provider
    - botocore.configprovider.SmartDefaultsConfigStoreFactory.__init__
    - botocore.tokens.create_token_resolver
    - session.user_agent
    - profile_map.get
    - botocore.utils.is_valid_endpoint_url
    - config.get
    - botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__
    - botocore.session.ComponentLocator.get_component
    - botocore.credentials.AssumeRoleProvider.__init__
    - botocore.credentials._get_client_creator
    - botocore.httpsession.URLLib3Session._get_pool_manager_kwargs
    - botocore.credentials.EnvProvider._build_mapping
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.deepcopy.items
    functionSourceFile: copy
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argNames:
    - self
    - key
    - default_provider
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 805
    functionName: botocore.configprovider.SectionConfigProvider.set_default_provider
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - copy.deepcopy.get
    - botocore.configprovider.ChainProvider.__init__
    - provider.set_default_provider
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 816
    functionName: botocore.configprovider.SectionConfigProvider.__repr__
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argNames:
    - self
    - memo
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 830
    functionName: botocore.configprovider.ConstantProvider.__deepcopy__
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached:
    - botocore.configprovider.ConstantProvider.__init__
    - copy.deepcopy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 833
    functionName: botocore.configprovider.ConstantProvider.provide
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 837
    functionName: botocore.configprovider.ConstantProvider.__repr__
    functionSourceFile: botocore.configprovider
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_serialization':
  - 80
  - 79
  '...fuzz_serialization.TestOneInput':
  - 65
  - 67
  - 26
  - 59
  - 60
  - 30
  - 63
  '...fuzz_serialization.main':
  - 74
  - 75
  - 76
  botocore:
  - 64
  - 33
  - 34
  - 37
  - 76
  - 28
  - 29
  botocore.args:
  - 33
  - 13
  botocore.args.ClientArgsCreator._build_endpoint_resolver:
  - 548
  - 518
  - 555
  - 526
  - 530
  - 534
  botocore.args.ClientArgsCreator._compute_connect_timeout:
  - 489
  - 490
  - 492
  - 495
  botocore.args.ClientArgsCreator._compute_endpoint_config:
  - 307
  - 308
  - 311
  - 312
  - 313
  botocore.args.ClientArgsCreator._compute_retry_config:
  - 436
  - 437
  botocore.args.ClientArgsCreator._compute_retry_max_attempts:
  - 449
  - 450
  - 451
  - 452
  - 454
  - 455
  - 464
  - 465
  - 466
  botocore.args.ClientArgsCreator._compute_retry_mode:
  - 480
  - 481
  - 472
  - 473
  - 476
  botocore.args.ClientArgsCreator._compute_s3_endpoint_config:
  - 321
  - 323
  - 324
  - 332
  - 318
  botocore.args.ClientArgsCreator._compute_socket_options:
  - 432
  - 427
  - 428
  - 431
  botocore.args.ClientArgsCreator._compute_sts_endpoint_config:
  - 372
  - 366
  - 367
  botocore.args.ClientArgsCreator._ensure_boolean:
  - 499
  - 502
  botocore.args.ClientArgsCreator._get_sts_regional_endpoints_config:
  - 394
  - 396
  - 391
  botocore.args.ClientArgsCreator._is_s3_service:
  - 282
  botocore.args.ClientArgsCreator._resolve_endpoint:
  - 418
  botocore.args.ClientArgsCreator._set_region_if_custom_s3_endpoint:
  - 361
  - 357
  botocore.args.ClientArgsCreator._should_force_s3_global:
  - 338
  - 340
  botocore.args.ClientArgsCreator._should_set_global_sts_endpoint:
  - 386
  - 380
  - 383
  botocore.args.ClientArgsCreator._validate_s3_regional_config:
  - 346
  botocore.args.ClientArgsCreator.compute_client_args:
  - 257
  - 189
  - 191
  - 192
  - 193
  - 194
  - 198
  - 199
  - 201
  - 204
  - 205
  - 213
  - 217
  - 222
  - 223
  - 224
  - 225
  - 226
  - 227
  - 238
  - 239
  - 240
  - 242
  - 244
  - 245
  botocore.args.ClientArgsCreator.compute_endpoint_resolver_builtin_defaults:
  - 609
  - 578
  - 641
  - 644
  - 583
  - 619
  - 632
  - 593
  - 625
  - 595
  - 598
  - 600
  - 634
  - 638
  botocore.args.ClientArgsCreator.compute_s3_config:
  - 263
  - 267
  - 268
  - 269
  - 276
  - 277
  botocore.args.ClientArgsCreator.get_client_args:
  - 129
  - 108
  - 143
  - 114
  - 115
  - 146
  - 148
  - 92
  - 126
  - 127
  botocore.auth:
  - 49
  - 978
  - 981
  - 983
  botocore.auth.BearerAuth:
  - 949
  botocore.auth.BearerAuth.add_auth:
  - 961
  - 957
  botocore.auth.HmacV1Auth._get_date:
  - 839
  botocore.auth.HmacV1Auth._inject_signature:
  - 842
  botocore.auth.HmacV1Auth.add_auth:
  - 832
  - 833
  - 836
  - 828
  - 830
  - 831
  botocore.auth.HmacV1Auth.canonical_custom_headers:
  - 757
  - 758
  - 759
  - 760
  - 761
  - 762
  - 764
  - 765
  - 766
  - 767
  botocore.auth.HmacV1Auth.canonical_resource:
  - 801
  - 787
  - 791
  - 792
  - 793
  - 795
  - 797
  - 798
  - 799
  botocore.auth.HmacV1Auth.canonical_standard_headers:
  - 740
  - 742
  - 743
  - 745
  - 746
  - 747
  - 748
  - 750
  - 751
  - 752
  botocore.auth.HmacV1Auth.canonical_string:
  - 807
  - 808
  - 809
  - 810
  - 812
  botocore.auth.HmacV1Auth.get_signature:
  - 824
  - 825
  - 818
  - 821
  botocore.auth.HmacV1Auth.sign_string:
  - 731
  - 732
  - 734
  - 735
  botocore.auth.HmacV1Auth.unquote_v:
  - 776
  - 770
  - 773
  botocore.auth.HmacV1PostAuth:
  - 909
  botocore.auth.HmacV1PostAuth.add_auth:
  - 933
  - 935
  - 938
  - 939
  - 942
  - 919
  - 924
  - 926
  botocore.auth.HmacV1QueryAuth:
  - 856
  botocore.auth.HmacV1QueryAuth._get_date:
  - 873
  botocore.auth.HmacV1QueryAuth._inject_signature:
  - 896
  - 899
  - 900
  - 905
  - 880
  - 881
  - 884
  - 889
  botocore.auth.S3SigV4Auth._modify_request_before_signing:
  - 480
  - 481
  - 484
  botocore.auth.S3SigV4Auth._should_sha256_sign_payload:
  - 513
  - 514
  - 520
  - 490
  - 491
  - 525
  - 495
  - 500
  - 501
  - 509
  - 510
  - 511
  botocore.auth.S3SigV4PostAuth:
  - 638
  botocore.auth.S3SigV4PostAuth.add_auth:
  - 672
  - 675
  - 676
  - 646
  - 647
  - 679
  - 650
  - 655
  - 657
  - 663
  - 666
  - 667
  - 668
  - 670
  botocore.auth.S3SigV4QueryAuth:
  - 614
  botocore.auth.SigV2Auth:
  - 121
  botocore.auth.SigV2Auth.add_auth:
  - 162
  - 164
  - 173
  - 174
  - 176
  botocore.auth.SigV2Auth.calc_signature:
  - 129
  - 130
  - 132
  - 135
  - 136
  - 139
  - 143
  - 145
  - 146
  - 147
  - 148
  - 149
  - 151
  - 152
  - 153
  botocore.auth.SigV3Auth.add_auth:
  - 192
  - 195
  - 196
  - 198
  - 199
  - 202
  - 204
  - 186
  - 188
  - 190
  - 191
  botocore.auth.SigV4Auth:
  - 210
  botocore.auth.SigV4Auth._canonical_query_string_params:
  - 260
  - 261
  - 262
  - 263
  - 264
  - 269
  - 270
  - 271
  botocore.auth.SigV4Auth._canonical_query_string_url:
  - 276
  - 279
  - 280
  - 281
  - 285
  - 286
  - 287
  botocore.auth.SigV4Auth._header_value:
  - 312
  botocore.auth.SigV4Auth._inject_signature_to_request:
  - 435
  - 436
  - 437
  - 438
  - 440
  - 441
  botocore.auth.SigV4Auth._is_streaming_checksum_payload:
  - 320
  - 321
  - 319
  botocore.auth.SigV4Auth._modify_request_before_signing:
  - 448
  - 449
  - 453
  - 454
  - 445
  - 447
  botocore.auth.SigV4Auth._normalize_url_path:
  - 375
  botocore.auth.SigV4Auth._set_necessary_date_headers:
  - 462
  - 464
  - 467
  - 468
  - 470
  - 473
  botocore.auth.SigV4Auth._should_sha256_sign_payload:
  - 357
  - 351
  botocore.auth.SigV4Auth._sign:
  - 225
  - 226
  - 228
  botocore.auth.SigV4Auth.add_auth:
  - 417
  - 419
  - 420
  - 423
  - 424
  - 425
  - 426
  - 427
  - 428
  - 429
  - 430
  - 432
  botocore.auth.SigV4Auth.canonical_headers:
  - 291
  - 298
  - 299
  - 300
  - 301
  - 303
  - 304
  botocore.auth.SigV4Auth.canonical_query_string:
  - 252
  - 253
  - 255
  botocore.auth.SigV4Auth.canonical_request:
  - 360
  - 361
  - 362
  - 363
  - 364
  - 365
  - 366
  - 367
  - 370
  - 371
  - 372
  botocore.auth.SigV4Auth.credential_scope:
  - 388
  - 389
  - 390
  - 391
  - 392
  botocore.auth.SigV4Auth.headers_to_sign:
  - 232
  - 236
  - 237
  - 238
  - 239
  - 241
  - 244
  botocore.auth.SigV4Auth.payload:
  - 324
  - 326
  - 331
  - 332
  - 333
  - 336
  - 337
  - 338
  - 339
  - 340
  - 342
  - 345
  botocore.auth.SigV4Auth.scope:
  - 384
  - 380
  - 381
  - 382
  - 383
  botocore.auth.SigV4Auth.signature:
  - 408
  - 409
  - 411
  - 412
  - 413
  - 414
  botocore.auth.SigV4Auth.signed_headers:
  - 315
  - 316
  botocore.auth.SigV4Auth.string_to_sign:
  - 395
  - 401
  - 402
  - 403
  - 404
  botocore.auth.SigV4QueryAuth.__init__:
  - 538
  botocore.auth.SigV4QueryAuth._modify_request_before_signing:
  - 544
  - 548
  - 584
  - 554
  - 587
  - 589
  - 558
  - 590
  - 592
  - 604
  - 563
  - 567
  - 571
  - 572
  - 574
  - 575
  botocore.auth.TokenSigner:
  - 112
  botocore.auth._get_body_as_dict:
  - 96
  - 97
  - 98
  - 95
  botocore.auth._host_from_url:
  - 83
  - 75
  - 84
  - 77
  botocore.awsrequest:
  - 34
  botocore.awsrequest.AWSConnection:
  - 54
  botocore.awsrequest.AWSConnection.__init__:
  - 67
  botocore.awsrequest.AWSConnection._consume_headers:
  - 161
  botocore.awsrequest.AWSConnection._convert_to_bytes:
  - 105
  - 106
  - 107
  - 109
  - 110
  botocore.awsrequest.AWSConnection._handle_expect_response:
  - 195
  - 196
  - 197
  - 167
  - 199
  - 169
  - 170
  - 171
  - 172
  - 173
  - 205
  - 176
  - 177
  - 190
  botocore.awsrequest.AWSConnection._is_100_continue_status:
  - 224
  - 225
  - 221
  botocore.awsrequest.AWSConnection._send_message_body:
  - 208
  - 209
  botocore.awsrequest.AWSConnection._send_output:
  - 129
  - 130
  - 142
  - 114
  - 115
  - 146
  - 149
  - 120
  - 123
  - 124
  - 127
  botocore.awsrequest.AWSConnection._send_request:
  - 89
  - 94
  botocore.awsrequest.AWSConnection.close:
  - 81
  botocore.awsrequest.AWSConnection.send:
  - 218
  - 212
  - 213
  botocore.awsrequest.AWSHTTPConnection:
  - 231
  botocore.awsrequest.AWSHTTPResponse.__init__:
  - 41
  - 42
  botocore.awsrequest.AWSHTTPResponse._read_status:
  - 50
  - 45
  botocore.awsrequest.AWSHTTPSConnection:
  - 235
  botocore.awsrequest.AWSPreparedRequest:
  - 488
  botocore.awsrequest.AWSPreparedRequest.reset_stream:
  - 515
  - 528
  - 531
  - 532
  - 534
  botocore.awsrequest.AWSRequest:
  - 429
  botocore.awsrequest.AWSRequest.__init__:
  - 456
  - 449
  - 462
  - 463
  botocore.awsrequest.AWSRequest.body:
  - 481
  - 482
  - 483
  botocore.awsrequest.AWSRequest.prepare:
  - 476
  - 477
  botocore.awsrequest.AWSRequestPreparer:
  - 341
  botocore.awsrequest.AWSRequestPreparer._determine_content_length:
  - 425
  botocore.awsrequest.AWSRequestPreparer._prepare_body:
  - 418
  - 419
  - 420
  - 413
  - 415
  botocore.awsrequest.AWSRequestPreparer._prepare_headers:
  - 384
  - 387
  - 391
  - 392
  - 393
  - 394
  - 398
  - 399
  botocore.awsrequest.AWSRequestPreparer._prepare_url:
  - 372
  - 373
  - 375
  - 376
  - 379
  - 380
  botocore.awsrequest.AWSRequestPreparer._to_utf8:
  - 408
  - 409
  - 406
  - 407
  botocore.awsrequest.AWSRequestPreparer.prepare:
  - 368
  - 363
  - 364
  - 365
  botocore.awsrequest.AWSResponse:
  - 539
  botocore.awsrequest.AWSResponse.__init__:
  - 554
  botocore.awsrequest.AWSResponse.content:
  - 568
  - 561
  - 563
  botocore.awsrequest.AWSResponse.text:
  - 580
  - 581
  - 582
  - 584
  - 574
  botocore.awsrequest.HeadersDict:
  - 606
  botocore.awsrequest.HeadersDict.__delitem__:
  - 619
  botocore.awsrequest.HeadersDict.__getitem__:
  - 616
  botocore.awsrequest.HeadersDict.__init__:
  - 610
  botocore.awsrequest.HeadersDict.__iter__:
  - 622
  botocore.awsrequest.HeadersDict.__len__:
  - 625
  botocore.awsrequest.HeadersDict.__repr__:
  - 628
  botocore.awsrequest.HeadersDict.__setitem__:
  - 613
  botocore.awsrequest.HeadersDict.copy:
  - 631
  botocore.awsrequest._HeaderKey.__eq__:
  - 596
  botocore.awsrequest._HeaderKey.__hash__:
  - 593
  botocore.awsrequest._HeaderKey.__init__:
  - 590
  botocore.awsrequest._HeaderKey.__repr__:
  - 602
  botocore.awsrequest._urljoin:
  - 320
  - 323
  - 327
  - 333
  - 336
  - 313
  botocore.awsrequest.create_request_object:
  - 288
  - 306
  - 301
  botocore.awsrequest.prepare_request_dict:
  - 266
  - 269
  - 270
  - 271
  - 276
  - 277
  - 249
  - 283
  botocore.client:
  - 64
  - 76
  - 77
  botocore.client.BaseClient.__getattr__:
  - 873
  - 866
  - 869
  botocore.client.BaseClient.__init__:
  - 853
  - 863
  botocore.client.BaseClient._convert_to_request_dict:
  - 993
  - 994
  - 995
  - 996
  - 997
  - 1001
  - 987
  - 990
  botocore.client.BaseClient._emit_api_params:
  - 1024
  - 1017
  - 1018
  - 1026
  botocore.client.BaseClient._get_waiter_config:
  - 1178
  - 1180
  botocore.client.BaseClient._load_exceptions:
  - 1232
  botocore.client.BaseClient._make_api_call:
  - 896
  - 928
  - 898
  - 929
  - 930
  - 906
  - 907
  - 939
  - 942
  - 943
  - 947
  - 916
  - 948
  - 958
  - 919
  - 957
  - 926
  - 959
  botocore.client.BaseClient._make_request:
  - 968
  - 969
  - 970
  - 966
  botocore.client.BaseClient._register_handlers:
  - 886
  - 887
  botocore.client.BaseClient._resolve_endpoint_ruleset:
  - 1059
  - 1068
  - 1069
  - 1070
  - 1041
  - 1075
  - 1077
  - 1078
  - 1055
  botocore.client.BaseClient.can_paginate:
  - 1166
  - 1164
  - 1150
  botocore.client.BaseClient.close:
  - 881
  - 882
  botocore.client.BaseClient.exceptions:
  - 1227
  - 1228
  botocore.client.BaseClient.get_paginator:
  - 1127
  - 1135
  - 1103
  - 1139
  - 1142
  - 1143
  - 1085
  - 1118
  botocore.client.BaseClient.get_paginator.paginate:
  - 1112
  botocore.client.BaseClient.get_waiter:
  - 1191
  - 1200
  - 1201
  - 1203
  - 1205
  - 1206
  - 1207
  - 1210
  botocore.client.BaseClient.waiter_names:
  - 1216
  - 1217
  - 1218
  - 1220
  - 1223
  botocore.client.ClientCreator:
  - 81
  botocore.client.ClientCreator._create_api_method:
  - 536
  - 532
  - 535
  botocore.client.ClientCreator._create_api_method._api_call:
  - 530
  - 525
  botocore.client.ClientCreator._create_client_class:
  - 193
  - 194
  - 199
  - 200
  - 189
  - 190
  botocore.client.ClientCreator._create_methods:
  - 504
  - 502
  - 503
  botocore.client.ClientCreator._create_name_mapping:
  - 513
  - 514
  botocore.client.ClientCreator._default_s3_presign_to_sigv2:
  - 441
  - 458
  - 459
  - 455
  botocore.client.ClientCreator._get_client_args:
  - 485
  - 477
  botocore.client.ClientCreator._get_retry_mode:
  - 305
  - 308
  - 303
  botocore.client.ClientCreator._load_service_endpoints_ruleset:
  - 235
  botocore.client.ClientCreator._load_service_model:
  - 228
  - 231
  botocore.client.ClientCreator._normalize_endpoint_discovery_config:
  - 342
  - 343
  - 344
  - 345
  - 347
  - 348
  - 349
  botocore.client.ClientCreator._normalize_fips_region:
  - 204
  - 205
  - 209
  - 210
  - 211
  - 213
  - 218
  botocore.client.ClientCreator._register_endpoint_discovery:
  - 320
  - 322
  - 323
  - 327
  - 328
  - 330
  - 333
  - 334
  - 336
  - 311
  - 315
  - 318
  botocore.client.ClientCreator._register_eventbridge_events:
  - 362
  - 364
  botocore.client.ClientCreator._register_legacy_retries:
  - 262
  - 266
  - 267
  - 270
  - 271
  - 273
  - 274
  - 278
  - 282
  - 286
  botocore.client.ClientCreator._register_retries:
  - 241
  - 242
  - 243
  - 244
  - 245
  - 246
  - 247
  botocore.client.ClientCreator._register_s3_control_events:
  - 393
  - 395
  botocore.client.ClientCreator._register_s3_events:
  - 378
  - 380
  - 381
  botocore.client.ClientCreator._register_v2_adaptive_retries:
  - 257
  botocore.client.ClientCreator._register_v2_standard_retries:
  - 250
  - 252
  - 254
  botocore.client.ClientCreator._requires_endpoint_discovery:
  - 355
  botocore.client.ClientCreator._set_s3_presign_signature_version:
  - 418
  - 426
  - 430
  - 403
  - 436
  - 406
  - 415
  botocore.client.ClientCreator._transform_legacy_retries:
  - 291
  - 293
  - 294
  - 295
  - 297
  botocore.client.ClientCreator.create_client:
  - 128
  - 131
  - 135
  - 169
  - 170
  - 171
  - 141
  - 142
  - 145
  - 178
  - 179
  - 149
  - 151
  - 122
  - 155
  - 125
  - 126
  botocore.client.ClientCreator.create_client_class:
  - 185
  - 186
  botocore.client.ClientEndpointBridge:
  - 549
  botocore.client.ClientEndpointBridge._assume_endpoint:
  - 705
  - 708
  - 712
  - 715
  - 716
  - 700
  - 702
  botocore.client.ClientEndpointBridge._check_default_region:
  - 626
  - 623
  botocore.client.ClientEndpointBridge._create_endpoint:
  - 641
  - 644
  - 645
  - 632
  - 635
  - 636
  - 637
  - 639
  botocore.client.ClientEndpointBridge._is_s3_dualstack_mode:
  - 676
  - 683
  - 690
  - 691
  - 694
  botocore.client.ClientEndpointBridge._make_url:
  - 747
  botocore.client.ClientEndpointBridge._pick_region_values:
  - 768
  - 781
  botocore.client.ClientEndpointBridge._resolve_endpoint_variant_config_var:
  - 664
  - 660
  - 661
  - 662
  botocore.client.ClientEndpointBridge._resolve_signature_version:
  - 806
  - 807
  - 809
  - 813
  - 814
  - 789
  - 792
  - 795
  - 796
  botocore.client.ClientEndpointBridge._resolve_signing_name:
  - 761
  - 755
  botocore.client.ClientEndpointBridge._resolve_use_dualstack_endpoint:
  - 668
  - 669
  - 671
  botocore.client.ClientEndpointBridge.resolve:
  - 610
  - 611
  - 583
  - 584
  - 615
  - 587
  - 590
  - 599
  - 602
  botocore.client.ClientMeta:
  - 1238
  botocore.client._get_configured_signature_version:
  - 1312
  - 1294
  - 1301
  - 1305
  - 1308
  - 1309
  - 1310
  - 1311
  botocore.compat:
  - 34
  - 296
  - 297
  - 337
  - 340
  - 309
  - 151
  - 311
  - 343
  botocore.compat._windows_shell_split:
  - 258
  - 259
  - 261
  - 264
  - 269
  - 270
  - 273
  - 274
  - 186
  - 205
  - 212
  - 213
  - 219
  - 220
  - 223
  - 226
  - 230
  - 242
  - 243
  - 246
  - 247
  - 252
  - 253
  botocore.compat.accepts_kwargs:
  - 75
  botocore.compat.compat_shell_split:
  - 176
  - 179
  - 180
  - 182
  botocore.compat.copy_kwargs:
  - 129
  - 132
  botocore.compat.ensure_bytes:
  - 82
  - 83
  - 84
  botocore.compat.filter_ssl_warnings:
  - 100
  botocore.compat.from_dict:
  - 110
  - 111
  botocore.compat.from_pairs:
  - 118
  - 119
  botocore.compat.get_md5:
  - 169
  - 170
  - 158
  botocore.compat.get_tzinfo_options:
  - 283
  botocore.compat.set_socket_timeout:
  - 65
  - 70
  botocore.compat.total_seconds:
  - 137
  - 145
  botocore.config.Config:
  - 194
  - 26
  botocore.config.Config.__init__:
  - 228
  - 229
  - 232
  - 233
  - 234
  - 237
  - 238
  - 241
  - 243
  - 223
  botocore.config.Config._record_user_provided_options:
  - 260
  - 267
  - 269
  - 246
  - 251
  - 252
  botocore.config.Config._validate_retry_configuration:
  - 288
  - 289
  - 290
  - 295
  - 300
  - 305
  botocore.config.Config._validate_s3_configuration:
  - 280
  - 278
  - 279
  botocore.config.Config.merge:
  - 312
  - 331
  - 328
  - 325
  botocore.configloader._merge_list_of_dicts:
  - 88
  - 89
  - 90
  botocore.configloader._parse_nested:
  - 192
  - 193
  - 198
  - 199
  - 191
  botocore.configloader._unicode_path:
  - 173
  - 177
  - 178
  - 179
  - 180
  botocore.configloader.build_profile_map:
  - 258
  - 259
  - 261
  - 264
  - 266
  - 204
  - 268
  - 271
  - 273
  - 254
  botocore.configloader.load_config:
  - 96
  - 105
  - 106
  botocore.configloader.multi_file_load_config:
  - 73
  - 75
  - 78
  - 79
  - 80
  - 81
  - 24
  botocore.configloader.raw_config_parse:
  - 163
  - 141
  - 142
  - 110
  - 144
  - 143
  - 146
  - 148
  - 154
  - 156
  - 157
  - 158
  botocore.configprovider:
  - 13
  - 22
  botocore.configprovider.BaseProvider:
  - 580
  botocore.configprovider.BaseProvider.provide:
  - 587
  botocore.configprovider.ChainProvider:
  - 592
  botocore.configprovider.ChainProvider.__deepcopy__:
  - 616
  - 617
  botocore.configprovider.ChainProvider.__init__:
  - 610
  - 599
  botocore.configprovider.ChainProvider.__repr__:
  - 657
  botocore.configprovider.ChainProvider._convert_type:
  - 652
  - 653
  botocore.configprovider.ChainProvider.provide:
  - 621
  - 627
  - 628
  - 629
  - 630
  botocore.configprovider.ChainProvider.set_default_provider:
  - 641
  - 642
  - 645
  - 646
  - 634
  - 639
  botocore.configprovider.ConfigChainFactory:
  - 273
  botocore.configprovider.ConfigChainFactory.__init__:
  - 281
  - 292
  botocore.configprovider.ConfigChainFactory._get_env_providers:
  - 368
  - 364
  - 366
  - 367
  botocore.configprovider.ConfigChainFactory._get_scoped_config_providers:
  - 376
  - 377
  - 378
  - 374
  botocore.configprovider.ConfigChainFactory.create_config_chain:
  - 352
  - 354
  - 355
  - 357
  - 304
  - 342
  - 343
  - 344
  - 348
  - 349
  - 350
  - 351
  botocore.configprovider.ConfigValueStore:
  - 387
  botocore.configprovider.ConfigValueStore.__deepcopy__:
  - 405
  botocore.configprovider.ConfigValueStore.__init__:
  - 400
  - 401
  - 402
  - 390
  botocore.configprovider.ConfigValueStore.clear_config_variable:
  - 482
  - 476
  botocore.configprovider.ConfigValueStore.get_config_provider:
  - 441
  - 429
  botocore.configprovider.ConfigValueStore.get_config_variable:
  - 408
  - 426
  - 421
  - 423
  botocore.configprovider.ConfigValueStore.set_config_provider:
  - 485
  botocore.configprovider.ConfigValueStore.set_config_variable:
  - 450
  botocore.configprovider.ConstantProvider:
  - 825
  botocore.configprovider.ConstantProvider.__deepcopy__:
  - 831
  botocore.configprovider.ConstantProvider.provide:
  - 834
  botocore.configprovider.DefaultConfigResolver._resolve_default_values_by_mode:
  - 243
  - 244
  - 246
  - 249
  - 251
  - 253
  - 255
  botocore.configprovider.DefaultConfigResolver.get_default_config_values:
  - 266
  - 267
  botocore.configprovider.DefaultConfigResolver.get_default_modes:
  - 262
  botocore.configprovider.EnvironmentProvider:
  - 734
  botocore.configprovider.EnvironmentProvider.__deepcopy__:
  - 749
  - 750
  botocore.configprovider.EnvironmentProvider.__init__:
  - 737
  botocore.configprovider.EnvironmentProvider.provide:
  - 754
  - 755
  botocore.configprovider.InstanceVarProvider:
  - 661
  botocore.configprovider.InstanceVarProvider.__deepcopy__:
  - 677
  - 678
  botocore.configprovider.InstanceVarProvider.__init__:
  - 664
  botocore.configprovider.InstanceVarProvider.__repr__:
  - 688
  botocore.configprovider.InstanceVarProvider.provide:
  - 682
  - 683
  - 684
  botocore.configprovider.ScopedConfigProvider.__deepcopy__:
  - 712
  - 713
  botocore.configprovider.ScopedConfigProvider.__init__:
  - 696
  botocore.configprovider.ScopedConfigProvider.__repr__:
  - 727
  botocore.configprovider.ScopedConfigProvider.provide:
  - 717
  - 718
  - 719
  - 720
  - 721
  - 723
  - 724
  botocore.configprovider.SectionConfigProvider:
  - 764
  botocore.configprovider.SectionConfigProvider.__deepcopy__:
  - 784
  - 781
  - 782
  botocore.configprovider.SectionConfigProvider.__init__:
  - 777
  - 773
  botocore.configprovider.SectionConfigProvider.provide:
  - 800
  - 788
  - 789
  - 790
  - 797
  - 798
  - 799
  botocore.configprovider.SectionConfigProvider.set_default_provider:
  - 806
  - 807
  - 808
  - 810
  - 811
  botocore.configprovider.SmartDefaultsConfigStoreFactory._set_connectTimeoutInMillis:
  - 576
  botocore.configprovider.SmartDefaultsConfigStoreFactory._set_retryMode:
  - 565
  botocore.configprovider.SmartDefaultsConfigStoreFactory._set_s3UsEast1RegionalEndpoints:
  - 571
  botocore.configprovider.SmartDefaultsConfigStoreFactory._set_stsRegionalEndpoints:
  - 568
  botocore.configprovider.SmartDefaultsConfigStoreFactory._update_provider:
  - 545
  - 546
  - 547
  - 548
  - 550
  - 551
  - 554
  botocore.configprovider.SmartDefaultsConfigStoreFactory._update_section_provider:
  - 560
  - 561
  - 559
  botocore.configprovider.SmartDefaultsConfigStoreFactory.merge_smart_defaults:
  - 512
  - 514
  - 516
  - 518
  - 519
  - 520
  - 511
  botocore.configprovider.SmartDefaultsConfigStoreFactory.resolve_auto_mode:
  - 524
  - 525
  - 526
  - 527
  - 528
  - 532
  - 537
  - 538
  botocore.configprovider._create_config_chain_mapping:
  - 225
  - 226
  botocore.configprovider.create_botocore_default_config_mapping:
  - 204
  - 205
  - 208
  - 211
  - 213
  - 216
  botocore.credentials:
  - 56
  - 57
  botocore.credentials.AssumeRoleCredentialFetcher.__init__:
  - 770
  - 803
  - 806
  botocore.credentials.AssumeRoleCredentialFetcher._assume_role_kwargs:
  - 833
  - 821
  - 822
  - 824
  - 826
  - 828
  - 831
  botocore.credentials.AssumeRoleCredentialFetcher._create_client:
  - 840
  - 841
  - 839
  botocore.credentials.AssumeRoleCredentialFetcher._get_credentials:
  - 816
  - 817
  - 818
  - 815
  botocore.credentials.AssumeRoleProvider.__init__:
  - 1403
  botocore.credentials.AssumeRoleProvider._get_role_config:
  - 1539
  - 1559
  - 1541
  - 1560
  - 1547
  - 1518
  - 1519
  - 1522
  - 1554
  - 1524
  - 1525
  - 1526
  - 1527
  - 1528
  - 1562
  botocore.credentials.AssumeRoleProvider._has_static_credentials:
  - 1631
  botocore.credentials.AssumeRoleProvider._load_creds_via_assume_role:
  - 1505
  - 1474
  - 1475
  - 1506
  - 1511
  - 1480
  - 1481
  - 1484
  - 1485
  - 1488
  - 1489
  - 1492
  - 1493
  - 1496
  botocore.credentials.AssumeRoleProvider._resolve_credentials_from_profile:
  - 1664
  - 1665
  - 1666
  - 1675
  - 1645
  - 1648
  - 1649
  - 1656
  - 1657
  - 1659
  - 1660
  botocore.credentials.AssumeRoleProvider._resolve_credentials_from_source:
  - 1692
  - 1695
  botocore.credentials.AssumeRoleProvider._resolve_source_credentials:
  - 1634
  - 1635
  - 1636
  - 1641
  - 1642
  botocore.credentials.AssumeRoleProvider._resolve_static_credentials_from_profile:
  - 1682
  - 1679
  botocore.credentials.AssumeRoleProvider._source_profile_has_credentials:
  - 1584
  botocore.credentials.AssumeRoleProvider._validate_credential_source:
  - 1575
  - 1567
  botocore.credentials.AssumeRoleProvider._validate_source_profile:
  - 1607
  - 1612
  - 1623
  - 1594
  - 1595
  botocore.credentials.AssumeRoleProvider.load:
  - 1456
  - 1457
  - 1458
  - 1459
  - 1460
  botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher.__init__:
  - 890
  - 861
  botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._assume_role_kwargs:
  - 908
  - 909
  - 910
  botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher._get_credentials:
  - 899
  - 900
  - 903
  - 904
  - 905
  botocore.credentials.AssumeRoleWithWebIdentityProvider.__init__:
  - 1730
  botocore.credentials.AssumeRoleWithWebIdentityProvider._assume_role_with_web_identity:
  - 1760
  - 1762
  - 1764
  - 1765
  - 1775
  - 1776
  - 1779
  - 1789
  - 1759
  botocore.credentials.AssumeRoleWithWebIdentityProvider._get_config:
  - 1753
  - 1754
  - 1756
  botocore.credentials.AssumeRoleWithWebIdentityProvider._get_env_config:
  - 1745
  - 1747
  - 1748
  botocore.credentials.AssumeRoleWithWebIdentityProvider._get_profile_config:
  - 1738
  - 1739
  - 1740
  - 1741
  - 1742
  botocore.credentials.AssumeRoleWithWebIdentityProvider.load:
  - 1735
  botocore.credentials.BaseAssumeRoleCredentialFetcher.__init__:
  - 718
  - 721
  - 724
  - 726
  - 727
  - 729
  botocore.credentials.BaseAssumeRoleCredentialFetcher._create_cache_key:
  - 737
  - 741
  - 745
  - 748
  - 752
  - 754
  - 755
  - 756
  botocore.credentials.BaseAssumeRoleCredentialFetcher._generate_assume_role_name:
  - 732
  botocore.credentials.BotoProvider.__init__:
  - 1345
  - 1343
  botocore.credentials.BotoProvider.load:
  - 1351
  - 1354
  - 1358
  - 1360
  - 1364
  - 1366
  - 1367
  - 1370
  - 1373
  botocore.credentials.CachedCredentialFetcher.__init__:
  - 641
  - 644
  - 645
  botocore.credentials.CachedCredentialFetcher._get_cached_credentials:
  - 672
  - 674
  - 677
  - 664
  - 669
  - 670
  - 671
  botocore.credentials.CachedCredentialFetcher._is_expired:
  - 700
  - 701
  - 702
  botocore.credentials.CachedCredentialFetcher._load_from_cache:
  - 688
  - 691
  - 686
  - 687
  botocore.credentials.CachedCredentialFetcher._make_file_safe:
  - 654
  - 655
  botocore.credentials.CachedCredentialFetcher._write_to_cache:
  - 697
  botocore.credentials.CachedCredentialFetcher.fetch_credentials:
  - 661
  botocore.credentials.CanonicalNameCredentialSourcer._get_provider:
  - 1857
  - 1827
  - 1859
  - 1836
  - 1844
  - 1845
  - 1846
  - 1851
  botocore.credentials.CanonicalNameCredentialSourcer._get_provider_by_canonical_name:
  - 1873
  - 1865
  - 1870
  botocore.credentials.CanonicalNameCredentialSourcer._get_provider_by_method:
  - 1877
  - 1878
  - 1879
  botocore.credentials.CanonicalNameCredentialSourcer.is_supported:
  - 1800
  botocore.credentials.CanonicalNameCredentialSourcer.source_credentials:
  - 1824
  - 1813
  - 1821
  - 1822
  - 1823
  botocore.credentials.ConfigProvider:
  - 1274
  botocore.credentials.ConfigProvider.__init__:
  - 1297
  - 1287
  botocore.credentials.ConfigProvider._get_session_token:
  - 1328
  - 1329
  botocore.credentials.ConfigProvider.load:
  - 1312
  - 1313
  - 1317
  - 1320
  - 1321
  - 1302
  - 1307
  - 1310
  botocore.credentials.ContainerProvider.__init__:
  - 1891
  - 1893
  - 1894
  botocore.credentials.ContainerProvider._build_headers:
  - 1922
  - 1923
  botocore.credentials.ContainerProvider._create_fetcher.fetch_creds:
  - 1929
  - 1933
  botocore.credentials.ContainerProvider._retrieve_or_fail:
  - 1905
  - 1906
  - 1909
  - 1910
  - 1911
  - 1912
  - 1917
  botocore.credentials.ContainerProvider.load:
  - 1901
  - 1902
  botocore.credentials.CredentialProvider._extract_creds_from_mapping:
  - 952
  - 954
  botocore.credentials.CredentialProvider.load:
  - 932
  botocore.credentials.CredentialResolver.__init__:
  - 1954
  botocore.credentials.CredentialResolver._get_provider_offset:
  - 2027
  botocore.credentials.CredentialResolver.get_provider:
  - 2014
  - 2023
  botocore.credentials.CredentialResolver.insert_after:
  - 1995
  - 1996
  - 1982
  botocore.credentials.CredentialResolver.insert_before:
  - 1976
  - 1962
  - 1979
  botocore.credentials.CredentialResolver.load_credentials:
  - 2032
  - 2037
  - 2038
  - 2039
  - 2040
  botocore.credentials.CredentialResolver.remove:
  - 2010
  - 2011
  - 2006
  - 1999
  botocore.credentials.Credentials:
  - 302
  botocore.credentials.Credentials.__init__:
  - 321
  - 317
  botocore.credentials.Credentials._normalize:
  - 330
  - 331
  botocore.credentials.Credentials.get_frozen_credentials:
  - 334
  botocore.credentials.DeferredRefreshableCredentials:
  - 615
  botocore.credentials.DeferredRefreshableCredentials.__init__:
  - 627
  botocore.credentials.DeferredRefreshableCredentials.refresh_needed:
  - 632
  - 634
  botocore.credentials.EnvProvider.__init__:
  - 1090
  - 1077
  - 1087
  botocore.credentials.EnvProvider._build_mapping:
  - 1095
  - 1102
  - 1105
  - 1108
  - 1109
  - 1111
  botocore.credentials.EnvProvider._create_credentials_fetcher.fetch_credentials:
  - 1157
  - 1158
  - 1164
  - 1165
  - 1172
  - 1173
  - 1174
  - 1179
  - 1180
  - 1182
  botocore.credentials.EnvProvider.load:
  - 1121
  - 1123
  - 1124
  - 1125
  - 1126
  - 1129
  - 1130
  - 1131
  - 1140
  - 1117
  botocore.credentials.InstanceMetadataProvider.load:
  - 1049
  - 1050
  - 1052
  - 1058
  botocore.credentials.OriginalEC2Provider.__init__:
  - 1201
  - 1203
  botocore.credentials.OriginalEC2Provider.load:
  - 1216
  - 1217
  - 1218
  - 1222
  - 1209
  - 1212
  - 1213
  botocore.credentials.ProcessProvider._credential_process:
  - 1034
  - 1029
  - 1030
  - 1031
  botocore.credentials.ProcessProvider._retrieve_credentials_using:
  - 995
  - 996
  - 999
  - 1000
  - 1004
  - 1005
  - 1006
  - 1018
  - 1019
  botocore.credentials.ProcessProvider.load:
  - 974
  - 977
  - 978
  - 979
  - 981
  - 985
  - 988
  botocore.credentials.ProcessProvider.load.<lambda1>:
  - 981
  botocore.credentials.ProfileProviderBuilder:
  - 159
  botocore.credentials.ProfileProviderBuilder._create_config_provider:
  - 203
  - 204
  botocore.credentials.ProfileProviderBuilder._create_process_provider:
  - 192
  - 190
  botocore.credentials.ProfileProviderBuilder._create_shared_credential_provider:
  - 196
  - 197
  botocore.credentials.ProfileProviderBuilder._create_sso_provider:
  - 227
  - 221
  - 222
  botocore.credentials.ProfileProviderBuilder._create_web_identity_provider:
  - 210
  - 211
  - 212
  botocore.credentials.ProfileProviderBuilder.providers:
  - 179
  - 183
  - 184
  - 185
  - 186
  botocore.credentials.RefreshableCredentials:
  - 340
  botocore.credentials.RefreshableCredentials.__init__:
  - 376
  - 378
  - 381
  botocore.credentials.RefreshableCredentials._expiry_datetime:
  - 551
  botocore.credentials.RefreshableCredentials._is_expired:
  - 478
  botocore.credentials.RefreshableCredentials._normalize:
  - 384
  - 385
  botocore.credentials.RefreshableCredentials._protected_refresh:
  - 514
  - 546
  - 517
  - 523
  - 532
  - 533
  - 536
  botocore.credentials.RefreshableCredentials._refresh:
  - 484
  - 491
  - 493
  - 495
  - 498
  - 501
  - 502
  - 506
  - 508
  botocore.credentials.RefreshableCredentials._seconds_remaining:
  - 440
  - 439
  botocore.credentials.RefreshableCredentials._set_from_data:
  - 555
  - 560
  - 570
  - 571
  - 574
  botocore.credentials.RefreshableCredentials.access_key:
  - 401
  - 405
  botocore.credentials.RefreshableCredentials.create_from_metadata:
  - 393
  - 389
  botocore.credentials.RefreshableCredentials.get_frozen_credentials:
  - 577
  - 610
  botocore.credentials.RefreshableCredentials.refresh_needed:
  - 462
  - 466
  - 470
  - 473
  - 443
  botocore.credentials.RefreshableCredentials.secret_key:
  - 418
  - 414
  botocore.credentials.RefreshableCredentials.token:
  - 427
  - 431
  botocore.credentials.SSOCredentialFetcher.__init__:
  - 2076
  botocore.credentials.SSOCredentialFetcher._create_cache_key:
  - 2087
  - 2096
  - 2097
  - 2098
  - 2079
  botocore.credentials.SSOCredentialFetcher._get_credentials:
  - 2112
  - 2113
  - 2114
  - 2115
  - 2117
  - 2125
  - 2136
  - 2107
  - 2108
  botocore.credentials.SSOCredentialFetcher._parse_timestamp:
  - 2104
  - 2103
  botocore.credentials.SSOProvider:
  - 2145
  - 2146
  botocore.credentials.SSOProvider.__init__:
  - 2169
  - 2170
  - 2173
  botocore.credentials.SSOProvider._load_sso_config:
  - 2181
  - 2182
  - 2184
  - 2185
  - 2188
  - 2193
  - 2200
  - 2201
  - 2204
  - 2206
  - 2207
  botocore.credentials.SSOProvider._resolve_sso_session_reference:
  - 2217
  - 2218
  - 2222
  - 2226
  - 2228
  - 2230
  botocore.credentials.SSOProvider.load:
  - 2240
  - 2241
  - 2250
  - 2253
  - 2257
  - 2259
  botocore.credentials.SharedCredentialProvider.__init__:
  - 1240
  - 1243
  botocore.credentials.SharedCredentialProvider._get_session_token:
  - 1268
  - 1269
  botocore.credentials.SharedCredentialProvider.load:
  - 1249
  - 1252
  - 1254
  - 1255
  - 1259
  - 1262
  - 1263
  botocore.credentials._get_client_creator.client_creator:
  - 261
  - 262
  botocore.credentials._local_now:
  - 241
  botocore.credentials._parse_if_needed:
  - 245
  - 247
  botocore.credentials._serialize_if_needed:
  - 251
  - 252
  - 253
  - 254
  botocore.credentials.create_assume_role_refresher.refresh:
  - 277
  - 269
  botocore.credentials.create_credential_resolver:
  - 132
  - 148
  - 149
  - 154
  - 66
  - 73
  - 74
  - 75
  - 76
  - 79
  - 82
  - 88
  - 91
  - 92
  - 93
  - 94
  - 97
  - 102
  - 105
  - 106
  - 107
  - 110
  - 120
  - 125
  - 126
  botocore.credentials.create_mfa_serial_refresher:
  - 298
  botocore.credentials.create_mfa_serial_refresher._Refresher.__call__:
  - 296
  - 290
  botocore.credentials.get_credentials:
  - 236
  - 237
  botocore.crt.auth.CrtS3SigV4AsymAuth._should_sha256_sign_payload:
  - 417
  - 422
  - 392
  - 393
  - 397
  - 402
  - 403
  - 410
  - 411
  botocore.crt.auth.CrtS3SigV4AsymQueryAuth:
  - 499
  botocore.crt.auth.CrtS3SigV4Auth._should_sha256_sign_payload:
  - 225
  - 195
  - 200
  - 201
  - 209
  - 210
  - 211
  - 213
  - 214
  - 220
  - 190
  - 191
  botocore.crt.auth.CrtS3SigV4QueryAuth:
  - 596
  botocore.crt.auth.CrtSigV4AsymAuth._apply_signing_changes:
  - 339
  - 340
  botocore.crt.auth.CrtSigV4AsymAuth._crt_request_from_aws_request:
  - 323
  - 324
  - 327
  - 329
  - 308
  - 310
  - 312
  - 313
  - 314
  - 315
  - 316
  - 319
  botocore.crt.auth.CrtSigV4AsymAuth._get_existing_sha256:
  - 357
  botocore.crt.auth.CrtSigV4AsymAuth._is_streaming_checksum_payload:
  - 360
  - 361
  - 362
  botocore.crt.auth.CrtSigV4AsymAuth._modify_request_before_signing:
  - 353
  - 354
  - 349
  - 350
  botocore.crt.auth.CrtSigV4AsymAuth._should_sha256_sign_payload:
  - 372
  - 366
  botocore.crt.auth.CrtSigV4AsymAuth._should_sign_header:
  - 344
  botocore.crt.auth.CrtSigV4AsymAuth.add_auth:
  - 256
  - 288
  - 261
  - 263
  - 265
  - 302
  - 271
  - 303
  - 273
  - 274
  - 304
  - 305
  - 281
  - 251
  botocore.crt.auth.CrtSigV4AsymQueryAuth.__init__:
  - 436
  botocore.crt.auth.CrtSigV4AsymQueryAuth._apply_signing_changes:
  - 483
  - 485
  - 486
  - 495
  botocore.crt.auth.CrtSigV4AsymQueryAuth._modify_request_before_signing:
  - 450
  - 454
  - 455
  - 463
  - 466
  - 468
  - 440
  - 444
  - 445
  - 479
  botocore.crt.auth.CrtSigV4Auth._apply_signing_changes:
  - 142
  - 143
  botocore.crt.auth.CrtSigV4Auth._crt_request_from_aws_request:
  - 130
  - 132
  - 111
  - 113
  - 115
  - 116
  - 117
  - 118
  - 119
  - 122
  - 126
  - 127
  botocore.crt.auth.CrtSigV4Auth._get_existing_sha256:
  - 160
  botocore.crt.auth.CrtSigV4Auth._is_streaming_checksum_payload:
  - 49
  - 50
  - 51
  botocore.crt.auth.CrtSigV4Auth._modify_request_before_signing:
  - 152
  - 153
  - 156
  - 157
  botocore.crt.auth.CrtSigV4Auth._should_sha256_sign_payload:
  - 170
  - 164
  botocore.crt.auth.CrtSigV4Auth._should_sign_header:
  - 147
  botocore.crt.auth.CrtSigV4Auth.add_auth:
  - 64
  - 66
  - 68
  - 105
  - 74
  - 91
  - 76
  - 77
  - 106
  - 107
  - 108
  - 84
  - 54
  - 59
  botocore.crt.auth.CrtSigV4QueryAuth.__init__:
  - 527
  botocore.crt.auth.CrtSigV4QueryAuth._apply_signing_changes:
  - 592
  - 580
  - 582
  - 583
  botocore.crt.auth.CrtSigV4QueryAuth._modify_request_before_signing:
  - 576
  - 547
  - 551
  - 552
  - 560
  - 531
  - 563
  - 565
  - 535
  - 536
  - 541
  botocore.discovery:
  - 22
  botocore.discovery.EndpointDiscoveryHandler.discover_endpoint:
  - 256
  - 258
  - 247
  - 248
  - 250
  - 253
  - 254
  botocore.discovery.EndpointDiscoveryHandler.gather_identifiers:
  - 241
  - 243
  botocore.discovery.EndpointDiscoveryHandler.handle_retries:
  - 262
  - 266
  - 267
  - 268
  - 271
  - 272
  - 273
  - 279
  botocore.discovery.EndpointDiscoveryHandler.register:
  - 233
  - 236
  - 230
  botocore.discovery.EndpointDiscoveryManager.__init__:
  - 115
  - 114
  - 107
  - 103
  botocore.discovery.EndpointDiscoveryManager._cache_item:
  - 126
  - 127
  botocore.discovery.EndpointDiscoveryManager._create_cache_key:
  - 132
  - 133
  botocore.discovery.EndpointDiscoveryManager._describe_endpoints:
  - 146
  - 148
  - 149
  - 150
  botocore.discovery.EndpointDiscoveryManager._get_current_endpoints:
  - 153
  - 155
  botocore.discovery.EndpointDiscoveryManager._parse_endpoints:
  - 120
  - 121
  - 119
  botocore.discovery.EndpointDiscoveryManager._recently_failed:
  - 171
  - 172
  - 173
  botocore.discovery.EndpointDiscoveryManager._refresh_current_endpoints:
  - 161
  - 162
  - 164
  - 167
  - 159
  botocore.discovery.EndpointDiscoveryManager.delete_endpoints:
  - 139
  - 140
  botocore.discovery.EndpointDiscoveryManager.describe_endpoint:
  - 183
  - 185
  - 187
  - 194
  - 195
  - 196
  - 197
  - 199
  - 200
  - 202
  - 203
  - 204
  - 206
  - 207
  - 208
  - 210
  - 211
  - 214
  - 216
  - 217
  - 218
  botocore.discovery.EndpointDiscoveryManager.gather_identifiers:
  - 136
  botocore.discovery.EndpointDiscoveryModel._gather_ids:
  - 87
  - 89
  - 90
  - 92
  - 95
  botocore.discovery.EndpointDiscoveryModel.discovery_operation_keys:
  - 60
  - 61
  botocore.discovery.EndpointDiscoveryModel.discovery_operation_kwargs:
  - 76
  - 77
  - 78
  - 79
  botocore.discovery.EndpointDiscoveryModel.discovery_operation_name:
  - 54
  botocore.discovery.EndpointDiscoveryModel.discovery_required_for:
  - 66
  - 69
  botocore.discovery.EndpointDiscoveryModel.gather_identifiers:
  - 82
  botocore.discovery.EndpointDiscoveryRefreshFailed:
  - 36
  botocore.discovery.EndpointDiscoveryRequired:
  - 30
  botocore.discovery.block_endpoint_discovery_required_operations:
  - 43
  botocore.docs.bcdoc.docstringparser.DataNode:
  - 236
  botocore.docs.bcdoc.docstringparser.DataNode.__init__:
  - 256
  - 241
  - 242
  - 247
  - 249
  - 252
  - 253
  - 255
  botocore.docs.bcdoc.docstringparser.DataNode.collapse_whitespace:
  - 302
  botocore.docs.bcdoc.docstringparser.DataNode.lstrip:
  - 288
  - 285
  - 287
  botocore.docs.bcdoc.docstringparser.DataNode.rstrip:
  - 298
  - 292
  botocore.docs.bcdoc.docstringparser.DataNode.write:
  - 312
  - 306
  - 308
  - 311
  botocore.docs.bcdoc.docstringparser.DocStringParser:
  - 23
  botocore.docs.bcdoc.docstringparser.DocStringParser.__init__:
  - 32
  botocore.docs.bcdoc.docstringparser.DocStringParser.close:
  - 44
  - 46
  - 47
  botocore.docs.bcdoc.docstringparser.DocStringParser.feed:
  - 40
  - 41
  - 39
  botocore.docs.bcdoc.docstringparser.DocStringParser.handle_data:
  - 56
  botocore.docs.bcdoc.docstringparser.DocStringParser.handle_endtag:
  - 53
  botocore.docs.bcdoc.docstringparser.DocStringParser.handle_starttag:
  - 50
  botocore.docs.bcdoc.docstringparser.DocStringParser.reset:
  - 35
  - 36
  botocore.docs.bcdoc.docstringparser.HTMLTree:
  - 60
  botocore.docs.bcdoc.docstringparser.HTMLTree.__init__:
  - 68
  botocore.docs.bcdoc.docstringparser.HTMLTree._doc_has_handler:
  - 90
  - 85
  botocore.docs.bcdoc.docstringparser.HTMLTree.add_data:
  - 93
  botocore.docs.bcdoc.docstringparser.HTMLTree.add_tag:
  - 73
  - 74
  - 77
  - 78
  - 79
  botocore.docs.bcdoc.docstringparser.HTMLTree.write:
  - 96
  botocore.docs.bcdoc.docstringparser.StemNode.__init__:
  - 109
  botocore.docs.bcdoc.docstringparser.StemNode._write_children:
  - 121
  - 122
  - 123
  - 125
  botocore.docs.bcdoc.docstringparser.StemNode.add_child:
  - 114
  botocore.docs.bcdoc.docstringparser.StemNode.collapse_whitespace:
  - 160
  - 149
  - 157
  - 158
  - 159
  botocore.docs.bcdoc.docstringparser.StemNode.endswith_whitespace:
  - 134
  botocore.docs.bcdoc.docstringparser.StemNode.is_whitespace:
  - 128
  botocore.docs.bcdoc.docstringparser.StemNode.lstrip:
  - 137
  - 139
  - 140
  botocore.docs.bcdoc.docstringparser.StemNode.rstrip:
  - 145
  - 146
  - 143
  botocore.docs.bcdoc.docstringparser.StemNode.startswith_whitespace:
  - 131
  botocore.docs.bcdoc.docstringparser.StemNode.write:
  - 117
  - 118
  botocore.docs.bcdoc.docstringparser.TagNode:
  - 164
  botocore.docs.bcdoc.docstringparser.TagNode.__init__:
  - 169
  botocore.docs.bcdoc.docstringparser.TagNode._has_nested_tags:
  - 175
  botocore.docs.bcdoc.docstringparser.TagNode._write_end:
  - 232
  - 227
  - 228
  - 230
  botocore.docs.bcdoc.docstringparser.TagNode._write_start:
  - 222
  - 223
  botocore.docs.bcdoc.docstringparser.TagNode.collapse_whitespace:
  - 195
  - 204
  - 205
  - 206
  - 209
  - 210
  - 211
  - 213
  - 214
  - 215
  - 217
  - 218
  botocore.docs.bcdoc.docstringparser.TagNode.write:
  - 192
  - 179
  - 182
  - 186
  - 187
  - 190
  - 191
  botocore.docs.bcdoc.restdoc:
  - 36
  - 22
  botocore.docs.bcdoc.restdoc.DocumentStructure.__init__:
  - 135
  - 147
  - 149
  - 152
  - 154
  - 155
  botocore.docs.bcdoc.restdoc.DocumentStructure._generate_structure:
  - 184
  - 183
  botocore.docs.bcdoc.restdoc.DocumentStructure.add_new_section:
  - 202
  - 187
  botocore.docs.bcdoc.restdoc.DocumentStructure.add_title_section:
  - 273
  - 274
  botocore.docs.bcdoc.restdoc.DocumentStructure.available_sections:
  - 176
  botocore.docs.bcdoc.restdoc.DocumentStructure.delete_section:
  - 218
  botocore.docs.bcdoc.restdoc.DocumentStructure.flush_structure:
  - 257
  - 258
  - 229
  - 230
  - 231
  - 232
  - 233
  - 234
  - 236
  - 238
  - 239
  - 242
  - 244
  - 246
  - 250
  - 251
  - 253
  - 222
  botocore.docs.bcdoc.restdoc.DocumentStructure.get_section:
  - 214
  botocore.docs.bcdoc.restdoc.DocumentStructure.getvalue:
  - 264
  botocore.docs.bcdoc.restdoc.DocumentStructure.name:
  - 159
  botocore.docs.bcdoc.restdoc.DocumentStructure.path:
  - 164
  botocore.docs.bcdoc.restdoc.DocumentStructure.remove_all_sections:
  - 267
  botocore.docs.bcdoc.restdoc.DocumentStructure.write_to_file:
  - 278
  - 279
  - 280
  - 281
  - 282
  botocore.docs.bcdoc.restdoc.ReSTDocument.__init__:
  - 52
  - 54
  botocore.docs.bcdoc.restdoc.ReSTDocument._write:
  - 64
  - 63
  botocore.docs.bcdoc.restdoc.ReSTDocument.getvalue:
  - 98
  - 101
  - 102
  - 103
  - 104
  - 105
  botocore.docs.bcdoc.restdoc.ReSTDocument.handle_data:
  - 112
  - 111
  botocore.docs.bcdoc.restdoc.ReSTDocument.include_doc_string:
  - 115
  - 117
  - 118
  - 119
  - 120
  - 123
  - 124
  botocore.docs.bcdoc.restdoc.ReSTDocument.peek_write:
  - 79
  botocore.docs.bcdoc.restdoc.ReSTDocument.pop_write:
  - 89
  - 86
  botocore.docs.bcdoc.restdoc.ReSTDocument.push_write:
  - 92
  - 95
  botocore.docs.bcdoc.restdoc.ReSTDocument.remove_last_doc_string:
  - 128
  botocore.docs.bcdoc.restdoc.ReSTDocument.translate_words:
  - 108
  botocore.docs.bcdoc.restdoc.ReSTDocument.write:
  - 67
  - 70
  botocore.docs.bcdoc.restdoc.ReSTDocument.writeln:
  - 73
  - 76
  botocore.docs.bcdoc.style:
  - 16
  botocore.docs.bcdoc.style.BaseStyle.add_trailing_space_to_previous_write:
  - 73
  - 75
  - 70
  - 71
  botocore.docs.bcdoc.style.BaseStyle.dedent:
  - 43
  botocore.docs.bcdoc.style.BaseStyle.new_paragraph:
  - 37
  botocore.docs.bcdoc.style.ReSTStyle.__init__:
  - 80
  botocore.docs.bcdoc.style.ReSTStyle._clean_link_text:
  - 256
  - 257
  - 252
  - 253
  - 254
  botocore.docs.bcdoc.style.ReSTStyle._end_inline:
  - 112
  - 108
  - 109
  - 111
  botocore.docs.bcdoc.style.ReSTStyle._heading:
  - 140
  - 141
  - 142
  - 143
  botocore.docs.bcdoc.style.ReSTStyle._start_inline:
  - 99
  - 100
  - 101
  - 95
  botocore.docs.bcdoc.style.ReSTStyle.bold:
  - 129
  - 130
  - 131
  - 132
  botocore.docs.bcdoc.style.ReSTStyle.code:
  - 184
  - 185
  - 186
  - 187
  botocore.docs.bcdoc.style.ReSTStyle.codeblock:
  - 360
  - 353
  - 361
  - 359
  botocore.docs.bcdoc.style.ReSTStyle.end_a:
  - 261
  - 262
  - 263
  - 264
  - 265
  - 266
  - 267
  - 268
  - 269
  - 270
  - 276
  - 278
  - 280
  botocore.docs.bcdoc.style.ReSTStyle.end_b:
  - 126
  botocore.docs.bcdoc.style.ReSTStyle.end_bold:
  - 118
  botocore.docs.bcdoc.style.ReSTStyle.end_code:
  - 181
  botocore.docs.bcdoc.style.ReSTStyle.end_codeblock:
  - 349
  - 350
  botocore.docs.bcdoc.style.ReSTStyle.end_danger:
  - 216
  - 217
  botocore.docs.bcdoc.style.ReSTStyle.end_i:
  - 289
  botocore.docs.bcdoc.style.ReSTStyle.end_important:
  - 206
  - 207
  botocore.docs.bcdoc.style.ReSTStyle.end_italics:
  - 158
  botocore.docs.bcdoc.style.ReSTStyle.end_li:
  - 298
  botocore.docs.bcdoc.style.ReSTStyle.end_note:
  - 196
  - 197
  botocore.docs.bcdoc.style.ReSTStyle.end_ol:
  - 328
  - 329
  - 327
  botocore.docs.bcdoc.style.ReSTStyle.end_p:
  - 171
  - 172
  botocore.docs.bcdoc.style.ReSTStyle.end_sphinx_py_attr:
  - 427
  - 428
  botocore.docs.bcdoc.style.ReSTStyle.end_sphinx_py_class:
  - 404
  - 405
  botocore.docs.bcdoc.style.ReSTStyle.end_sphinx_py_method:
  - 417
  - 418
  botocore.docs.bcdoc.style.ReSTStyle.end_ul:
  - 314
  - 315
  - 316
  botocore.docs.bcdoc.style.ReSTStyle.external_link:
  - 436
  - 437
  - 439
  botocore.docs.bcdoc.style.ReSTStyle.h1:
  - 146
  botocore.docs.bcdoc.style.ReSTStyle.h2:
  - 149
  botocore.docs.bcdoc.style.ReSTStyle.h3:
  - 152
  botocore.docs.bcdoc.style.ReSTStyle.hidden_tocitem:
  - 387
  - 388
  botocore.docs.bcdoc.style.ReSTStyle.hidden_toctree:
  - 384
  - 381
  - 382
  - 383
  botocore.docs.bcdoc.style.ReSTStyle.internal_link:
  - 442
  - 443
  - 445
  botocore.docs.bcdoc.style.ReSTStyle.italics:
  - 161
  - 162
  - 163
  - 164
  botocore.docs.bcdoc.style.ReSTStyle.li:
  - 304
  - 301
  - 302
  - 303
  botocore.docs.bcdoc.style.ReSTStyle.link_target_definition:
  - 239
  botocore.docs.bcdoc.style.ReSTStyle.new_line:
  - 89
  botocore.docs.bcdoc.style.ReSTStyle.new_paragraph:
  - 86
  botocore.docs.bcdoc.style.ReSTStyle.ref:
  - 137
  - 135
  botocore.docs.bcdoc.style.ReSTStyle.sphinx_reference_label:
  - 242
  - 244
  - 245
  - 247
  botocore.docs.bcdoc.style.ReSTStyle.start_a:
  - 224
  - 225
  - 228
  - 229
  - 235
  - 222
  - 223
  botocore.docs.bcdoc.style.ReSTStyle.start_b:
  - 122
  botocore.docs.bcdoc.style.ReSTStyle.start_bold:
  - 115
  botocore.docs.bcdoc.style.ReSTStyle.start_code:
  - 176
  - 177
  botocore.docs.bcdoc.style.ReSTStyle.start_codeblock:
  - 344
  - 345
  - 346
  botocore.docs.bcdoc.style.ReSTStyle.start_danger:
  - 210
  - 211
  - 212
  - 213
  botocore.docs.bcdoc.style.ReSTStyle.start_i:
  - 285
  botocore.docs.bcdoc.style.ReSTStyle.start_important:
  - 200
  - 201
  - 202
  - 203
  botocore.docs.bcdoc.style.ReSTStyle.start_italics:
  - 155
  botocore.docs.bcdoc.style.ReSTStyle.start_li:
  - 292
  - 294
  botocore.docs.bcdoc.style.ReSTStyle.start_note:
  - 192
  - 193
  - 190
  - 191
  botocore.docs.bcdoc.style.ReSTStyle.start_ol:
  - 320
  - 321
  - 323
  botocore.docs.bcdoc.style.ReSTStyle.start_p:
  - 168
  - 167
  botocore.docs.bcdoc.style.ReSTStyle.start_sphinx_py_attr:
  - 424
  - 421
  - 422
  - 423
  botocore.docs.bcdoc.style.ReSTStyle.start_sphinx_py_class:
  - 400
  - 401
  - 398
  - 399
  botocore.docs.bcdoc.style.ReSTStyle.start_sphinx_py_method:
  - 408
  - 410
  - 412
  - 413
  - 414
  botocore.docs.bcdoc.style.ReSTStyle.start_ul:
  - 307
  - 308
  - 310
  botocore.docs.bcdoc.style.ReSTStyle.table_of_contents:
  - 391
  - 392
  - 393
  - 394
  - 395
  botocore.docs.bcdoc.style.ReSTStyle.tocitem:
  - 372
  - 373
  - 375
  - 376
  - 378
  botocore.docs.bcdoc.style.ReSTStyle.toctree:
  - 364
  - 365
  - 366
  - 367
  - 369
  botocore.docs.bcdoc.style.ReSTStyle.write_py_doc_string:
  - 432
  - 433
  - 431
  botocore.docs.client.ClientDocumenter.__init__:
  - 44
  botocore.docs.client.ClientDocumenter._add_class_signature:
  - 114
  botocore.docs.client.ClientDocumenter._add_client_creation_example:
  - 119
  - 120
  - 121
  - 122
  - 126
  botocore.docs.client.ClientDocumenter._add_client_intro:
  - 97
  - 98
  - 103
  - 106
  - 107
  - 108
  - 109
  - 110
  - 111
  - 89
  - 91
  - 94
  botocore.docs.client.ClientDocumenter._add_client_method:
  - 162
  - 145
  - 146
  - 149
  - 150
  - 151
  - 155
  - 156
  botocore.docs.client.ClientDocumenter._add_client_methods:
  - 129
  - 131
  - 134
  - 139
  - 142
  botocore.docs.client.ClientDocumenter._add_custom_method:
  - 168
  botocore.docs.client.ClientDocumenter._add_method_exceptions_list:
  - 171
  - 172
  - 173
  - 174
  - 175
  - 179
  botocore.docs.client.ClientDocumenter._add_model_driven_method:
  - 200
  - 201
  - 204
  - 205
  - 206
  - 184
  - 188
  - 190
  botocore.docs.client.ClientDocumenter._add_title:
  - 86
  botocore.docs.client.ClientDocumenter._filter_client_method:
  - 80
  - 77
  - 78
  botocore.docs.client.ClientDocumenter._filter_client_methods:
  - 65
  - 66
  - 71
  botocore.docs.client.ClientDocumenter._get_client_methods:
  - 60
  - 61
  botocore.docs.client.ClientDocumenter.document_client:
  - 49
  - 53
  - 54
  - 55
  - 56
  - 57
  botocore.docs.client.ClientExceptionsDocumenter:
  - 216
  - 220
  botocore.docs.client.ClientExceptionsDocumenter._add_exception_catch_example:
  - 336
  - 337
  - 338
  - 339
  - 340
  - 341
  - 342
  - 343
  - 344
  - 345
  - 346
  - 347
  - 348
  - 349
  - 350
  botocore.docs.client.ClientExceptionsDocumenter._add_exception_class:
  - 320
  - 321
  - 322
  - 323
  - 324
  - 325
  - 326
  - 327
  - 315
  - 316
  - 319
  botocore.docs.client.ClientExceptionsDocumenter._add_exception_classes:
  - 296
  - 298
  - 301
  - 304
  - 310
  botocore.docs.client.ClientExceptionsDocumenter._add_exceptions_list:
  - 288
  - 289
  - 290
  - 291
  - 282
  - 283
  - 284
  - 285
  - 287
  botocore.docs.client.ClientExceptionsDocumenter._add_overview:
  - 263
  - 264
  - 270
  - 274
  - 275
  botocore.docs.client.ClientExceptionsDocumenter._add_response_attr:
  - 353
  - 354
  - 355
  - 356
  - 357
  - 358
  botocore.docs.client.ClientExceptionsDocumenter._add_response_attr_description:
  - 368
  - 361
  - 362
  botocore.docs.client.ClientExceptionsDocumenter._add_response_example:
  - 371
  - 372
  - 373
  - 374
  - 375
  - 380
  botocore.docs.client.ClientExceptionsDocumenter._add_response_params:
  - 387
  - 388
  - 389
  - 390
  - 391
  - 396
  botocore.docs.client.ClientExceptionsDocumenter._add_title:
  - 260
  botocore.docs.client.ClientExceptionsDocumenter._add_top_level_documentation:
  - 330
  - 331
  - 332
  - 333
  botocore.docs.client.ClientExceptionsDocumenter.document_exceptions:
  - 256
  - 257
  - 254
  - 255
  botocore.docs.client._allowlist_generate_presigned_url:
  - 29
  botocore.docs.docstring.ClientMethodDocstring._write_docstring:
  - 87
  botocore.docs.docstring.LazyLoadedDocstring:
  - 20
  botocore.docs.docstring.LazyLoadedDocstring.__init__:
  - 34
  - 29
  botocore.docs.docstring.LazyLoadedDocstring.__new__:
  - 41
  botocore.docs.docstring.LazyLoadedDocstring.__str__:
  - 64
  botocore.docs.docstring.LazyLoadedDocstring._create_docstring:
  - 82
  - 76
  - 79
  botocore.docs.docstring.LazyLoadedDocstring._generate:
  - 72
  - 71
  botocore.docs.docstring.LazyLoadedDocstring.expandtabs:
  - 50
  - 59
  - 60
  - 61
  botocore.docs.docstring.PaginatorDocstring._write_docstring:
  - 97
  botocore.docs.docstring.WaiterDocstring._write_docstring:
  - 92
  botocore.docs.example.BaseExampleDocumenter._add_members_to_shape:
  - 149
  - 150
  - 151
  botocore.docs.example.BaseExampleDocumenter._end_nested_param:
  - 163
  - 164
  - 165
  - 166
  - 167
  botocore.docs.example.BaseExampleDocumenter._end_structure:
  - 173
  - 174
  - 175
  - 176
  - 178
  - 179
  botocore.docs.example.BaseExampleDocumenter._start_nested_param:
  - 160
  - 156
  - 157
  - 158
  - 159
  botocore.docs.example.BaseExampleDocumenter.document_example:
  - 38
  - 39
  - 40
  - 41
  - 42
  - 49
  - 50
  - 21
  botocore.docs.example.BaseExampleDocumenter.document_recursive_shape:
  - 53
  botocore.docs.example.BaseExampleDocumenter.document_shape_default:
  - 64
  - 58
  - 59
  - 60
  - 62
  botocore.docs.example.BaseExampleDocumenter.document_shape_type_list:
  - 81
  - 82
  - 83
  - 86
  - 89
  - 90
  - 91
  - 92
  botocore.docs.example.BaseExampleDocumenter.document_shape_type_map:
  - 132
  - 133
  - 135
  - 138
  - 139
  - 142
  - 145
  - 146
  botocore.docs.example.BaseExampleDocumenter.document_shape_type_string:
  - 69
  - 70
  - 71
  - 72
  - 73
  - 75
  botocore.docs.example.BaseExampleDocumenter.document_shape_type_structure:
  - 97
  - 98
  - 101
  - 102
  - 104
  - 106
  - 107
  - 109
  - 110
  - 112
  - 115
  - 121
  - 122
  - 125
  - 126
  - 127
  botocore.docs.example.RequestExampleDocumenter.document_shape_type_structure:
  - 224
  - 230
  - 231
  - 234
  - 235
  - 236
  - 205
  - 210
  - 211
  - 212
  - 214
  - 215
  - 217
  - 218
  - 219
  - 221
  botocore.docs.example.ResponseExampleDocumenter.document_shape_type_event_stream:
  - 188
  - 189
  - 190
  - 191
  botocore.docs.generate_docs:
  - 34
  - 35
  - 41
  - 44
  - 45
  - 19
  - 29
  - 30
  - 31
  botocore.docs.method.document_custom_method:
  - 130
  - 131
  - 132
  - 133
  - 134
  - 135
  - 136
  - 122
  botocore.docs.method.document_custom_signature:
  - 105
  - 108
  - 109
  - 113
  - 115
  - 116
  - 117
  - 118
  - 89
  botocore.docs.method.document_model_driven_method:
  - 267
  - 268
  - 269
  - 270
  - 271
  - 272
  - 273
  - 274
  - 277
  - 278
  - 279
  - 280
  - 153
  - 281
  - 288
  - 291
  - 294
  - 295
  - 296
  - 297
  - 310
  - 313
  - 314
  - 315
  - 316
  - 190
  - 191
  - 200
  - 201
  - 202
  - 203
  - 204
  - 328
  - 209
  - 210
  - 211
  - 212
  - 213
  - 215
  - 218
  - 221
  - 222
  - 223
  - 227
  - 228
  - 229
  - 233
  - 234
  - 247
  - 248
  - 249
  - 252
  - 253
  - 254
  botocore.docs.method.document_model_driven_signature:
  - 66
  - 69
  - 71
  - 72
  - 73
  - 75
  - 76
  - 77
  - 78
  - 49
  - 81
  - 83
  botocore.docs.method.get_instance_public_methods:
  - 37
  - 39
  - 40
  - 41
  - 29
  botocore.docs.paginator.PaginatorDocumenter._add_overview:
  - 106
  - 107
  - 113
  - 117
  - 118
  botocore.docs.paginator.PaginatorDocumenter._add_paginator:
  - 97
  - 70
  - 71
  - 74
  - 75
  - 78
  - 79
  - 84
  - 85
  - 88
  - 89
  - 91
  - 92
  - 94
  botocore.docs.paginator.PaginatorDocumenter.document_paginators:
  - 65
  - 36
  - 40
  - 41
  - 42
  - 43
  - 44
  - 46
  - 51
  - 52
  - 56
  - 59
  - 62
  botocore.docs.paginator.document_paginate_method:
  - 129
  - 225
  - 195
  - 217
  - 165
  - 166
  - 227
  - 231
  - 172
  - 206
  - 209
  - 146
  - 212
  - 213
  - 151
  - 153
  - 220
  - 183
  botocore.docs.params.BaseParamsDocumenter._add_members_to_shape:
  - 129
  - 130
  - 131
  botocore.docs.params.BaseParamsDocumenter._document_non_top_level_param_type:
  - 136
  - 137
  - 140
  - 143
  - 145
  - 146
  botocore.docs.params.BaseParamsDocumenter._end_nested_param:
  - 153
  - 154
  botocore.docs.params.BaseParamsDocumenter._start_nested_param:
  - 149
  - 150
  botocore.docs.params.BaseParamsDocumenter.document_params:
  - 34
  - 19
  botocore.docs.params.BaseParamsDocumenter.document_recursive_shape:
  - 44
  botocore.docs.params.BaseParamsDocumenter.document_shape_default:
  - 49
  botocore.docs.params.BaseParamsDocumenter.document_shape_type_list:
  - 66
  - 67
  - 54
  - 56
  - 59
  - 60
  botocore.docs.params.BaseParamsDocumenter.document_shape_type_map:
  - 72
  - 74
  - 77
  - 78
  - 80
  - 83
  - 84
  - 85
  - 92
  - 93
  - 94
  botocore.docs.params.BaseParamsDocumenter.document_shape_type_structure:
  - 106
  - 107
  - 108
  - 109
  - 112
  - 115
  - 116
  - 122
  - 123
  botocore.docs.params.RequestParamsDocumenter:
  - 208
  botocore.docs.params.RequestParamsDocumenter._add_member_documentation:
  - 256
  - 257
  - 258
  - 261
  - 262
  - 263
  - 264
  - 265
  - 266
  - 267
  - 269
  - 270
  - 271
  - 272
  - 273
  - 274
  - 275
  - 278
  - 279
  - 280
  - 288
  - 289
  - 291
  - 292
  - 293
  - 294
  - 295
  - 249
  - 250
  - 251
  - 252
  - 253
  - 254
  - 255
  botocore.docs.params.RequestParamsDocumenter._add_special_trait_documentation:
  - 298
  - 299
  botocore.docs.params.RequestParamsDocumenter._append_idempotency_documentation:
  - 303
  botocore.docs.params.RequestParamsDocumenter.document_shape_type_structure:
  - 226
  - 228
  - 235
  - 236
  - 237
  - 238
  - 215
  - 216
  - 217
  - 218
  - 219
  - 220
  - 223
  botocore.docs.params.ResponseParamsDocumenter:
  - 158
  botocore.docs.params.ResponseParamsDocumenter._add_member_documentation:
  - 163
  - 164
  - 165
  - 166
  - 167
  - 168
  - 169
  - 171
  - 172
  - 173
  - 174
  - 175
  - 188
  - 189
  - 195
  - 196
  - 197
  - 198
  - 199
  botocore.docs.params.ResponseParamsDocumenter.document_shape_type_event_stream:
  - 204
  botocore.docs.service.ServiceDocumenter.__init__:
  - 26
  botocore.docs.service.ServiceDocumenter.client_api:
  - 73
  - 69
  botocore.docs.service.ServiceDocumenter.client_exceptions:
  - 78
  botocore.docs.service.ServiceDocumenter.document_service:
  - 43
  - 47
  - 50
  - 51
  - 52
  - 53
  - 54
  - 55
  botocore.docs.service.ServiceDocumenter.get_examples:
  - 106
  - 107
  botocore.docs.service.ServiceDocumenter.paginator_api:
  - 89
  - 90
  - 84
  - 93
  botocore.docs.service.ServiceDocumenter.table_of_contents:
  - 64
  botocore.docs.service.ServiceDocumenter.title:
  - 58
  - 59
  botocore.docs.service.ServiceDocumenter.waiter_api:
  - 96
  - 97
  - 100
  - 103
  botocore.docs.shape.ShapeDocumenter.__init__:
  - 32
  botocore.docs.shape.ShapeDocumenter._get_special_py_default:
  - 112
  botocore.docs.shape.ShapeDocumenter._get_special_py_type_name:
  - 122
  botocore.docs.shape.ShapeDocumenter._get_value_for_special_type:
  - 129
  - 132
  - 133
  - 125
  - 127
  botocore.docs.shape.ShapeDocumenter.traverse_and_document_shape:
  - 96
  - 97
  - 98
  - 68
  - 70
  - 71
  - 102
  - 73
  - 74
  - 75
  - 45
  - 77
  - 91
  - 92
  botocore.docs.sharedexample.SharedExampleDocumenter._document:
  - 96
  - 97
  - 99
  - 77
  - 90
  - 91
  - 92
  - 93
  - 94
  - 95
  botocore.docs.sharedexample.SharedExampleDocumenter._document_datetime:
  - 179
  - 180
  - 181
  - 182
  - 183
  botocore.docs.sharedexample.SharedExampleDocumenter._document_dict:
  - 128
  - 104
  - 105
  - 106
  - 107
  - 108
  - 109
  - 110
  - 111
  - 112
  - 113
  - 114
  - 118
  - 119
  - 120
  - 121
  - 123
  - 124
  - 125
  - 126
  - 127
  botocore.docs.sharedexample.SharedExampleDocumenter._document_list:
  - 160
  - 161
  - 162
  - 163
  - 164
  - 165
  - 166
  - 167
  - 153
  - 154
  - 156
  - 157
  - 158
  - 159
  botocore.docs.sharedexample.SharedExampleDocumenter._document_number:
  - 176
  botocore.docs.sharedexample.SharedExampleDocumenter._document_params:
  - 131
  - 132
  - 133
  - 134
  - 135
  - 136
  - 137
  - 138
  - 139
  - 140
  - 141
  - 145
  - 146
  - 147
  - 148
  - 149
  - 150
  botocore.docs.sharedexample.SharedExampleDocumenter._document_str:
  - 172
  - 173
  botocore.docs.sharedexample.SharedExampleDocumenter._end_nested_value:
  - 200
  - 201
  - 198
  - 199
  botocore.docs.sharedexample.SharedExampleDocumenter._get_comment:
  - 186
  - 187
  botocore.docs.sharedexample.SharedExampleDocumenter._start_nested_value:
  - 193
  - 194
  - 195
  botocore.docs.sharedexample.SharedExampleDocumenter.document_input:
  - 43
  - 44
  - 45
  - 46
  - 47
  - 48
  - 49
  - 50
  - 51
  - 52
  - 53
  - 54
  - 55
  - 56
  - 57
  botocore.docs.sharedexample.SharedExampleDocumenter.document_output:
  - 64
  - 65
  - 69
  - 70
  - 71
  - 72
  - 73
  - 74
  - 60
  - 61
  - 62
  - 63
  botocore.docs.sharedexample.SharedExampleDocumenter.document_shared_example:
  - 34
  - 35
  - 36
  - 37
  - 40
  - 24
  botocore.docs.sharedexample.document_shared_examples:
  - 224
  - 207
  - 217
  - 218
  - 219
  - 220
  - 221
  - 222
  botocore.docs.utils:
  - 80
  - 218
  - 216
  botocore.docs.utils.<lambda1>:
  - 218
  botocore.docs.utils.AppendParamDocumentation:
  - 195
  botocore.docs.utils.AppendParamDocumentation.append_documentation:
  - 202
  - 203
  - 204
  - 205
  botocore.docs.utils.AutoPopulatedParam.__init__:
  - 126
  botocore.docs.utils.AutoPopulatedParam.document_auto_populated_param:
  - 134
  - 140
  - 141
  - 142
  - 143
  - 144
  - 145
  - 148
  - 149
  - 150
  - 151
  - 152
  botocore.docs.utils.DocumentedShape:
  - 94
  botocore.docs.utils.DocumentedShape.__new__:
  - 105
  - 107
  - 109
  - 111
  botocore.docs.utils.HideParamFromOperations:
  - 156
  botocore.docs.utils.HideParamFromOperations.__init__:
  - 164
  - 175
  - 176
  - 180
  - 181
  - 182
  botocore.docs.utils.HideParamFromOperations.hide_param:
  - 185
  - 187
  - 188
  - 190
  - 191
  botocore.docs.utils.escape_controls:
  - 222
  botocore.docs.utils.get_official_service_name:
  - 65
  - 69
  - 70
  - 71
  - 73
  - 75
  botocore.docs.utils.py_default:
  - 50
  - 39
  botocore.docs.utils.py_type_name:
  - 18
  - 27
  botocore.docs.waiter.WaiterDocumenter._add_overview:
  - 97
  - 101
  - 102
  - 90
  - 91
  botocore.docs.waiter.WaiterDocumenter._add_single_waiter:
  - 64
  - 65
  - 66
  - 67
  - 72
  - 73
  - 74
  - 75
  - 77
  - 80
  - 81
  - 60
  - 61
  botocore.docs.waiter.WaiterDocumenter.document_waiters:
  - 36
  - 40
  - 41
  - 42
  - 43
  - 44
  - 45
  - 46
  - 48
  - 51
  - 54
  - 57
  botocore.docs.waiter.document_wait_method:
  - 128
  - 129
  - 131
  - 164
  - 133
  - 167
  - 168
  - 137
  - 142
  - 174
  - 113
  - 146
  - 152
  botocore.endpoint:
  - 36
  - 37
  botocore.endpoint.Endpoint:
  - 78
  botocore.endpoint.Endpoint.__init__:
  - 99
  - 100
  - 101
  - 104
  - 105
  botocore.endpoint.Endpoint._add_modeled_error_fields:
  - 333
  - 334
  - 337
  - 338
  - 340
  - 342
  botocore.endpoint.Endpoint._calculate_ttl:
  - 162
  - 155
  - 156
  - 165
  botocore.endpoint.Endpoint._do_get_response:
  - 290
  - 323
  - 293
  - 265
  - 266
  - 300
  - 304
  - 307
  - 276
  - 308
  - 278
  - 279
  - 280
  - 281
  - 317
  - 316
  - 285
  botocore.endpoint.Endpoint._encode_headers:
  - 144
  - 145
  - 146
  botocore.endpoint.Endpoint._get_response:
  - 256
  - 257
  - 241
  - 250
  - 253
  botocore.endpoint.Endpoint._needs_retry:
  - 352
  - 354
  - 363
  - 364
  - 369
  - 373
  botocore.endpoint.Endpoint._send:
  - 377
  botocore.endpoint.Endpoint._send_request:
  - 197
  - 198
  - 199
  - 230
  - 202
  - 210
  - 215
  - 217
  - 218
  - 221
  botocore.endpoint.Endpoint._set_ttl:
  - 168
  - 169
  - 170
  - 172
  - 173
  - 179
  botocore.endpoint.Endpoint._update_retries_context:
  - 192
  - 185
  - 187
  - 188
  - 190
  botocore.endpoint.Endpoint.close:
  - 111
  botocore.endpoint.Endpoint.create_request:
  - 130
  - 131
  - 134
  - 139
  - 122
  - 123
  - 124
  botocore.endpoint.Endpoint.make_request:
  - 114
  - 119
  botocore.endpoint.Endpoint.prepare_request:
  - 149
  - 150
  botocore.endpoint.EndpointCreator._get_proxies:
  - 430
  botocore.endpoint.EndpointCreator._get_verify_value:
  - 443
  - 439
  botocore.endpoint.EndpointCreator.create_endpoint:
  - 419
  - 399
  - 401
  - 404
  - 405
  - 408
  - 409
  - 412
  botocore.endpoint.convert_to_response_dict:
  - 65
  - 67
  - 69
  - 70
  - 71
  - 43
  botocore.endpoint_provider:
  - 43
  - 45
  - 46
  - 14
  - 47
  - 51
  - 52
  botocore.endpoint_provider.BaseRule:
  - 416
  botocore.endpoint_provider.BaseRule.evaluate_conditions:
  - 432
  - 433
  - 426
  - 434
  botocore.endpoint_provider.EndpointProvider:
  - 706
  - 711
  botocore.endpoint_provider.EndpointProvider.__init__:
  - 709
  botocore.endpoint_provider.EndpointProvider.resolve_endpoint:
  - 713
  - 718
  - 719
  - 720
  - 721
  - 722
  botocore.endpoint_provider.EndpointRule.__init__:
  - 449
  botocore.endpoint_provider.EndpointRule.evaluate:
  - 453
  - 458
  - 459
  - 460
  - 461
  - 465
  - 466
  botocore.endpoint_provider.EndpointRule.resolve_headers:
  - 496
  - 505
  - 507
  - 503
  botocore.endpoint_provider.EndpointRule.resolve_properties:
  - 480
  - 482
  - 485
  - 487
  - 488
  - 490
  - 491
  - 473
  botocore.endpoint_provider.ErrorRule.__init__:
  - 514
  botocore.endpoint_provider.ErrorRule.evaluate:
  - 524
  - 525
  - 518
  botocore.endpoint_provider.ParameterDefinition:
  - 588
  botocore.endpoint_provider.ParameterDefinition.__init__:
  - 602
  - 603
  botocore.endpoint_provider.ParameterDefinition.process_input:
  - 641
  - 642
  - 643
  - 645
  - 651
  botocore.endpoint_provider.ParameterDefinition.validate_input:
  - 617
  - 623
  - 628
  - 630
  - 631
  - 632
  - 634
  - 636
  botocore.endpoint_provider.ParameterType:
  - 581
  botocore.endpoint_provider.RuleCreator.create:
  - 568
  - 577
  - 570
  - 564
  botocore.endpoint_provider.RuleSet:
  - 656
  botocore.endpoint_provider.RuleSet.__init__:
  - 664
  - 662
  - 663
  botocore.endpoint_provider.RuleSet._ingest_parameter_spec:
  - 672
  - 673
  - 674
  - 675
  - 676
  - 678
  - 669
  botocore.endpoint_provider.RuleSet.evaluate:
  - 693
  - 697
  - 698
  - 699
  - 700
  botocore.endpoint_provider.RuleSet.process_input_parameters:
  - 688
  - 682
  - 686
  - 687
  botocore.endpoint_provider.RuleSetEndpoint:
  - 440
  botocore.endpoint_provider.RuleSetStandardLibrary:
  - 56
  botocore.endpoint_provider.RuleSetStandardLibrary._not:
  - 371
  botocore.endpoint_provider.RuleSetStandardLibrary.aws_is_virtual_hostable_s3_bucket:
  - 393
  - 395
  - 396
  - 397
  - 401
  - 402
  - 403
  - 404
  - 407
  - 379
  botocore.endpoint_provider.RuleSetStandardLibrary.aws_parse_arn:
  - 226
  - 231
  - 236
  - 238
  - 239
  - 217
  - 222
  botocore.endpoint_provider.RuleSetStandardLibrary.aws_partition:
  - 200
  - 207
  - 208
  - 209
  - 210
  - 214
  botocore.endpoint_provider.RuleSetStandardLibrary.boolean_equals:
  - 330
  - 331
  - 324
  botocore.endpoint_provider.RuleSetStandardLibrary.call_function:
  - 135
  - 143
  - 146
  - 147
  - 148
  - 149
  - 151
  botocore.endpoint_provider.RuleSetStandardLibrary.convert_func_name:
  - 129
  - 130
  - 124
  - 132
  botocore.endpoint_provider.RuleSetStandardLibrary.get_attr:
  - 168
  - 177
  - 178
  - 179
  - 180
  - 181
  - 182
  - 183
  botocore.endpoint_provider.RuleSetStandardLibrary.is_ascii:
  - 336
  - 342
  botocore.endpoint_provider.RuleSetStandardLibrary.is_func:
  - 67
  - 62
  botocore.endpoint_provider.RuleSetStandardLibrary.is_partition_match:
  - 196
  botocore.endpoint_provider.RuleSetStandardLibrary.is_ref:
  - 75
  - 70
  botocore.endpoint_provider.RuleSetStandardLibrary.is_set:
  - 160
  botocore.endpoint_provider.RuleSetStandardLibrary.is_template:
  - 84
  - 85
  - 78
  botocore.endpoint_provider.RuleSetStandardLibrary.is_valid_host_label:
  - 256
  - 257
  - 258
  - 261
  - 244
  - 252
  - 255
  botocore.endpoint_provider.RuleSetStandardLibrary.parse_url:
  - 320
  - 292
  - 319
  - 295
  - 299
  - 306
  - 310
  - 311
  - 287
  botocore.endpoint_provider.RuleSetStandardLibrary.resolve_template_string:
  - 96
  - 97
  - 99
  - 100
  - 89
  botocore.endpoint_provider.RuleSetStandardLibrary.resolve_value:
  - 108
  - 114
  - 115
  - 116
  - 117
  - 118
  - 119
  botocore.endpoint_provider.RuleSetStandardLibrary.string_equals:
  - 264
  - 270
  - 271
  botocore.endpoint_provider.RuleSetStandardLibrary.substring:
  - 357
  - 358
  - 360
  - 363
  - 364
  - 365
  - 348
  botocore.endpoint_provider.RuleSetStandardLibrary.uri_encode:
  - 281
  - 276
  - 284
  botocore.endpoint_provider.TreeRule:
  - 531
  botocore.endpoint_provider.TreeRule.__init__:
  - 536
  - 537
  botocore.endpoint_provider.TreeRule.evaluate:
  - 547
  - 548
  - 550
  - 551
  - 540
  botocore.errorfactory.BaseClientExceptions.__getattr__:
  - 49
  botocore.errorfactory.BaseClientExceptions.__init__:
  - 21
  botocore.errorfactory.BaseClientExceptions.from_code:
  - 44
  - 31
  botocore.errorfactory.ClientExceptionsFactory._create_client_exceptions:
  - 80
  - 81
  - 82
  - 84
  - 86
  - 87
  - 90
  botocore.errorfactory.ClientExceptionsFactory.create_client_exceptions:
  - 72
  - 73
  - 62
  botocore.eventstream:
  - 13
  botocore.eventstream.ChecksumMismatch:
  - 63
  botocore.eventstream.ChecksumMismatch.__init__:
  - 72
  - 67
  botocore.eventstream.DecodeUtils:
  - 88
  botocore.eventstream.DecodeUtils.unpack_byte_array:
  - 220
  - 238
  botocore.eventstream.DecodeUtils.unpack_false:
  - 126
  botocore.eventstream.DecodeUtils.unpack_int16:
  - 178
  - 187
  botocore.eventstream.DecodeUtils.unpack_int32:
  - 192
  - 201
  botocore.eventstream.DecodeUtils.unpack_int64:
  - 206
  - 215
  botocore.eventstream.DecodeUtils.unpack_int8:
  - 165
  - 173
  botocore.eventstream.DecodeUtils.unpack_prelude:
  - 282
  - 292
  botocore.eventstream.DecodeUtils.unpack_true:
  - 113
  botocore.eventstream.DecodeUtils.unpack_uint32:
  - 152
  - 160
  botocore.eventstream.DecodeUtils.unpack_uint8:
  - 139
  - 147
  botocore.eventstream.DecodeUtils.unpack_utf8_string:
  - 266
  - 245
  - 263
  botocore.eventstream.DecodeUtils.unpack_uuid:
  - 270
  botocore.eventstream.DuplicateHeader:
  - 33
  botocore.eventstream.DuplicateHeader.__init__:
  - 37
  botocore.eventstream.EventStream:
  - 551
  botocore.eventstream.EventStream.__init__:
  - 599
  botocore.eventstream.EventStream.__iter__:
  - 602
  - 603
  - 604
  - 605
  botocore.eventstream.EventStream._create_raw_event_generator:
  - 608
  - 609
  - 610
  - 611
  botocore.eventstream.EventStream._parse_event:
  - 616
  - 614
  - 615
  botocore.eventstream.EventStream.close:
  - 632
  - 633
  botocore.eventstream.EventStream.get_initial_response:
  - 624
  - 625
  - 623
  botocore.eventstream.EventStreamBuffer:
  - 450
  botocore.eventstream.EventStreamBuffer.__init__:
  - 459
  botocore.eventstream.EventStreamBuffer.__next__:
  - 544
  botocore.eventstream.EventStreamBuffer._parse_headers:
  - 487
  botocore.eventstream.EventStreamBuffer._parse_message:
  - 514
  - 515
  - 516
  - 517
  - 518
  botocore.eventstream.EventStreamBuffer._parse_message_crc:
  - 497
  botocore.eventstream.EventStreamBuffer._parse_prelude:
  - 480
  - 482
  - 478
  - 479
  botocore.eventstream.EventStreamBuffer._validate_message_crc:
  - 508
  - 509
  - 510
  botocore.eventstream.EventStreamBuffer._validate_prelude:
  - 473
  - 470
  botocore.eventstream.EventStreamBuffer.add_data:
  - 462
  botocore.eventstream.EventStreamBuffer.next:
  - 527
  - 532
  - 535
  - 536
  - 538
  - 541
  botocore.eventstream.EventStreamHeaderParser:
  - 366
  botocore.eventstream.EventStreamHeaderParser._parse_header:
  - 424
  - 425
  botocore.eventstream.EventStreamHeaderParser._parse_headers:
  - 417
  - 418
  botocore.eventstream.EventStreamHeaderParser._parse_name:
  - 429
  - 430
  botocore.eventstream.EventStreamHeaderParser._parse_type:
  - 434
  - 435
  botocore.eventstream.EventStreamHeaderParser._parse_value:
  - 441
  - 442
  - 439
  botocore.eventstream.EventStreamHeaderParser.parse:
  - 402
  - 412
  botocore.eventstream.EventStreamMessage:
  - 346
  botocore.eventstream.EventStreamMessage.to_response_dict:
  - 355
  - 356
  botocore.eventstream.InvalidHeadersLength:
  - 41
  botocore.eventstream.InvalidHeadersLength.__init__:
  - 48
  - 44
  botocore.eventstream.InvalidPayloadLength:
  - 52
  botocore.eventstream.InvalidPayloadLength.__init__:
  - 59
  - 55
  botocore.eventstream.MessagePrelude:
  - 304
  botocore.eventstream.MessagePrelude.headers_end:
  - 336
  botocore.eventstream.MessagePrelude.payload_end:
  - 324
  botocore.eventstream.MessagePrelude.payload_length:
  - 313
  botocore.eventstream.NoInitialResponseError:
  - 76
  botocore.eventstream.NoInitialResponseError.__init__:
  - 84
  botocore.eventstream.ParserError:
  - 27
  botocore.eventstream._validate_checksum:
  - 298
  - 299
  botocore.exceptions.AliasConflictParameterError:
  - 421
  botocore.exceptions.ApiVersionNotFoundError:
  - 83
  botocore.exceptions.BaseEndpointResolverError:
  - 234
  botocore.exceptions.BotoCoreError:
  - 32
  botocore.exceptions.BotoCoreError.__init__:
  - 41
  - 42
  botocore.exceptions.ChecksumError:
  - 454
  botocore.exceptions.ClientError.__init__:
  - 527
  - 528
  - 529
  - 530
  - 531
  - 535
  botocore.exceptions.ClientError._get_retry_info:
  - 544
  - 541
  - 543
  botocore.exceptions.ConfigNotFound:
  - 315
  botocore.exceptions.ConfigParseError:
  - 305
  botocore.exceptions.CredentialRetrievalError:
  - 200
  botocore.exceptions.DataNotFoundError:
  - 50
  botocore.exceptions.EndpointProviderError:
  - 804
  botocore.exceptions.EndpointResolutionError:
  - 810
  botocore.exceptions.EndpointVariantError:
  - 250
  botocore.exceptions.HTTPClientError.__init__:
  - 100
  botocore.exceptions.IncompleteReadError:
  - 483
  botocore.exceptions.InvalidDNSNameError:
  - 572
  botocore.exceptions.InvalidEndpointDiscoveryConfigurationError:
  - 639
  botocore.exceptions.InvalidExpressionError:
  - 491
  botocore.exceptions.InvalidHostLabelError:
  - 608
  botocore.exceptions.InvalidMaxRetryAttemptsError:
  - 663
  botocore.exceptions.InvalidRegionError:
  - 411
  botocore.exceptions.InvalidRetryConfigurationError:
  - 654
  botocore.exceptions.InvalidRetryModeError:
  - 672
  botocore.exceptions.InvalidS3AddressingStyleError:
  - 584
  botocore.exceptions.InvalidS3UsEast1RegionalEndpointConfigError:
  - 681
  botocore.exceptions.InvalidSTSRegionalEndpointsConfigError:
  - 691
  botocore.exceptions.MissingParametersError:
  - 325
  botocore.exceptions.MissingServiceIdError.__init__:
  - 752
  - 753
  botocore.exceptions.NoAuthTokenError:
  - 169
  botocore.exceptions.NoCredentialsError:
  - 161
  botocore.exceptions.NoRegionError:
  - 244
  botocore.exceptions.PartialCredentialsError:
  - 189
  botocore.exceptions.ProfileNotFound:
  - 294
  botocore.exceptions.RangeError:
  - 380
  botocore.exceptions.ServiceNotInRegionError:
  - 223
  botocore.exceptions.TokenRetrievalError:
  - 177
  botocore.exceptions.UnknownClientMethodError:
  - 509
  botocore.exceptions.UnknownCredentialError:
  - 497
  botocore.exceptions.UnknownEndpointError:
  - 265
  botocore.exceptions.UnknownFIPSEndpointError:
  - 279
  botocore.exceptions.UnknownKeyError:
  - 365
  botocore.exceptions.UnknownParameterError:
  - 396
  botocore.exceptions.UnknownRegionError:
  - 73
  botocore.exceptions.UnknownServiceError:
  - 60
  botocore.exceptions.UnknownServiceStyle:
  - 436
  botocore.exceptions.UnknownSignatureVersionError:
  - 213
  botocore.exceptions.UnseekableStreamError:
  - 464
  botocore.exceptions.UnsupportedOutpostResourceError:
  - 617
  botocore.exceptions.UnsupportedS3AccesspointConfigurationError:
  - 633
  botocore.exceptions.UnsupportedS3ArnError:
  - 593
  botocore.exceptions.UnsupportedS3ConfigurationError:
  - 627
  botocore.exceptions.UnsupportedS3ControlArnError:
  - 602
  botocore.exceptions.UnsupportedS3ControlConfigurationError:
  - 648
  botocore.exceptions.UnsupportedSignatureVersionError:
  - 515
  botocore.exceptions.UnsupportedTLSVersionWarning:
  - 562
  botocore.exceptions.ValidationError:
  - 343
  botocore.exceptions.WaiterConfigError:
  - 503
  botocore.exceptions.WaiterError:
  - 473
  botocore.exceptions.WaiterError.__init__:
  - 478
  botocore.exceptions._exception_from_packed_args:
  - 24
  - 26
  - 28
  botocore.handlers:
  - 96
  - 100
  - 78
  - 14
  - 80
  - 81
  - 87
  - 1404
  botocore.handlers.ClientMethodAlias.__call__:
  - 950
  botocore.handlers.ClientMethodAlias.__init__:
  - 942
  botocore.handlers.DeprecatedServiceDocumenter.inject_deprecation_notice:
  - 357
  - 358
  - 359
  - 363
  - 364
  botocore.handlers.HeaderToHostHoister:
  - 955
  - 957
  botocore.handlers.HeaderToHostHoister._ensure_header_is_valid_host:
  - 978
  - 979
  botocore.handlers.HeaderToHostHoister._prepend_to_host:
  - 999
  - 988
  - 989
  - 991
  botocore.handlers.HeaderToHostHoister.hoist:
  - 969
  - 963
  - 972
  - 974
  botocore.handlers.ParameterAlias._replace_content:
  - 936
  - 937
  - 932
  - 933
  botocore.handlers.ParameterAlias.alias_parameter_in_call:
  - 896
  - 899
  - 900
  - 901
  - 909
  botocore.handlers.ParameterAlias.alias_parameter_in_documentation:
  - 928
  - 929
  - 912
  - 913
  - 916
  - 917
  - 918
  - 921
  - 922
  - 923
  - 924
  - 925
  botocore.handlers._add_parameter_aliases:
  - 869
  - 870
  - 871
  - 886
  - 887
  botocore.handlers._decode_list_object:
  - 835
  - 839
  - 840
  - 841
  - 843
  - 844
  - 845
  - 846
  botocore.handlers._decode_policy_types:
  - 545
  - 546
  - 547
  - 552
  - 555
  - 556
  - 557
  - 559
  - 560
  botocore.handlers._get_cross_region_presigned_url:
  - 472
  - 477
  - 470
  botocore.handlers._get_presigned_url_source_and_destination_regions:
  - 485
  botocore.handlers._looks_like_special_case_error:
  - 166
  - 168
  - 169
  - 171
  - 172
  - 178
  botocore.handlers._needs_s3_sse_customization:
  - 327
  botocore.handlers._quote_source_header:
  - 451
  - 452
  - 453
  - 455
  - 456
  botocore.handlers._quote_source_header_from_dict:
  - 444
  - 435
  - 436
  - 445
  botocore.handlers._sse_md5:
  - 320
  - 309
  - 315
  - 316
  - 317
  botocore.handlers.add_accept_header:
  - 671
  botocore.handlers.add_expect_header:
  - 345
  - 348
  - 341
  - 343
  botocore.handlers.add_glacier_checksums:
  - 704
  - 705
  - 706
  - 677
  - 691
  - 697
  - 698
  - 699
  - 700
  - 703
  botocore.handlers.add_recursion_detection_header:
  - 112
  - 114
  - 115
  - 111
  botocore.handlers.add_retry_headers:
  - 1016
  - 1017
  - 1027
  botocore.handlers.base64_encode_user_data:
  - 584
  - 580
  - 581
  - 583
  botocore.handlers.change_get_to_post:
  - 768
  - 771
  botocore.handlers.check_for_200_error:
  - 155
  - 156
  - 150
  botocore.handlers.check_openssl_supports_tls_version_1_2:
  - 752
  - 751
  botocore.handlers.convert_body_to_file_like_object:
  - 850
  - 851
  - 852
  - 853
  - 854
  botocore.handlers.copy_source_sse_md5:
  - 305
  - 299
  botocore.handlers.customize_endpoint_resolver_builtins:
  - 1121
  - 1098
  - 1130
  - 1131
  - 1104
  - 1105
  - 1110
  - 1114
  botocore.handlers.decode_console_output:
  - 233
  - 243
  - 238
  - 239
  botocore.handlers.decode_list_object:
  - 791
  botocore.handlers.decode_list_object_v2:
  - 804
  botocore.handlers.decode_list_object_versions:
  - 817
  botocore.handlers.decode_quoted_jsondoc:
  - 258
  - 260
  botocore.handlers.disable_signing:
  - 333
  botocore.handlers.document_base64_encoding:
  - 595
  botocore.handlers.document_cloudformation_get_template_return_type:
  - 736
  - 737
  - 738
  - 739
  - 729
  - 730
  - 731
  - 732
  - 733
  - 734
  - 735
  botocore.handlers.document_copy_source_form:
  - 384
  - 368
  - 369
  - 370
  - 371
  - 372
  - 373
  - 377
  - 378
  - 379
  - 380
  - 381
  - 382
  - 383
  botocore.handlers.document_glacier_tree_hash_checksum:
  - 723
  botocore.handlers.escape_xml_payload:
  - 128
  - 129
  - 126
  - 127
  botocore.handlers.fix_route53_ids:
  - 643
  - 647
  - 648
  - 650
  - 651
  - 631
  - 638
  botocore.handlers.generate_idempotent_uuid:
  - 248
  - 249
  - 250
  - 247
  botocore.handlers.handle_copy_source_param:
  - 419
  - 420
  - 425
  - 426
  - 427
  - 428
  - 405
  botocore.handlers.handle_service_name_alias:
  - 106
  botocore.handlers.inject_account_id:
  - 655
  botocore.handlers.inject_api_version_header_if_needed:
  - 1004
  botocore.handlers.inject_presigned_url_ec2:
  - 496
  - 491
  - 493
  botocore.handlers.inject_presigned_url_rds:
  - 512
  - 520
  - 523
  - 509
  botocore.handlers.json_decode_policies:
  - 537
  - 538
  botocore.handlers.json_decode_template_body:
  - 272
  - 265
  - 267
  botocore.handlers.parse_get_bucket_location:
  - 569
  - 572
  - 573
  - 574
  botocore.handlers.remove_accid_host_prefix_from_model:
  - 1073
  - 1077
  - 1061
  - 1079
  botocore.handlers.remove_arn_from_signing_path:
  - 1088
  - 1089
  - 1090
  - 1092
  - 1087
  botocore.handlers.remove_bucket_from_url_paths_from_model:
  - 1051
  - 1052
  - 1031
  botocore.handlers.remove_lex_v2_start_conversation:
  - 1010
  - 1011
  botocore.handlers.set_list_objects_encoding_type_url:
  - 775
  botocore.handlers.set_operation_specific_signer:
  - 226
  - 195
  - 200
  - 203
  - 206
  - 207
  - 211
  - 212
  - 184
  - 221
  - 191
  botocore.handlers.sse_md5:
  - 289
  - 295
  botocore.handlers.switch_host_machinelearning:
  - 743
  botocore.handlers.validate_ascii_metadata:
  - 609
  - 610
  - 617
  - 619
  - 620
  - 600
  botocore.handlers.validate_bucket_name:
  - 276
  - 279
  botocore.history:
  - 16
  botocore.history.HistoryRecorder.add_handler:
  - 36
  botocore.history.HistoryRecorder.record:
  - 40
  - 42
  - 46
  - 39
  botocore.history.get_global_history_recorder:
  - 53
  - 54
  botocore.hooks:
  - 20
  - 23
  botocore.hooks.BaseEventHooks._verify_accept_kwargs:
  - 176
  - 185
  botocore.hooks.BaseEventHooks._verify_and_register:
  - 152
  - 153
  - 151
  botocore.hooks.BaseEventHooks._verify_is_callable:
  - 172
  botocore.hooks.BaseEventHooks.emit:
  - 68
  botocore.hooks.BaseEventHooks.register:
  - 100
  - 87
  botocore.hooks.BaseEventHooks.register_first:
  - 118
  - 111
  botocore.hooks.BaseEventHooks.register_last:
  - 129
  - 135
  botocore.hooks.BaseEventHooks.unregister:
  - 162
  botocore.hooks.EventAliaser.__copy__:
  - 502
  - 503
  botocore.hooks.EventAliaser.__init__:
  - 405
  botocore.hooks.EventAliaser._alias_event_name:
  - 482
  - 483
  - 455
  - 458
  - 465
  - 466
  - 470
  - 476
  - 477
  - 478
  botocore.hooks.EventAliaser._replace_subsection:
  - 496
  - 498
  - 493
  - 494
  botocore.hooks.EventAliaser.emit:
  - 411
  - 412
  botocore.hooks.EventAliaser.emit_until_response:
  - 416
  - 415
  botocore.hooks.EventAliaser.register:
  - 421
  - 422
  botocore.hooks.EventAliaser.register_first:
  - 429
  - 430
  botocore.hooks.EventAliaser.register_last:
  - 437
  - 438
  botocore.hooks.EventAliaser.unregister:
  - 449
  - 450
  botocore.hooks.HierarchicalEmitter.__copy__:
  - 394
  - 395
  - 396
  - 397
  botocore.hooks.HierarchicalEmitter.__init__:
  - 200
  botocore.hooks.HierarchicalEmitter._emit:
  - 226
  - 227
  - 228
  - 230
  - 237
  - 206
  - 238
  - 239
  - 240
  - 241
  botocore.hooks.HierarchicalEmitter._register:
  - 280
  botocore.hooks.HierarchicalEmitter._register_first:
  - 291
  botocore.hooks.HierarchicalEmitter._register_last:
  - 302
  botocore.hooks.HierarchicalEmitter._register_section:
  - 325
  - 345
  - 337
  - 309
  - 310
  - 341
  - 313
  - 314
  - 315
  botocore.hooks.HierarchicalEmitter.emit:
  - 256
  - 246
  botocore.hooks.HierarchicalEmitter.emit_until_response:
  - 272
  - 259
  - 271
  botocore.hooks.HierarchicalEmitter.unregister:
  - 386
  - 388
  - 357
  - 359
  - 364
  - 365
  - 371
  - 372
  - 379
  botocore.hooks.NodeList.__copy__:
  - 32
  - 33
  - 34
  - 31
  botocore.hooks._PrefixTrie:
  - 508
  botocore.hooks._PrefixTrie.__copy__:
  - 644
  - 645
  botocore.hooks._PrefixTrie._get_items:
  - 579
  - 580
  - 592
  - 593
  - 595
  - 596
  - 598
  - 599
  - 600
  - 601
  - 573
  botocore.hooks._PrefixTrie._recursive_copy:
  - 654
  - 655
  - 656
  - 657
  - 658
  botocore.hooks._PrefixTrie._remove_item:
  - 616
  - 618
  - 619
  - 620
  - 621
  - 622
  - 624
  - 625
  - 626
  - 627
  - 628
  - 629
  - 630
  botocore.hooks._PrefixTrie.append_item:
  - 544
  - 546
  - 547
  - 553
  - 554
  - 555
  - 539
  botocore.hooks._PrefixTrie.prefix_search:
  - 566
  - 568
  - 565
  - 558
  botocore.hooks._PrefixTrie.remove_item:
  - 611
  - 604
  - 613
  botocore.hooks.first_non_none_response:
  - 60
  - 61
  - 39
  botocore.httpchecksum:
  - 35
  - 40
  - 459
  - 461
  - 14
  - 465
  botocore.httpchecksum.AwsChunkedWrapper.__init__:
  - 144
  - 142
  botocore.httpchecksum.AwsChunkedWrapper.__iter__:
  - 208
  botocore.httpchecksum.AwsChunkedWrapper._make_chunk:
  - 192
  - 193
  - 196
  - 197
  - 199
  - 200
  - 201
  botocore.httpchecksum.AwsChunkedWrapper._reset:
  - 152
  - 153
  botocore.httpchecksum.AwsChunkedWrapper.read:
  - 165
  - 170
  - 174
  - 176
  - 177
  - 180
  - 181
  botocore.httpchecksum.AwsChunkedWrapper.seek:
  - 160
  - 161
  - 156
  botocore.httpchecksum.BaseChecksum._handle_fileobj:
  - 57
  - 58
  - 59
  - 60
  botocore.httpchecksum.BaseChecksum._handle_fileobj.<lambda1>:
  - 58
  botocore.httpchecksum.BaseChecksum.b64digest:
  - 53
  - 54
  botocore.httpchecksum.BaseChecksum.handle:
  - 64
  - 66
  - 67
  - 63
  botocore.httpchecksum.Crc32Checksum.digest:
  - 78
  botocore.httpchecksum.Crc32Checksum.update:
  - 75
  botocore.httpchecksum.CrtCrc32Checksum.digest:
  - 91
  botocore.httpchecksum.CrtCrc32Checksum.update:
  - 87
  botocore.httpchecksum.CrtCrc32cChecksum.digest:
  - 104
  botocore.httpchecksum.CrtCrc32cChecksum.update:
  - 100
  botocore.httpchecksum.Sha1Checksum.__init__:
  - 109
  botocore.httpchecksum.Sha1Checksum.digest:
  - 115
  botocore.httpchecksum.Sha1Checksum.update:
  - 112
  botocore.httpchecksum.Sha256Checksum.__init__:
  - 120
  botocore.httpchecksum.Sha256Checksum.digest:
  - 126
  botocore.httpchecksum.Sha256Checksum.update:
  - 123
  botocore.httpchecksum.StreamingChecksumBody.__init__:
  - 213
  botocore.httpchecksum.StreamingChecksumBody._validate_checksum:
  - 225
  - 228
  botocore.httpchecksum.StreamingChecksumBody.read:
  - 218
  - 219
  - 220
  - 221
  botocore.httpchecksum._apply_request_header_checksum:
  - 309
  - 310
  - 312
  - 315
  - 316
  botocore.httpchecksum._apply_request_trailer_checksum:
  - 321
  - 322
  - 324
  - 329
  - 334
  - 342
  - 343
  - 346
  - 348
  - 349
  - 351
  botocore.httpchecksum._handle_bytes_response:
  - 437
  - 438
  - 439
  - 441
  - 446
  botocore.httpchecksum._handle_streaming_response:
  - 424
  - 426
  - 428
  - 429
  botocore.httpchecksum.apply_request_checksum:
  - 289
  - 290
  - 292
  - 295
  - 297
  - 298
  - 299
  - 300
  - 301
  botocore.httpchecksum.handle_checksum_body:
  - 384
  - 385
  - 417
  - 387
  - 390
  - 393
  - 399
  - 402
  - 403
  - 407
  - 412
  botocore.httpchecksum.resolve_checksum_context:
  - 234
  - 235
  botocore.httpchecksum.resolve_request_checksum_algorithm:
  - 259
  - 261
  - 272
  - 276
  - 245
  - 246
  - 279
  - 249
  - 283
  - 252
  - 253
  botocore.httpchecksum.resolve_response_checksum_algorithms:
  - 362
  - 363
  - 364
  - 367
  - 371
  - 372
  - 374
  - 375
  - 377
  botocore.httpsession:
  - 71
  - 72
  - 75
  - 43
  - 44
  botocore.httpsession.ProxyConfiguration:
  - 207
  botocore.httpsession.ProxyConfiguration.__init__:
  - 217
  - 215
  botocore.httpsession.ProxyConfiguration._construct_basic_auth:
  - 254
  botocore.httpsession.ProxyConfiguration._fix_proxy_url:
  - 245
  - 247
  botocore.httpsession.ProxyConfiguration._get_auth_from_url:
  - 258
  - 260
  botocore.httpsession.ProxyConfiguration.proxy_headers_for:
  - 232
  - 234
  - 235
  - 236
  botocore.httpsession.ProxyConfiguration.proxy_url_for:
  - 224
  - 225
  - 226
  - 227
  - 228
  botocore.httpsession.URLLib3Session:
  - 266
  botocore.httpsession.URLLib3Session.__init__:
  - 288
  - 295
  - 297
  - 298
  - 302
  - 304
  - 310
  - 313
  botocore.httpsession.URLLib3Session._chunked:
  - 429
  - 430
  - 431
  botocore.httpsession.URLLib3Session._get_connection_manager:
  - 402
  - 403
  botocore.httpsession.URLLib3Session._get_pool_manager_kwargs:
  - 336
  - 331
  botocore.httpsession.URLLib3Session._get_proxy_manager:
  - 352
  - 343
  - 344
  - 345
  - 346
  - 349
  - 350
  botocore.httpsession.URLLib3Session._get_request_target:
  - 417
  - 420
  - 423
  - 426
  - 411
  - 412
  botocore.httpsession.URLLib3Session._get_ssl_context:
  - 340
  botocore.httpsession.URLLib3Session._path_url:
  - 361
  - 363
  - 359
  botocore.httpsession.URLLib3Session._proxies_kwargs:
  - 324
  - 319
  botocore.httpsession.URLLib3Session._setup_proxy_ssl_context:
  - 384
  - 387
  - 389
  - 390
  - 392
  - 393
  - 394
  - 395
  - 377
  - 378
  - 379
  - 382
  botocore.httpsession.URLLib3Session._setup_ssl_cert:
  - 368
  - 370
  botocore.httpsession.URLLib3Session.close:
  - 434
  - 435
  - 436
  botocore.httpsession.URLLib3Session.send:
  - 451
  - 454
  - 455
  - 460
  - 464
  - 474
  - 467
  - 499
  - 440
  - 441
  - 442
  - 443
  - 444
  - 445
  - 478
  botocore.httpsession._is_ipaddress:
  - 202
  - 203
  botocore.httpsession.create_urllib3_context:
  - 98
  - 164
  - 165
  - 166
  - 104
  - 137
  - 107
  - 139
  - 109
  - 114
  - 155
  - 157
  - 159
  botocore.httpsession.create_urllib3_context.disable_check_hostname:
  - 144
  - 143
  botocore.httpsession.ensure_boolean:
  - 177
  - 180
  - 173
  botocore.httpsession.get_cert_path:
  - 89
  - 90
  - 86
  botocore.httpsession.mask_proxy_url:
  - 193
  - 194
  - 195
  - 196
  - 197
  - 184
  botocore.invoke_initializers:
  - 138
  - 139
  - 132
  botocore.loaders:
  - 117
  - 123
  - 13
  botocore.loaders.ExtrasProcessor:
  - 507
  botocore.loaders.ExtrasProcessor._process:
  - 522
  - 523
  - 524
  botocore.loaders.ExtrasProcessor.process:
  - 519
  - 510
  - 518
  botocore.loaders.JSONFileLoader:
  - 150
  botocore.loaders.JSONFileLoader._load_file:
  - 172
  - 177
  - 178
  - 180
  - 181
  botocore.loaders.JSONFileLoader.exists:
  - 157
  - 166
  - 167
  botocore.loaders.JSONFileLoader.load_file:
  - 184
  - 193
  - 194
  - 195
  botocore.loaders.Loader:
  - 225
  - 236
  - 238
  - 239
  botocore.loaders.Loader.__init__:
  - 259
  - 260
  - 265
  - 266
  - 268
  - 252
  - 253
  - 255
  botocore.loaders.Loader._find_extras:
  - 432
  - 426
  - 427
  - 429
  botocore.loaders.Loader._potential_locations:
  - 480
  - 481
  - 482
  - 483
  - 485
  - 486
  - 487
  - 488
  - 477
  - 478
  botocore.loaders.Loader.determine_latest_version:
  - 323
  - 342
  botocore.loaders.Loader.is_builtin_path:
  - 491
  - 502
  - 503
  botocore.loaders.Loader.list_api_versions:
  - 359
  - 360
  - 363
  - 364
  - 368
  - 369
  - 370
  - 372
  - 346
  botocore.loaders.Loader.list_available_services:
  - 312
  - 297
  - 298
  - 306
  - 307
  - 309
  - 310
  - 311
  - 280
  - 313
  - 316
  - 317
  - 319
  botocore.loaders.Loader.load_data:
  - 456
  - 471
  botocore.loaders.Loader.load_data_with_path:
  - 448
  - 449
  - 438
  - 447
  botocore.loaders.Loader.load_service_model:
  - 416
  - 417
  - 420
  - 421
  - 406
  - 407
  - 376
  - 412
  - 413
  botocore.loaders.create_loader:
  - 201
  - 214
  - 215
  - 217
  - 218
  - 219
  - 220
  - 221
  botocore.loaders.instance_cache:
  - 127
  botocore.loaders.instance_cache._wrapper:
  - 138
  - 140
  - 142
  botocore.model:
  - 24
  - 13
  botocore.model.DenormalizedStructureBuilder:
  - 760
  botocore.model.DenormalizedStructureBuilder.__init__:
  - 809
  - 810
  - 811
  - 812
  botocore.model.DenormalizedStructureBuilder._build_initial_shape:
  - 890
  - 892
  - 893
  botocore.model.DenormalizedStructureBuilder._build_list:
  - 873
  - 870
  - 871
  botocore.model.DenormalizedStructureBuilder._build_map:
  - 877
  - 878
  - 879
  - 882
  - 883
  botocore.model.DenormalizedStructureBuilder._build_model:
  - 847
  - 848
  - 849
  - 850
  - 851
  - 852
  - 853
  - 854
  botocore.model.DenormalizedStructureBuilder._build_scalar:
  - 898
  botocore.model.DenormalizedStructureBuilder._build_structure:
  - 864
  - 866
  - 859
  - 860
  - 863
  botocore.model.DenormalizedStructureBuilder._get_shape_name:
  - 904
  - 901
  botocore.model.DenormalizedStructureBuilder.build_model:
  - 833
  - 838
  - 839
  - 840
  - 827
  botocore.model.DenormalizedStructureBuilder.with_members:
  - 815
  botocore.model.ListShape.member:
  - 254
  botocore.model.MapShape.key:
  - 260
  botocore.model.MapShape.value:
  - 264
  botocore.model.OperationModel.__init__:
  - 481
  - 515
  - 513
  botocore.model.OperationModel._get_event_stream:
  - 657
  - 653
  - 654
  botocore.model.OperationModel._get_streaming_body:
  - 676
  - 677
  - 679
  - 680
  - 682
  botocore.model.OperationModel.auth_type:
  - 619
  botocore.model.OperationModel.context_parameters:
  - 608
  - 612
  - 604
  botocore.model.OperationModel.deprecated:
  - 548
  botocore.model.OperationModel.documentation:
  - 544
  botocore.model.OperationModel.endpoint:
  - 628
  botocore.model.OperationModel.endpoint_discovery:
  - 554
  botocore.model.OperationModel.error_shapes:
  - 624
  - 623
  botocore.model.OperationModel.get_event_stream_input:
  - 647
  botocore.model.OperationModel.get_event_stream_output:
  - 650
  botocore.model.OperationModel.get_streaming_input:
  - 670
  botocore.model.OperationModel.get_streaming_output:
  - 673
  botocore.model.OperationModel.has_event_stream_input:
  - 640
  botocore.model.OperationModel.has_event_stream_output:
  - 644
  botocore.model.OperationModel.has_streaming_input:
  - 663
  botocore.model.OperationModel.has_streaming_output:
  - 667
  botocore.model.OperationModel.http_checksum:
  - 636
  botocore.model.OperationModel.http_checksum_required:
  - 632
  botocore.model.OperationModel.idempotent_members:
  - 584
  - 589
  botocore.model.OperationModel.input_shape:
  - 562
  - 566
  botocore.model.OperationModel.is_endpoint_discovery_operation:
  - 558
  botocore.model.OperationModel.name:
  - 519
  botocore.model.OperationModel.output_shape:
  - 577
  - 572
  botocore.model.OperationModel.static_context_parameters:
  - 596
  - 598
  - 599
  botocore.model.OperationModel.wire_name:
  - 536
  - 526
  botocore.model.ServiceId.hyphenize:
  - 45
  botocore.model.ServiceModel:
  - 290
  botocore.model.ServiceModel.__init__:
  - 320
  - 297
  - 321
  - 319
  botocore.model.ServiceModel._error_code_cache:
  - 338
  botocore.model.ServiceModel.api_version:
  - 413
  botocore.model.ServiceModel.client_context_parameters:
  - 450
  - 443
  - 445
  botocore.model.ServiceModel.documentation:
  - 369
  botocore.model.ServiceModel.endpoint_discovery_operation:
  - 425
  - 426
  - 427
  botocore.model.ServiceModel.endpoint_discovery_required:
  - 432
  - 433
  - 434
  - 436
  botocore.model.ServiceModel.endpoint_prefix:
  - 421
  botocore.model.ServiceModel.error_shapes:
  - 353
  - 354
  - 355
  - 356
  botocore.model.ServiceModel.operation_model:
  - 365
  botocore.model.ServiceModel.operation_names:
  - 373
  botocore.model.ServiceModel.protocol:
  - 417
  botocore.model.ServiceModel.resolve_shape_ref:
  - 344
  botocore.model.ServiceModel.service_id:
  - 395
  botocore.model.ServiceModel.service_name:
  - 377
  - 387
  botocore.model.ServiceModel.shape_for:
  - 328
  botocore.model.ServiceModel.shape_for_error_code:
  - 333
  botocore.model.ServiceModel.shape_names:
  - 348
  botocore.model.ServiceModel.signature_version:
  - 466
  - 467
  botocore.model.ServiceModel.signing_name:
  - 401
  - 406
  - 407
  botocore.model.Shape:
  - 49
  botocore.model.Shape.__init__:
  - 123
  - 115
  - 117
  - 94
  botocore.model.Shape._resolve_shape_ref:
  - 199
  botocore.model.Shape.metadata:
  - 162
  - 182
  - 183
  botocore.model.Shape.required_members:
  - 196
  - 189
  botocore.model.Shape.serialization:
  - 129
  - 152
  - 153
  - 156
  - 157
  botocore.model.ShapeNameGenerator:
  - 908
  botocore.model.ShapeNameGenerator.__init__:
  - 916
  botocore.model.ShapeNameGenerator.new_shape_name:
  - 946
  - 919
  botocore.model.ShapeResolver:
  - 691
  botocore.model.ShapeResolver.get_shape_by_name:
  - 711
  - 716
  - 717
  - 718
  - 719
  botocore.model.ShapeResolver.resolve_shape_ref:
  - 736
  - 741
  - 728
  - 732
  - 734
  botocore.model.StringShape.enum:
  - 270
  botocore.model.StructureShape.error_code:
  - 233
  - 235
  - 236
  - 237
  botocore.model.StructureShape.event_stream_name:
  - 226
  - 227
  botocore.model.StructureShape.is_document_type:
  - 244
  botocore.model.StructureShape.is_tagged_union:
  - 248
  botocore.model.StructureShape.members:
  - 220
  - 219
  - 212
  - 221
  botocore.model.UnresolvableShapeMap:
  - 745
  botocore.monitoring:
  - 21
  botocore.monitoring.APICallAttemptEvent.__init__:
  - 266
  - 310
  botocore.monitoring.APICallEvent.__init__:
  - 202
  - 234
  - 229
  botocore.monitoring.APICallEvent.new_api_call_attempt:
  - 248
  - 245
  - 239
  botocore.monitoring.BaseMonitorEvent.__eq__:
  - 187
  botocore.monitoring.BaseMonitorEvent.__init__:
  - 166
  botocore.monitoring.CSMSerializer:
  - 339
  - 334
  botocore.monitoring.CSMSerializer.__init__:
  - 363
  - 357
  botocore.monitoring.CSMSerializer._add_fields_from_last_attempt:
  - 417
  - 418
  - 420
  - 423
  - 425
  - 426
  - 429
  - 430
  - 414
  botocore.monitoring.CSMSerializer._get_access_key:
  - 504
  - 505
  - 503
  botocore.monitoring.CSMSerializer._get_auth_match:
  - 529
  - 530
  - 531
  botocore.monitoring.CSMSerializer._get_auth_value:
  - 526
  botocore.monitoring.CSMSerializer._get_event_type:
  - 497
  - 499
  botocore.monitoring.CSMSerializer._get_region:
  - 512
  - 514
  - 508
  - 510
  - 511
  botocore.monitoring.CSMSerializer._get_user_agent:
  - 517
  - 518
  botocore.monitoring.CSMSerializer._serialize_attempts:
  - 409
  - 410
  - 411
  botocore.monitoring.CSMSerializer._serialize_latency:
  - 435
  - 437
  botocore.monitoring.CSMSerializer._serialize_parsed_error:
  - 481
  - 478
  botocore.monitoring.CSMSerializer._serialize_request_headers:
  - 451
  - 452
  - 453
  - 454
  - 455
  - 457
  botocore.monitoring.CSMSerializer._serialize_response_headers:
  - 470
  - 471
  botocore.monitoring.CSMSerializer._serialize_url:
  - 446
  botocore.monitoring.CSMSerializer._serialize_wire_exception:
  - 489
  - 492
  - 493
  botocore.monitoring.CSMSerializer._truncate:
  - 536
  - 537
  botocore.monitoring.CSMSerializer._validate_client_id:
  - 367
  botocore.monitoring.CSMSerializer.serialize:
  - 385
  - 386
  - 387
  - 388
  - 391
  - 374
  - 382
  - 383
  botocore.monitoring.Monitor.__init__:
  - 34
  botocore.monitoring.Monitor.capture:
  - 50
  - 56
  - 57
  - 58
  - 60
  botocore.monitoring.Monitor.register:
  - 45
  - 46
  - 47
  botocore.monitoring.MonitorEventAdapter.__init__:
  - 70
  botocore.monitoring.MonitorEventAdapter._complete_api_call:
  - 153
  - 154
  botocore.monitoring.MonitorEventAdapter._get_current_time:
  - 161
  botocore.monitoring.MonitorEventAdapter._get_handler:
  - 94
  - 95
  botocore.monitoring.MonitorEventAdapter._get_latency:
  - 158
  botocore.monitoring.MonitorEventAdapter._handle_after_call:
  - 132
  - 135
  botocore.monitoring.MonitorEventAdapter._handle_after_call_error:
  - 144
  - 145
  botocore.monitoring.MonitorEventAdapter._handle_before_parameter_build:
  - 99
  - 102
  botocore.monitoring.MonitorEventAdapter._handle_request_created:
  - 107
  - 109
  botocore.monitoring.MonitorEventAdapter._handle_response_received:
  - 126
  - 117
  - 118
  - 119
  botocore.monitoring.MonitorEventAdapter._is_retryable_exception:
  - 148
  - 149
  botocore.monitoring.MonitorEventAdapter.feed:
  - 91
  - 78
  botocore.monitoring.SocketPublisher.__init__:
  - 550
  botocore.monitoring.SocketPublisher.publish:
  - 577
  - 578
  - 579
  - 582
  - 586
  - 571
  botocore.paginate:
  - 24
  botocore.paginate.PageIterator:
  - 188
  botocore.paginate.PageIterator.__init__:
  - 220
  - 221
  botocore.paginate.PageIterator.__iter__:
  - 256
  - 261
  - 267
  - 269
  - 270
  - 271
  - 275
  - 276
  - 280
  - 286
  - 287
  - 289
  - 291
  - 295
  - 296
  - 303
  - 306
  - 308
  - 309
  - 311
  - 319
  - 328
  botocore.paginate.PageIterator._convert_deprecated_starting_token:
  - 577
  - 578
  - 579
  - 581
  - 582
  - 586
  - 587
  - 588
  - 573
  botocore.paginate.PageIterator._get_next_token:
  - 454
  - 455
  - 458
  - 461
  - 464
  botocore.paginate.PageIterator._handle_first_request:
  - 418
  - 396
  - 397
  - 398
  - 402
  - 406
  - 407
  - 409
  - 410
  - 412
  - 414
  botocore.paginate.PageIterator._inject_starting_params:
  - 377
  - 378
  - 379
  - 374
  botocore.paginate.PageIterator._inject_token_into_kwargs:
  - 385
  - 386
  - 388
  botocore.paginate.PageIterator._make_request:
  - 357
  botocore.paginate.PageIterator._parse_starting_token:
  - 527
  - 533
  - 535
  - 536
  - 539
  botocore.paginate.PageIterator._parse_starting_token_deprecated:
  - 547
  - 551
  - 554
  - 557
  - 559
  - 565
  - 566
  - 567
  - 569
  - 570
  - 543
  botocore.paginate.PageIterator._record_non_aggregate_key_values:
  - 364
  - 365
  - 366
  botocore.paginate.PageIterator._truncate_response:
  - 432
  - 434
  - 429
  - 430
  botocore.paginate.PageIterator.build_full_result:
  - 512
  - 513
  - 514
  - 516
  - 486
  - 521
  - 522
  - 492
  - 499
  - 500
  - 502
  - 503
  - 505
  - 479
  botocore.paginate.PageIterator.result_key_iters:
  - 473
  - 474
  - 471
  botocore.paginate.PageIterator.resume_token:
  - 229
  - 234
  - 237
  - 238
  - 240
  - 241
  - 243
  - 244
  botocore.paginate.PageIterator.search:
  - 354
  - 332
  - 347
  - 348
  - 349
  - 350
  - 351
  botocore.paginate.Paginator.__init__:
  - 598
  - 599
  - 600
  - 601
  - 604
  - 605
  botocore.paginate.Paginator._extract_paging_params:
  - 672
  - 673
  - 674
  - 675
  - 676
  - 677
  - 678
  - 684
  - 685
  - 686
  - 687
  - 689
  botocore.paginate.Paginator._get_input_tokens:
  - 628
  botocore.paginate.Paginator._get_limit_key:
  - 646
  botocore.paginate.Paginator._get_more_results_token:
  - 633
  - 634
  - 635
  botocore.paginate.Paginator._get_non_aggregate_keys:
  - 613
  - 614
  botocore.paginate.Paginator._get_output_tokens:
  - 620
  - 622
  - 623
  botocore.paginate.Paginator._get_result_keys:
  - 640
  - 642
  - 638
  - 639
  botocore.paginate.Paginator.paginate:
  - 656
  - 649
  - 657
  botocore.paginate.ResultKeyIterator:
  - 698
  botocore.paginate.ResultKeyIterator.__iter__:
  - 720
  - 716
  - 717
  - 718
  botocore.paginate.TokenDecoder:
  - 106
  botocore.paginate.TokenDecoder._decode:
  - 136
  - 137
  - 138
  - 139
  - 140
  botocore.paginate.TokenDecoder._path_get:
  - 144
  - 156
  botocore.paginate.TokenDecoder._path_set:
  - 161
  - 169
  botocore.paginate.TokenDecoder.decode:
  - 129
  - 130
  - 133
  - 113
  - 124
  - 125
  botocore.paginate.TokenEncoder:
  - 28
  botocore.paginate.TokenEncoder._encode:
  - 68
  - 69
  - 70
  - 71
  - 72
  - 73
  - 74
  botocore.paginate.TokenEncoder._encode_bytes:
  - 101
  - 102
  botocore.paginate.TokenEncoder._encode_dict:
  - 97
  - 90
  - 93
  - 95
  botocore.paginate.TokenEncoder._encode_list:
  - 79
  - 82
  - 84
  - 85
  - 86
  botocore.paginate.TokenEncoder.encode:
  - 65
  - 39
  - 52
  - 55
  - 62
  botocore.parsers:
  - 132
  - 13
  botocore.parsers.BaseEventStreamParser._do_error_parse:
  - 773
  - 774
  - 759
  - 760
  - 761
  - 762
  - 763
  - 767
  botocore.parsers.BaseEventStreamParser._do_parse:
  - 744
  - 745
  - 746
  - 747
  - 748
  - 752
  - 755
  botocore.parsers.BaseEventStreamParser._parse_non_payload_attrs:
  - 805
  - 807
  - 808
  - 810
  - 813
  botocore.parsers.BaseEventStreamParser._parse_payload:
  - 780
  - 781
  - 783
  - 785
  - 787
  - 788
  - 790
  - 791
  - 797
  - 798
  - 799
  botocore.parsers.BaseJSONParser._do_error_parse:
  - 704
  - 705
  - 707
  - 710
  - 711
  - 712
  - 716
  - 685
  - 717
  - 719
  - 696
  - 697
  - 701
  botocore.parsers.BaseJSONParser._handle_blob:
  - 679
  botocore.parsers.BaseJSONParser._handle_map:
  - 672
  - 673
  - 674
  botocore.parsers.BaseJSONParser._handle_structure:
  - 645
  - 649
  - 655
  - 656
  - 657
  - 658
  - 660
  - 661
  - 662
  - 663
  botocore.parsers.BaseJSONParser._handle_timestamp:
  - 682
  botocore.parsers.BaseJSONParser._inject_response_metadata:
  - 723
  - 724
  botocore.parsers.BaseJSONParser._parse_body_as_json:
  - 729
  - 731
  - 733
  botocore.parsers.BaseRestParser._add_modeled_parse:
  - 889
  - 892
  - 886
  botocore.parsers.BaseRestParser._do_modeled_error_parse:
  - 896
  botocore.parsers.BaseRestParser._do_parse:
  - 882
  - 879
  botocore.parsers.BaseRestParser._handle_list:
  - 992
  - 993
  - 989
  - 990
  botocore.parsers.BaseRestParser._handle_string:
  - 984
  - 985
  - 983
  botocore.parsers.BaseRestParser._parse_header_map:
  - 970
  - 965
  - 966
  - 967
  botocore.parsers.BaseRestParser._parse_non_payload_attrs:
  - 941
  - 943
  - 944
  - 946
  - 947
  - 950
  - 951
  - 954
  - 955
  - 956
  - 957
  botocore.parsers.BaseRestParser._parse_payload:
  - 928
  - 929
  - 933
  - 934
  - 935
  - 913
  - 918
  - 919
  - 921
  - 924
  - 925
  botocore.parsers.BaseRestParser._populate_response_metadata:
  - 904
  - 909
  - 902
  botocore.parsers.BaseXMLResponseParser.__init__:
  - 379
  - 380
  botocore.parsers.BaseXMLResponseParser._build_name_to_xml_node:
  - 480
  - 482
  - 483
  - 484
  - 489
  - 490
  - 479
  botocore.parsers.BaseXMLResponseParser._get_error_root:
  - 453
  - 454
  - 455
  botocore.parsers.BaseXMLResponseParser._handle_blob:
  - 547
  botocore.parsers.BaseXMLResponseParser._handle_boolean:
  - 524
  botocore.parsers.BaseXMLResponseParser._handle_float:
  - 531
  botocore.parsers.BaseXMLResponseParser._handle_integer:
  - 539
  botocore.parsers.BaseXMLResponseParser._handle_list:
  - 412
  - 414
  botocore.parsers.BaseXMLResponseParser._handle_map:
  - 386
  - 387
  - 388
  - 390
  - 391
  - 393
  - 394
  - 395
  - 396
  - 397
  botocore.parsers.BaseXMLResponseParser._handle_structure:
  - 448
  - 419
  - 420
  - 421
  - 422
  - 423
  - 424
  - 425
  - 427
  - 429
  - 434
  - 435
  - 436
  - 437
  - 440
  - 443
  - 444
  - 445
  botocore.parsers.BaseXMLResponseParser._handle_timestamp:
  - 535
  botocore.parsers.BaseXMLResponseParser._member_key_name:
  - 464
  - 465
  - 468
  - 470
  - 471
  botocore.parsers.BaseXMLResponseParser._node_tag:
  - 404
  botocore.parsers.BaseXMLResponseParser._parse_xml_string_to_dom:
  - 504
  - 500
  - 501
  - 503
  botocore.parsers.BaseXMLResponseParser._replace_nodes:
  - 514
  - 515
  - 516
  - 517
  botocore.parsers.EC2QueryParser._do_error_parse:
  - 626
  - 627
  - 629
  botocore.parsers.EC2QueryParser._get_error_root:
  - 634
  - 635
  - 636
  - 637
  botocore.parsers.EC2QueryParser._inject_response_metadata:
  - 608
  - 609
  - 610
  botocore.parsers.EventStreamJSONParser._initial_body_parse:
  - 826
  botocore.parsers.EventStreamXMLParser._initial_body_parse:
  - 832
  - 833
  - 831
  botocore.parsers.JSONParser:
  - 840
  botocore.parsers.JSONParser._do_modeled_error_parse:
  - 854
  botocore.parsers.JSONParser._do_parse:
  - 844
  - 846
  - 847
  - 849
  - 850
  botocore.parsers.JSONParser._handle_event_stream:
  - 864
  - 858
  - 860
  botocore.parsers.JSONParser._handle_json_body:
  - 872
  - 873
  botocore.parsers.QueryParser._do_error_parse:
  - 557
  - 558
  - 559
  - 565
  - 566
  - 567
  - 568
  botocore.parsers.QueryParser._do_modeled_error_parse:
  - 572
  botocore.parsers.QueryParser._do_parse:
  - 575
  botocore.parsers.QueryParser._find_result_wrapped_shape:
  - 593
  botocore.parsers.QueryParser._inject_response_metadata:
  - 597
  - 598
  - 599
  - 600
  - 601
  botocore.parsers.QueryParser._parse_body_as_xml:
  - 579
  - 581
  - 583
  - 584
  - 587
  - 588
  - 589
  botocore.parsers.ResponseParser:
  - 188
  botocore.parsers.ResponseParser.__init__:
  - 208
  - 213
  - 212
  - 205
  botocore.parsers.ResponseParser._add_checksum_response_metadata:
  - 273
  - 274
  - 275
  botocore.parsers.ResponseParser._create_event_stream:
  - 348
  - 349
  botocore.parsers.ResponseParser._default_blob_parser:
  - 221
  botocore.parsers.ResponseParser._do_generic_error_parse:
  - 309
  - 310
  - 303
  botocore.parsers.ResponseParser._get_first_key:
  - 352
  botocore.parsers.ResponseParser._handle_list:
  - 339
  - 340
  botocore.parsers.ResponseParser._has_unknown_tagged_union_member:
  - 355
  - 356
  - 362
  - 363
  - 369
  botocore.parsers.ResponseParser._is_generic_error_response:
  - 297
  - 298
  - 293
  - 294
  botocore.parsers.ResponseParser._is_modeled_error_shape:
  - 279
  botocore.parsers.ResponseParser._parse_shape:
  - 329
  - 332
  botocore.parsers.ResponseParser.parse:
  - 224
  - 260
  - 261
  - 267
  - 269
  - 240
  - 241
  - 242
  - 243
  - 244
  - 245
  - 246
  - 250
  - 252
  - 255
  botocore.parsers.ResponseParserFactory.create_parser:
  - 155
  botocore.parsers.ResponseParserFactory.set_parser_defaults:
  - 142
  - 151
  botocore.parsers.RestJSONParser._do_error_parse:
  - 1004
  - 1005
  botocore.parsers.RestJSONParser._handle_integer:
  - 1022
  botocore.parsers.RestJSONParser._initial_body_parse:
  - 1001
  botocore.parsers.RestJSONParser._inject_error_code:
  - 1011
  - 1012
  - 1016
  - 1018
  - 1019
  botocore.parsers.RestXMLParser._do_error_parse:
  - 1057
  - 1050
  - 1061
  - 1055
  botocore.parsers.RestXMLParser._handle_string:
  - 1102
  botocore.parsers.RestXMLParser._initial_body_parse:
  - 1032
  - 1033
  - 1034
  botocore.parsers.RestXMLParser._parse_error_from_body:
  - 1090
  - 1091
  - 1093
  - 1095
  - 1097
  - 1079
  - 1080
  - 1081
  - 1082
  - 1085
  botocore.parsers.RestXMLParser._parse_error_from_http_status:
  - 1072
  - 1073
  - 1066
  - 1067
  botocore.parsers._text_content._get_text_content:
  - 169
  - 178
  - 171
  botocore.parsers.create_parser:
  - 159
  botocore.regions:
  - 13
  - 46
  botocore.regions.BaseEndpointResolver:
  - 52
  botocore.regions.BaseEndpointResolver.construct_endpoint:
  - 55
  botocore.regions.BaseEndpointResolver.get_available_endpoints:
  - 93
  botocore.regions.BaseEndpointResolver.get_available_partitions:
  - 84
  botocore.regions.EndpointResolver:
  - 113
  botocore.regions.EndpointResolver.__init__:
  - 126
  - 118
  botocore.regions.EndpointResolver._create_tag_list:
  - 329
  - 330
  - 331
  - 332
  botocore.regions.EndpointResolver._endpoint_for_partition:
  - 289
  - 258
  - 290
  - 293
  - 295
  - 296
  - 297
  - 298
  - 269
  - 273
  - 274
  - 305
  - 306
  - 311
  botocore.regions.EndpointResolver._expand_template:
  - 419
  botocore.regions.EndpointResolver._merge_keys:
  - 412
  - 413
  botocore.regions.EndpointResolver._region_match:
  - 314
  - 316
  - 317
  botocore.regions.EndpointResolver._resolve:
  - 354
  - 358
  - 359
  - 390
  - 391
  - 393
  - 364
  - 365
  - 366
  - 368
  - 369
  - 400
  - 401
  - 372
  - 378
  - 383
  botocore.regions.EndpointResolver._resolve_variant:
  - 339
  - 340
  - 341
  - 342
  botocore.regions.EndpointResolver._retrieve_variant_data:
  - 321
  - 322
  - 323
  - 324
  botocore.regions.EndpointResolver.construct_endpoint:
  - 224
  - 197
  - 229
  - 204
  - 236
  - 206
  - 207
  - 210
  - 211
  - 223
  botocore.regions.EndpointResolver.get_available_endpoints:
  - 161
  - 164
  - 165
  - 168
  - 169
  - 170
  - 171
  - 154
  - 155
  - 158
  botocore.regions.EndpointResolver.get_available_partitions:
  - 142
  - 143
  botocore.regions.EndpointResolver.get_partition_dns_suffix:
  - 177
  - 178
  - 179
  - 180
  - 181
  - 183
  botocore.regions.EndpointResolver.get_partition_for_region:
  - 240
  - 241
  botocore.regions.EndpointResolver.get_service_endpoints_data:
  - 136
  - 132
  - 133
  botocore.regions.EndpointRulesetResolver:
  - 456
  botocore.regions.EndpointRulesetResolver.__init__:
  - 469
  botocore.regions.EndpointRulesetResolver._does_botocore_authname_match_ruleset_authname:
  - 746
  - 771
  - 772
  - 773
  botocore.regions.EndpointRulesetResolver._get_client_context_params:
  - 625
  - 623
  botocore.regions.EndpointRulesetResolver._get_customized_builtins:
  - 632
  - 633
  - 635
  botocore.regions.EndpointRulesetResolver._get_dynamic_context_params:
  - 615
  botocore.regions.EndpointRulesetResolver._get_provider_params:
  - 546
  - 549
  - 550
  - 555
  - 556
  - 560
  - 535
  botocore.regions.EndpointRulesetResolver._get_static_context_params:
  - 607
  botocore.regions.EndpointRulesetResolver._resolve_param_as_builtin:
  - 601
  - 603
  botocore.regions.EndpointRulesetResolver._resolve_param_as_client_context_param:
  - 595
  - 596
  - 598
  botocore.regions.EndpointRulesetResolver._resolve_param_as_dynamic_context_param:
  - 592
  - 589
  - 590
  botocore.regions.EndpointRulesetResolver._resolve_param_as_static_context_param:
  - 584
  - 583
  botocore.regions.EndpointRulesetResolver._resolve_param_from_context:
  - 576
  - 578
  - 568
  - 571
  - 573
  botocore.regions.EndpointRulesetResolver._strip_sig_prefix:
  - 742
  - 743
  botocore.regions.EndpointRulesetResolver.auth_schemes_to_signing_ctx:
  - 645
  - 657
  - 660
  - 663
  - 667
  - 671
  - 674
  - 679
  - 682
  - 693
  - 704
  - 705
  - 710
  - 721
  - 723
  - 724
  - 726
  - 727
  - 728
  - 729
  - 733
  botocore.regions.EndpointRulesetResolver.construct_endpoint:
  - 513
  - 516
  - 517
  - 488
  - 489
  - 492
  - 524
  - 526
  - 495
  - 498
  - 502
  - 506
  - 509
  botocore.regions.EndpointRulesetResolver.ruleset_error_to_botocore_exception:
  - 778
  - 781
  - 782
  - 785
  - 789
  - 792
  - 795
  - 796
  - 800
  - 801
  - 802
  - 803
  - 804
  - 805
  - 806
  - 807
  - 809
  - 810
  - 811
  - 812
  - 813
  - 814
  - 815
  - 816
  - 819
  - 820
  - 821
  - 822
  - 823
  - 827
  - 828
  - 829
  botocore.register_initializer:
  - 104
  - 114
  botocore.response:
  - 35
  botocore.response.StreamingBody:
  - 39
  botocore.response.StreamingBody.__exit__:
  - 131
  botocore.response.StreamingBody.__iter__:
  - 117
  - 118
  botocore.response.StreamingBody.__next__:
  - 121
  - 122
  - 123
  botocore.response.StreamingBody._verify_content_length:
  - 164
  botocore.response.StreamingBody.close:
  - 176
  - 177
  botocore.response.StreamingBody.iter_chunks:
  - 155
  - 156
  - 158
  - 151
  botocore.response.StreamingBody.iter_lines:
  - 136
  - 142
  - 143
  - 144
  - 145
  - 147
  - 148
  botocore.response.StreamingBody.read:
  - 99
  - 105
  - 106
  - 110
  - 94
  botocore.response.StreamingBody.readable:
  - 89
  botocore.response.StreamingBody.readlines:
  - 114
  botocore.response.StreamingBody.set_socket_timeout:
  - 65
  - 77
  - 79
  botocore.response.StreamingBody.tell:
  - 173
  botocore.response.get_response:
  - 192
  - 193
  - 198
  - 199
  - 189
  - 191
  botocore.retries:
  - 1
  botocore.retries.adaptive:
  - 7
  botocore.retries.adaptive.ClientRateLimiter.__init__:
  - 56
  botocore.retries.adaptive.ClientRateLimiter.on_receiving_response:
  - 64
  - 65
  - 67
  - 68
  - 70
  - 73
  - 76
  - 79
  - 88
  botocore.retries.adaptive.ClientRateLimiter.on_sending_request:
  - 59
  - 60
  botocore.retries.adaptive.RateClocker:
  - 94
  botocore.retries.adaptive.RateClocker.__init__:
  - 112
  - 109
  botocore.retries.adaptive.RateClocker.record:
  - 122
  - 123
  - 116
  - 118
  botocore.retries.adaptive.register_retry_handler:
  - 11
  - 12
  - 13
  - 15
  - 16
  - 17
  - 18
  - 20
  - 27
  - 31
  botocore.retries.base.BaseRetryBackoff.delay_amount:
  - 3
  botocore.retries.base.BaseRetryableChecker:
  - 12
  botocore.retries.base.BaseRetryableChecker.is_retryable:
  - 22
  botocore.retries.bucket:
  - 1
  botocore.retries.bucket.Clock.current_time:
  - 16
  botocore.retries.bucket.Clock.sleep:
  - 13
  botocore.retries.bucket.TokenBucket.__init__:
  - 30
  - 31
  botocore.retries.bucket.TokenBucket._acquire:
  - 97
  - 98
  - 99
  - 81
  - 82
  - 86
  - 89
  botocore.retries.bucket.TokenBucket._refill:
  - 113
  - 107
  - 108
  botocore.retries.bucket.TokenBucket.acquire:
  - 68
  - 78
  botocore.retries.bucket.TokenBucket.max_rate:
  - 46
  - 47
  - 48
  - 54
  - 57
  botocore.retries.quota:
  - 1
  botocore.retries.quota.RetryQuota.__init__:
  - 14
  - 15
  botocore.retries.quota.RetryQuota.acquire:
  - 19
  - 29
  botocore.retries.quota.RetryQuota.release:
  - 49
  - 35
  - 46
  botocore.retries.special:
  - 1
  - 13
  botocore.retries.special.RetryDDBChecksumError.is_retryable:
  - 37
  - 39
  - 41
  - 42
  - 44
  - 45
  - 46
  botocore.retries.special.RetryIDPCommunicationError.is_retryable:
  - 24
  - 26
  botocore.retries.standard:
  - 1
  - 39
  botocore.retries.standard.ExponentialBackoff.delay_amount:
  - 275
  - 276
  - 262
  botocore.retries.standard.MaxAttemptsChecker.is_retryable:
  - 288
  - 289
  - 290
  - 292
  - 293
  - 294
  - 287
  botocore.retries.standard.ModeledRetryErrorDetector:
  - 387
  botocore.retries.standard.ModeledRetryErrorDetector.detect_error_type:
  - 417
  - 418
  - 397
  - 406
  - 408
  - 410
  - 411
  - 415
  botocore.retries.standard.ModeledRetryableChecker:
  - 374
  botocore.retries.standard.ModeledRetryableChecker.__init__:
  - 377
  botocore.retries.standard.ModeledRetryableChecker.is_retryable:
  - 380
  - 381
  - 383
  botocore.retries.standard.OrRetryChecker.is_retryable:
  - 476
  botocore.retries.standard.RetryContext:
  - 157
  botocore.retries.standard.RetryContext.__init__:
  - 204
  botocore.retries.standard.RetryContext.add_retry_metadata:
  - 225
  - 233
  botocore.retries.standard.RetryContext.get_error_code:
  - 212
  - 217
  - 219
  - 220
  - 222
  botocore.retries.standard.RetryContext.get_retry_metadata:
  - 236
  botocore.retries.standard.RetryEventAdapter:
  - 106
  botocore.retries.standard.RetryEventAdapter.adapt_retry_response_from_context:
  - 146
  - 147
  - 148
  - 142
  botocore.retries.standard.RetryEventAdapter.create_retry_context:
  - 131
  - 117
  - 119
  botocore.retries.standard.RetryHandler:
  - 70
  botocore.retries.standard.RetryHandler.needs_retry:
  - 100
  - 101
  - 82
  - 84
  - 85
  - 88
  - 89
  - 90
  - 95
  botocore.retries.standard.RetryPolicy.compute_retry_delay:
  - 248
  botocore.retries.standard.RetryPolicy.should_retry:
  - 245
  botocore.retries.standard.RetryQuotaChecker._is_timeout_error:
  - 512
  botocore.retries.standard.RetryQuotaChecker.acquire_retry_quota:
  - 497
  - 508
  - 501
  - 502
  botocore.retries.standard.RetryQuotaChecker.release_retry_quota:
  - 524
  - 527
  - 528
  - 529
  - 532
  botocore.retries.standard.StandardRetryConditions:
  - 439
  botocore.retries.standard.StandardRetryConditions.__init__:
  - 450
  - 451
  - 453
  - 454
  - 455
  - 456
  - 458
  - 459
  botocore.retries.standard.StandardRetryConditions.is_retryable:
  - 466
  - 468
  botocore.retries.standard.ThrottledRetryableChecker.__init__:
  - 363
  botocore.retries.standard.ThrottledRetryableChecker.is_retryable:
  - 370
  botocore.retries.standard.ThrottlingErrorDetector.__init__:
  - 425
  - 426
  botocore.retries.standard.ThrottlingErrorDetector.is_throttling_error:
  - 432
  - 434
  - 431
  botocore.retries.standard.TransientRetryableChecker.__init__:
  - 320
  - 316
  - 318
  botocore.retries.standard.TransientRetryableChecker.is_retryable:
  - 327
  - 329
  - 330
  - 335
  - 336
  botocore.retries.standard.register_retry_handler:
  - 43
  - 46
  - 47
  - 51
  - 52
  - 53
  - 54
  - 56
  - 61
  botocore.retries.throttling:
  - 3
  botocore.retries.throttling.CubicCalculator.__init__:
  - 20
  botocore.retries.throttling.CubicCalculator.error_received:
  - 39
  botocore.retries.throttling.CubicCalculator.get_params_snapshot:
  - 44
  - 53
  botocore.retryhandler:
  - 28
  botocore.retryhandler.BaseChecker:
  - 215
  botocore.retryhandler.BaseChecker.__call__:
  - 244
  - 245
  - 246
  - 247
  - 223
  botocore.retryhandler.CRC32Checker._check_response:
  - 386
  - 387
  - 388
  - 391
  - 378
  - 379
  - 380
  botocore.retryhandler.ExceptionRaiser:
  - 402
  botocore.retryhandler.HTTPStatusCodeChecker._check_response:
  - 328
  - 329
  botocore.retryhandler.MaxAttemptsDecorator:
  - 261
  botocore.retryhandler.MaxAttemptsDecorator.__call__:
  - 288
  - 290
  - 294
  - 279
  - 280
  - 281
  - 284
  - 287
  botocore.retryhandler.MaxAttemptsDecorator._should_retry:
  - 320
  - 305
  - 307
  - 311
  botocore.retryhandler.MultiChecker.__call__:
  - 362
  - 363
  - 366
  botocore.retryhandler.RetryHandler:
  - 174
  botocore.retryhandler.RetryHandler.__call__:
  - 192
  - 203
  - 204
  - 205
  - 207
  - 208
  - 209
  - 211
  botocore.retryhandler.ServiceErrorCodeChecker._check_response:
  - 344
  - 345
  - 346
  - 347
  botocore.retryhandler._create_single_checker:
  - 136
  - 137
  - 140
  - 141
  botocore.retryhandler._create_single_response_checker:
  - 145
  - 146
  - 150
  - 151
  - 154
  - 155
  botocore.retryhandler._extract_retryable_exception:
  - 168
  - 169
  - 164
  - 166
  botocore.retryhandler.create_checker_from_retry_config:
  - 128
  - 131
  - 105
  - 106
  - 108
  - 110
  - 111
  - 112
  - 113
  - 114
  - 116
  - 117
  - 118
  - 121
  - 122
  - 123
  - 125
  - 127
  botocore.retryhandler.create_exponential_delay_function:
  - 73
  - 67
  botocore.retryhandler.create_retry_action_from_config:
  - 94
  - 95
  botocore.retryhandler.create_retry_handler:
  - 82
  - 85
  - 79
  botocore.retryhandler.delay_exponential:
  - 56
  - 57
  - 58
  - 44
  botocore.serialize:
  - 13
  botocore.serialize.BaseRestSerializer:
  - 420
  botocore.serialize.BaseRestSerializer._convert_header_value:
  - 641
  - 642
  - 644
  - 648
  - 649
  - 652
  - 635
  - 636
  - 637
  - 638
  botocore.serialize.BaseRestSerializer._do_serialize_header_map:
  - 627
  botocore.serialize.BaseRestSerializer._encode_payload:
  - 573
  - 574
  botocore.serialize.BaseRestSerializer._has_streaming_payload:
  - 566
  botocore.serialize.BaseRestSerializer._partition_parameters:
  - 610
  - 611
  - 612
  - 585
  - 586
  - 587
  - 620
  - 589
  - 590
  - 591
  - 592
  - 593
  - 595
  - 596
  - 599
  - 605
  - 607
  botocore.serialize.BaseRestSerializer._render_uri_template:
  - 513
  - 504
  - 505
  - 506
  - 510
  botocore.serialize.BaseRestSerializer._requires_empty_body:
  - 559
  botocore.serialize.BaseRestSerializer._serialize_content_type:
  - 551
  botocore.serialize.BaseRestSerializer._serialize_payload:
  - 544
  - 545
  - 523
  - 524
  - 527
  - 528
  - 530
  - 533
  - 534
  - 535
  - 539
  - 540
  - 541
  botocore.serialize.BaseRestSerializer.serialize_to_request:
  - 483
  - 485
  - 488
  - 458
  - 459
  - 460
  - 461
  - 490
  - 463
  - 464
  - 491
  - 467
  - 438
  - 439
  - 470
  - 475
  - 474
  - 443
  botocore.serialize.EC2Serializer:
  - 301
  botocore.serialize.EC2Serializer._get_serialized_name:
  - 313
  - 315
  - 319
  botocore.serialize.EC2Serializer._serialize_type_list:
  - 324
  - 327
  botocore.serialize.JSONSerializer._serialize:
  - 360
  - 365
  botocore.serialize.JSONSerializer._serialize_type_blob:
  - 416
  botocore.serialize.JSONSerializer._serialize_type_list:
  - 404
  - 405
  - 398
  botocore.serialize.JSONSerializer._serialize_type_map:
  - 392
  - 393
  - 390
  botocore.serialize.JSONSerializer._serialize_type_structure:
  - 385
  - 368
  - 371
  - 377
  - 381
  - 383
  botocore.serialize.JSONSerializer._serialize_type_timestamp:
  - 411
  - 412
  botocore.serialize.JSONSerializer.serialize_to_request:
  - 353
  - 354
  - 334
  - 339
  - 340
  - 347
  - 349
  - 350
  - 351
  botocore.serialize.QuerySerializer._is_shape_flattened:
  - 297
  botocore.serialize.QuerySerializer._serialize:
  - 232
  - 227
  botocore.serialize.QuerySerializer._serialize_type_blob:
  - 280
  botocore.serialize.QuerySerializer._serialize_type_boolean:
  - 288
  botocore.serialize.QuerySerializer._serialize_type_list:
  - 257
  - 260
  - 244
  - 248
  - 250
  - 251
  - 253
  - 255
  botocore.serialize.QuerySerializer._serialize_type_map:
  - 263
  - 270
  - 271
  - 272
  - 273
  - 274
  - 275
  - 276
  botocore.serialize.QuerySerializer._serialize_type_structure:
  - 241
  - 236
  - 238
  - 239
  botocore.serialize.QuerySerializer._serialize_type_timestamp:
  - 283
  - 284
  botocore.serialize.QuerySerializer.serialize_to_request:
  - 197
  - 198
  - 206
  - 209
  - 210
  - 213
  - 214
  botocore.serialize.RestJSONSerializer._requires_empty_body:
  - 666
  - 667
  - 662
  botocore.serialize.RestJSONSerializer._serialize_body_params:
  - 684
  - 685
  - 686
  botocore.serialize.RestJSONSerializer._serialize_content_type:
  - 672
  - 673
  - 674
  - 679
  - 680
  botocore.serialize.RestXMLSerializer._default_serialize:
  - 786
  - 787
  botocore.serialize.RestXMLSerializer._serialize:
  - 705
  - 700
  botocore.serialize.RestXMLSerializer._serialize_body_params:
  - 696
  - 697
  - 694
  - 695
  botocore.serialize.RestXMLSerializer._serialize_type_blob:
  - 776
  - 777
  botocore.serialize.RestXMLSerializer._serialize_type_boolean:
  - 768
  - 769
  botocore.serialize.RestXMLSerializer._serialize_type_list:
  - 739
  - 740
  - 741
  - 742
  - 735
  botocore.serialize.RestXMLSerializer._serialize_type_map:
  - 753
  - 755
  - 756
  - 757
  - 758
  - 761
  - 762
  botocore.serialize.RestXMLSerializer._serialize_type_structure:
  - 708
  - 710
  - 713
  - 716
  - 718
  - 723
  - 726
  - 731
  botocore.serialize.RestXMLSerializer._serialize_type_timestamp:
  - 780
  - 781
  - 782
  botocore.serialize.Serializer._convert_timestamp_to_str:
  - 150
  - 152
  - 153
  - 154
  - 155
  botocore.serialize.Serializer._expand_host_prefix:
  - 184
  - 188
  - 173
  - 183
  botocore.serialize.Serializer._get_base64:
  - 168
  - 169
  - 167
  botocore.serialize.Serializer._get_serialized_name:
  - 161
  botocore.serialize.Serializer._timestamp_iso8601:
  - 139
  - 135
  botocore.serialize.Serializer._timestamp_rfc822:
  - 145
  - 146
  - 147
  botocore.serialize.Serializer._timestamp_unixtimestamp:
  - 142
  botocore.serialize.Serializer.serialize_to_request:
  - 82
  botocore.serialize.create_serializer:
  - 65
  - 66
  - 67
  - 68
  botocore.session:
  - 73
  - 14
  botocore.session.ComponentLocator:
  - 1099
  botocore.session.ComponentLocator.get_component:
  - 1106
  - 1108
  botocore.session.Session:
  - 77
  - 87
  botocore.session.Session.__init__:
  - 128
  - 129
  - 99
  - 144
  - 148
  - 149
  - 150
  - 151
  - 152
  - 153
  - 154
  - 123
  - 124
  - 127
  botocore.session.Session._build_profile_map:
  - 301
  botocore.session.Session._create_credential_resolver:
  - 186
  botocore.session.Session._create_csm_monitor:
  - 267
  - 268
  - 269
  - 270
  - 271
  - 272
  - 273
  - 274
  - 277
  botocore.session.Session._create_token_resolver:
  - 178
  botocore.session.Session._get_config_variable_with_custom_methods:
  - 328
  - 329
  - 330
  - 336
  - 338
  - 340
  - 342
  - 345
  - 346
  botocore.session.Session._get_internal_component:
  - 812
  botocore.session.Session._missing_cred_vars:
  - 1034
  - 1036
  botocore.session.Session._register_builtin_handlers:
  - 242
  - 243
  - 245
  - 248
  - 249
  - 250
  - 251
  botocore.session.Session._register_components:
  - 160
  - 161
  - 162
  - 163
  - 164
  - 165
  - 166
  - 167
  - 157
  - 158
  - 159
  botocore.session.Session._register_config_store:
  - 257
  - 254
  - 255
  botocore.session.Session._register_credential_provider:
  - 181
  botocore.session.Session._register_data_loader:
  - 193
  - 191
  botocore.session.Session._register_data_loader.<lambda1>:
  - 193
  botocore.session.Session._register_default_config_resolver:
  - 213
  botocore.session.Session._register_default_config_resolver.create_default_config_resolver:
  - 209
  - 210
  - 211
  botocore.session.Session._register_endpoint_resolver:
  - 203
  botocore.session.Session._register_endpoint_resolver.create_default_resolver:
  - 200
  - 201
  - 198
  - 199
  botocore.session.Session._register_event_emitter:
  - 170
  botocore.session.Session._register_exceptions_factory:
  - 237
  - 238
  botocore.session.Session._register_internal_component:
  - 818
  botocore.session.Session._register_monitor:
  - 262
  botocore.session.Session._register_response_parser_factory:
  - 232
  - 233
  botocore.session.Session._register_smart_defaults_factory:
  - 227
  botocore.session.Session._register_smart_defaults_factory.create_smart_defaults_factory:
  - 219
  - 222
  - 223
  botocore.session.Session._register_token_provider:
  - 173
  botocore.session.Session._resolve_defaults_mode:
  - 1024
  - 1025
  - 1026
  - 1016
  - 1018
  - 1021
  botocore.session.Session._resolve_region_name:
  - 1000
  - 1002
  - 996
  - 997
  botocore.session.Session.available_profiles:
  - 295
  botocore.session.Session.create_client:
  - 908
  - 911
  - 912
  - 915
  - 918
  - 922
  - 923
  - 925
  - 926
  - 930
  - 931
  - 932
  - 933
  - 935
  - 938
  - 943
  - 951
  - 952
  - 953
  - 954
  - 955
  - 956
  - 957
  - 958
  - 961
  - 962
  - 965
  - 839
  - 968
  - 976
  - 983
  - 988
  - 989
  - 990
  botocore.session.Session.emit:
  - 788
  botocore.session.Session.emit_first_non_none_response:
  - 792
  - 791
  botocore.session.Session.full_config:
  - 448
  - 451
  - 422
  - 430
  - 432
  - 433
  - 442
  - 443
  - 446
  botocore.session.Session.get_auth_token:
  - 520
  - 513
  - 522
  - 521
  botocore.session.Session.get_available_partitions:
  - 1041
  - 1046
  - 1047
  botocore.session.Session.get_available_regions:
  - 1090
  - 1065
  - 1083
  - 1086
  - 1087
  botocore.session.Session.get_available_services:
  - 620
  - 623
  botocore.session.Session.get_component:
  - 796
  - 805
  - 798
  - 799
  botocore.session.Session.get_config_variable:
  - 313
  - 314
  - 317
  botocore.session.Session.get_credentials:
  - 498
  - 506
  - 507
  botocore.session.Session.get_data:
  - 569
  - 563
  botocore.session.Session.get_default_client_config:
  - 457
  botocore.session.Session.get_paginator_model:
  - 600
  - 596
  - 597
  botocore.session.Session.get_partition_for_region:
  - 1050
  - 1059
  - 1060
  botocore.session.Session.get_scoped_config:
  - 384
  - 405
  - 406
  - 410
  - 411
  - 412
  botocore.session.Session.get_service_data:
  - 611
  - 610
  - 603
  - 607
  botocore.session.Session.get_service_model:
  - 585
  - 586
  - 572
  botocore.session.Session.get_waiter_model:
  - 593
  - 589
  - 590
  botocore.session.Session.instance_variables:
  - 381
  botocore.session.Session.lazy_register_component:
  - 824
  botocore.session.Session.profile:
  - 307
  - 308
  botocore.session.Session.register:
  - 706
  - 738
  botocore.session.Session.register_component:
  - 821
  botocore.session.Session.set_config_variable:
  - 373
  - 350
  botocore.session.Session.set_credentials:
  - 493
  - 477
  botocore.session.Session.set_debug_logger:
  - 632
  - 628
  botocore.session.Session.set_default_client_config:
  - 467
  botocore.session.Session.set_file_logger:
  - 676
  - 687
  - 688
  - 691
  - 692
  - 695
  - 698
  - 701
  botocore.session.Session.set_stream_logger:
  - 673
  - 658
  - 659
  - 661
  - 662
  - 665
  - 667
  - 637
  - 670
  botocore.session.Session.unregister:
  - 752
  - 780
  botocore.session.Session.user_agent:
  - 550
  - 551
  - 553
  - 554
  - 555
  - 556
  - 557
  - 526
  botocore.session.SessionVarDict.__init__:
  - 1136
  botocore.session.SessionVarDict.__iter__:
  - 1149
  botocore.session.SessionVarDict.__len__:
  - 1152
  botocore.session.SessionVarDict.__setitem__:
  - 1143
  botocore.session.SessionVarDict._update_config_store_from_session_vars:
  - 1169
  - 1164
  - 1166
  - 1167
  botocore.session.SubsetChainConfigFactory:
  - 1180
  botocore.session.SubsetChainConfigFactory.__init__:
  - 1190
  botocore.session.SubsetChainConfigFactory.create_config_chain:
  - 1216
  - 1201
  - 1210
  - 1212
  - 1214
  botocore.session.get_session:
  - 1226
  - 1229
  botocore.signers.CloudFrontSigner:
  - 341
  botocore.signers.CloudFrontSigner.__init__:
  - 365
  botocore.signers.CloudFrontSigner._build_url:
  - 419
  botocore.signers.CloudFrontSigner._url_b64encode:
  - 467
  botocore.signers.CloudFrontSigner.build_policy:
  - 450
  - 451
  - 452
  - 453
  - 424
  - 456
  - 457
  - 460
  - 461
  botocore.signers.CloudFrontSigner.generate_presigned_url:
  - 396
  - 399
  - 401
  - 402
  - 403
  - 404
  - 405
  - 407
  - 408
  - 409
  - 380
  - 415
  botocore.signers.RequestSigner:
  - 34
  botocore.signers.RequestSigner.__init__:
  - 86
  botocore.signers.RequestSigner._choose_signer:
  - 192
  - 229
  - 233
  - 235
  - 205
  - 209
  - 210
  - 211
  - 212
  - 213
  - 215
  - 219
  - 220
  - 221
  botocore.signers.RequestSigner.generate_presigned_url:
  - 336
  - 305
  - 326
  - 327
  botocore.signers.RequestSigner.get_auth_instance:
  - 291
  - 262
  - 265
  - 266
  - 271
  - 273
  - 274
  - 275
  - 244
  - 283
  - 284
  - 286
  - 287
  botocore.signers.RequestSigner.handler:
  - 105
  botocore.signers.RequestSigner.sign:
  - 166
  - 172
  - 174
  - 143
  - 175
  - 177
  - 146
  - 116
  - 149
  - 180
  - 182
  - 154
  - 155
  - 156
  - 189
  botocore.signers.S3PostPresigner.generate_presigned_post:
  - 544
  - 583
  - 586
  - 593
  - 594
  - 595
  - 599
  - 600
  - 603
  - 607
  botocore.signers._should_use_global_endpoint:
  - 821
  - 824
  - 825
  - 827
  - 828
  botocore.signers.generate_db_auth_token:
  - 521
  - 522
  - 497
  - 529
  - 479
  botocore.signers.generate_presigned_post:
  - 768
  - 800
  - 804
  - 773
  - 805
  - 807
  - 776
  - 780
  - 812
  - 782
  - 783
  - 790
  - 695
  - 763
  - 766
  botocore.signers.generate_presigned_url:
  - 642
  - 677
  - 648
  - 681
  - 621
  - 658
  - 659
  - 660
  - 667
  botocore.stub:
  - 43
  botocore.stub.Stubber:
  - 47
  botocore.stub.Stubber.__enter__:
  - 178
  botocore.stub.Stubber.__exit__:
  - 182
  botocore.stub.Stubber.__init__:
  - 169
  - 175
  botocore.stub.Stubber._add_response:
  - 258
  - 240
  - 247
  - 249
  - 250
  botocore.stub.Stubber._assert_expected_call_order:
  - 362
  - 351
  botocore.stub.Stubber._assert_expected_params:
  - 391
  - 374
  - 376
  - 378
  - 382
  - 383
  botocore.stub.Stubber._get_response_handler:
  - 369
  - 371
  botocore.stub.Stubber._should_not_stub:
  - 402
  botocore.stub.Stubber._validate_operation_response:
  - 417
  - 413
  - 414
  - 407
  botocore.stub.Stubber._validate_response:
  - 420
  - 421
  - 422
  botocore.stub.Stubber.activate:
  - 185
  - 188
  - 193
  botocore.stub.Stubber.add_client_error:
  - 320
  - 321
  - 323
  - 324
  - 326
  - 328
  - 329
  - 330
  - 332
  - 271
  - 340
  - 310
  botocore.stub.Stubber.add_response:
  - 237
  - 215
  botocore.stub.Stubber.assert_no_pending_responses:
  - 346
  - 347
  - 343
  botocore.stub.Stubber.deactivate:
  - 200
  - 203
  - 208
  botocore.stub._ANY:
  - 28
  botocore.tokens:
  - 33
  botocore.tokens.DeferredRefreshableToken.__init__:
  - 77
  botocore.tokens.DeferredRefreshableToken._is_expired:
  - 128
  - 132
  botocore.tokens.DeferredRefreshableToken._protected_refresh:
  - 102
  - 103
  - 107
  - 108
  - 109
  - 111
  - 116
  - 120
  botocore.tokens.DeferredRefreshableToken._refresh:
  - 97
  - 87
  - 88
  - 93
  - 95
  botocore.tokens.DeferredRefreshableToken._should_refresh:
  - 136
  - 141
  - 145
  - 146
  - 149
  - 151
  - 153
  botocore.tokens.DeferredRefreshableToken.get_frozen_token:
  - 82
  botocore.tokens.SSOTokenProvider:
  - 176
  - 177
  botocore.tokens.SSOTokenProvider.__init__:
  - 200
  - 197
  - 190
  - 191
  botocore.tokens.SSOTokenProvider._attempt_create_token:
  - 256
  - 262
  - 267
  - 273
  - 275
  botocore.tokens.SSOTokenProvider._client:
  - 249
  - 253
  botocore.tokens.SSOTokenProvider._load_sso_config:
  - 225
  - 226
  - 227
  - 229
  - 206
  - 207
  - 208
  - 210
  - 214
  - 216
  botocore.tokens.SSOTokenProvider._refresh_access_token:
  - 288
  - 291
  - 292
  - 293
  - 297
  - 299
  - 286
  botocore.tokens.SSOTokenProvider._refresher:
  - 320
  - 305
  - 306
  - 307
  - 308
  - 310
  - 311
  - 312
  - 313
  - 316
  botocore.tokens.SSOTokenProvider._sso_config:
  - 245
  botocore.tokens.SSOTokenProvider.load_token:
  - 328
  - 325
  botocore.tokens.TokenProviderChain.__init__:
  - 161
  botocore.tokens.TokenProviderChain.load_token:
  - 168
  - 166
  - 167
  botocore.tokens._serialize_utc_timestamp:
  - 48
  - 49
  botocore.tokens._sso_json_dumps:
  - 54
  botocore.tokens._utc_now:
  - 37
  botocore.tokens.create_token_resolver:
  - 42
  - 44
  botocore.translate._merge_client_retry_config:
  - 43
  - 44
  botocore.translate.build_retry_config:
  - 34
  - 36
  - 37
  - 38
  - 22
  - 23
  botocore.translate.resolve_references:
  - 72
  - 73
  - 74
  - 76
  - 78
  - 62
  botocore.unregister_initializer:
  - 128
  - 118
  botocore.utils:
  - 89
  - 98
  - 187
  botocore.utils.ArgumentGenerator:
  - 1119
  botocore.utils.ArgumentGenerator._generate_skeleton:
  - 1185
  - 1162
  - 1164
  - 1165
  - 1166
  - 1167
  - 1168
  - 1169
  - 1170
  - 1171
  - 1173
  - 1174
  - 1176
  - 1178
  - 1180
  - 1182
  - 1183
  botocore.utils.ArgumentGenerator._generate_type_list:
  - 1201
  - 1204
  botocore.utils.ArgumentGenerator._generate_type_map:
  - 1211
  - 1213
  botocore.utils.ArgumentGenerator._generate_type_structure:
  - 1192
  - 1188
  - 1190
  - 1191
  botocore.utils.ArgumentGenerator.generate_skeleton:
  - 1149
  - 1159
  botocore.utils.ArnParser.is_arn:
  - 1906
  - 1908
  - 1910
  botocore.utils.ArnParser.parse_arn:
  - 1890
  - 1891
  botocore.utils.CachedProperty:
  - 1099
  botocore.utils.CachedProperty.__get__:
  - 1113
  - 1110
  botocore.utils.ContainerMetadataFetcher.__init__:
  - 2845
  - 2846
  botocore.utils.ContainerMetadataFetcher._check_if_whitelisted_host:
  - 2875
  botocore.utils.ContainerMetadataFetcher._get_response:
  - 2916
  - 2917
  - 2918
  - 2919
  - 2927
  - 2932
  botocore.utils.ContainerMetadataFetcher._retrieve_credentials:
  - 2893
  - 2894
  - 2898
  - 2902
  - 2908
  - 2910
  botocore.utils.ContainerMetadataFetcher._validate_allowed_url:
  - 2865
  - 2866
  - 2867
  botocore.utils.ContainerMetadataFetcher.retrieve_full_uri:
  - 2861
  - 2853
  - 2862
  botocore.utils.ContainerMetadataFetcher.retrieve_uri:
  - 2880
  - 2889
  - 2888
  botocore.utils.EventbridgeSignerSetter._get_global_endpoint:
  - 3186
  - 3180
  - 3181
  - 3183
  botocore.utils.EventbridgeSignerSetter.check_for_global_endpoint:
  - 3168
  - 3138
  - 3143
  - 3150
  - 3152
  - 3153
  - 3158
  - 3161
  - 3163
  - 3164
  - 3134
  - 3135
  botocore.utils.EventbridgeSignerSetter.register:
  - 3123
  - 3119
  botocore.utils.EventbridgeSignerSetter.set_endpoint_url:
  - 3128
  - 3130
  botocore.utils.FileWebIdentityTokenLoader.__call__:
  - 3072
  - 3073
  botocore.utils.IMDSFetcher.__init__:
  - 390
  - 392
  - 395
  - 396
  - 397
  - 400
  - 402
  botocore.utils.IMDSFetcher._add_user_agent:
  - 524
  botocore.utils.IMDSFetcher._assert_enabled:
  - 528
  - 529
  botocore.utils.IMDSFetcher._construct_url:
  - 441
  botocore.utils.IMDSFetcher._default_retry:
  - 533
  botocore.utils.IMDSFetcher._fetch_metadata_token:
  - 451
  - 452
  - 455
  - 457
  - 458
  - 460
  - 462
  - 467
  - 475
  - 446
  - 447
  botocore.utils.IMDSFetcher._get_request:
  - 482
  - 514
  - 497
  - 498
  - 500
  - 502
  - 504
  - 505
  - 507
  - 510
  - 511
  botocore.utils.IMDSFetcher._is_empty:
  - 542
  - 543
  botocore.utils.IMDSFetcher._is_non_ok_response:
  - 536
  - 537
  botocore.utils.IMDSFetcher._log_imds_response:
  - 553
  - 555
  - 556
  botocore.utils.IMDSFetcher._select_base_url:
  - 417
  - 418
  - 424
  - 426
  - 428
  - 433
  - 434
  - 409
  - 413
  - 415
  botocore.utils.IMDSRegionProvider.__init__:
  - 689
  - 705
  botocore.utils.IMDSRegionProvider._create_fetcher:
  - 736
  - 740
  - 744
  - 726
  - 729
  - 733
  botocore.utils.IMDSRegionProvider._get_fetcher:
  - 721
  - 722
  botocore.utils.IMDSRegionProvider._get_instance_metadata_region:
  - 716
  - 717
  botocore.utils.IMDSRegionProvider.provide:
  - 712
  - 711
  botocore.utils.InstanceMetadataFetcher._contains_all_credential_fields:
  - 643
  - 644
  - 645
  botocore.utils.InstanceMetadataFetcher._evaluate_expiration:
  - 672
  - 675
  - 682
  - 653
  - 654
  - 657
  - 660
  - 663
  - 665
  - 666
  - 670
  botocore.utils.InstanceMetadataFetcher._get_credentials:
  - 617
  - 622
  botocore.utils.InstanceMetadataFetcher._get_iam_role:
  - 610
  botocore.utils.InstanceMetadataFetcher._is_invalid_json:
  - 626
  - 629
  botocore.utils.InstanceMetadataFetcher._needs_retry_for_credentials:
  - 637
  - 638
  - 639
  botocore.utils.InstanceMetadataFetcher._needs_retry_for_role_name:
  - 633
  botocore.utils.InstanceMetadataFetcher.retrieve_iam_role_credentials:
  - 581
  - 592
  - 593
  - 600
  - 570
  - 571
  - 572
  - 573
  - 606
  botocore.utils.InstanceMetadataRegionFetcher._get_region:
  - 777
  - 778
  botocore.utils.InstanceMetadataRegionFetcher.retrieve_region:
  - 769
  - 754
  - 766
  botocore.utils.JSONFileCache:
  - 3233
  - 3226
  botocore.utils.JSONFileCache.__contains__:
  - 3245
  - 3246
  botocore.utils.JSONFileCache.__delitem__:
  - 3258
  - 3260
  - 3261
  botocore.utils.JSONFileCache.__getitem__:
  - 3249
  - 3250
  - 3252
  - 3253
  botocore.utils.JSONFileCache.__init__:
  - 3237
  botocore.utils.JSONFileCache.__setitem__:
  - 3266
  - 3268
  - 3274
  - 3275
  - 3276
  - 3277
  - 3279
  - 3280
  botocore.utils.JSONFileCache._convert_cache_key:
  - 3283
  botocore.utils.JSONFileCache._default_dumps:
  - 3242
  botocore.utils.JSONFileCache._serialize_if_needed:
  - 3288
  - 3289
  - 3290
  - 3287
  botocore.utils.S3ArnParamHandler:
  - 1920
  - 1917
  botocore.utils.S3ArnParamHandler.__init__:
  - 1928
  - 1929
  botocore.utils.S3ArnParamHandler._add_resource_type_and_name:
  - 1960
  - 1957
  - 1958
  - 1959
  botocore.utils.S3ArnParamHandler._get_arn_details_from_bucket_param:
  - 1946
  - 1949
  - 1950
  botocore.utils.S3ArnParamHandler._store_outpost:
  - 1984
  - 1992
  - 1989
  - 1983
  botocore.utils.S3ArnParamHandler.handle_arn:
  - 1935
  - 1937
  - 1938
  - 1940
  - 1941
  - 1942
  - 1943
  botocore.utils.S3ArnParamHandler.register:
  - 1932
  botocore.utils.S3ControlArnParamHandler:
  - 2627
  - 2631
  botocore.utils.S3ControlArnParamHandler.__init__:
  - 2635
  - 2636
  - 2637
  botocore.utils.S3ControlArnParamHandler._get_arn_details_from_param:
  - 2665
  - 2667
  - 2661
  botocore.utils.S3ControlArnParamHandler._handle_bucket_param:
  - 2728
  - 2730
  - 2731
  - 2727
  botocore.utils.S3ControlArnParamHandler._handle_name_param:
  - 2695
  - 2697
  - 2698
  - 2700
  - 2701
  botocore.utils.S3ControlArnParamHandler._handle_outpost_id_param:
  - 2689
  botocore.utils.S3ControlArnParamHandler._is_outpost_accesspoint:
  - 2713
  - 2710
  botocore.utils.S3ControlArnParamHandler._is_outpost_bucket:
  - 2745
  - 2742
  botocore.utils.S3ControlArnParamHandler._override_account_id_param:
  - 2677
  botocore.utils.S3ControlArnParamHandler._split_resource:
  - 2673
  botocore.utils.S3ControlArnParamHandler._store_outpost_accesspoint:
  - 2719
  botocore.utils.S3ControlArnParamHandler._store_outpost_bucket:
  - 2751
  botocore.utils.S3ControlArnParamHandler.handle_arn:
  - 2657
  - 2658
  - 2651
  - 2655
  botocore.utils.S3ControlArnParamHandler.register:
  - 2645
  botocore.utils.S3ControlArnParamHandlerv2:
  - 2760
  botocore.utils.S3ControlArnParamHandlerv2.__init__:
  - 2769
  - 2770
  botocore.utils.S3ControlArnParamHandlerv2._handle_bucket_param:
  - 2800
  - 2801
  - 2803
  - 2804
  - 2805
  - 2806
  botocore.utils.S3ControlArnParamHandlerv2._handle_name_param:
  - 2785
  - 2786
  - 2787
  - 2788
  - 2780
  - 2782
  - 2783
  botocore.utils.S3ControlArnParamHandlerv2._raise_for_accelerate_endpoint:
  - 2830
  botocore.utils.S3ControlArnParamHandlerv2._raise_for_fips_pseudo_region:
  - 2822
  botocore.utils.S3ControlArnParamHandlerv2._store_outpost_accesspoint:
  - 2797
  botocore.utils.S3ControlArnParamHandlerv2._store_outpost_bucket:
  - 2817
  botocore.utils.S3ControlArnParamHandlerv2.register:
  - 2773
  botocore.utils.S3ControlEndpointSetter:
  - 2414
  botocore.utils.S3ControlEndpointSetter.__init__:
  - 2433
  - 2429
  botocore.utils.S3ControlEndpointSetter._add_dualstack:
  - 2586
  - 2587
  botocore.utils.S3ControlEndpointSetter._add_fips:
  - 2582
  botocore.utils.S3ControlEndpointSetter._add_headers_from_arn_details:
  - 2618
  - 2619
  - 2620
  botocore.utils.S3ControlEndpointSetter._construct_netloc:
  - 2579
  botocore.utils.S3ControlEndpointSetter._construct_outpost_endpoint:
  - 2566
  - 2567
  - 2568
  - 2573
  - 2575
  - 2576
  botocore.utils.S3ControlEndpointSetter._construct_s3_control_endpoint:
  - 2560
  - 2561
  - 2562
  - 2563
  - 2551
  - 2552
  - 2553
  botocore.utils.S3ControlEndpointSetter._get_dns_suffix:
  - 2594
  - 2590
  botocore.utils.S3ControlEndpointSetter._is_valid_host_label:
  - 2543
  botocore.utils.S3ControlEndpointSetter._override_signing_name:
  - 2608
  botocore.utils.S3ControlEndpointSetter._override_signing_region:
  - 2599
  botocore.utils.S3ControlEndpointSetter._resolve_endpoint_from_arn_details:
  - 2514
  - 2517
  botocore.utils.S3ControlEndpointSetter._resolve_netloc_from_arn_details:
  - 2537
  - 2538
  - 2540
  botocore.utils.S3ControlEndpointSetter._resolve_region_from_arn_details:
  - 2504
  - 2500
  botocore.utils.S3ControlEndpointSetter._resolve_signing_name_from_arn_details:
  - 2510
  botocore.utils.S3ControlEndpointSetter._update_request_netloc:
  - 2520
  - 2521
  - 2530
  botocore.utils.S3ControlEndpointSetter._validate_endpoint_from_arn_details_supported:
  - 2464
  - 2466
  - 2474
  - 2483
  - 2487
  - 2488
  - 2459
  botocore.utils.S3ControlEndpointSetter._validate_host_labels:
  - 2546
  - 2547
  botocore.utils.S3ControlEndpointSetter._validate_outpost_redirection_valid:
  - 2491
  botocore.utils.S3ControlEndpointSetter.register:
  - 2437
  botocore.utils.S3ControlEndpointSetter.set_endpoint:
  - 2440
  - 2441
  - 2442
  - 2443
  - 2444
  - 2445
  - 2446
  - 2447
  - 2448
  - 2449
  - 2450
  botocore.utils.S3EndpointSetter.__init__:
  - 2019
  - 2023
  botocore.utils.S3EndpointSetter._addressing_style:
  - 2378
  - 2382
  - 2383
  botocore.utils.S3EndpointSetter._get_accesspoint_netloc:
  - 2272
  - 2273
  - 2274
  - 2277
  - 2279
  - 2282
  - 2283
  - 2284
  - 2285
  - 2288
  - 2261
  - 2263
  - 2264
  - 2265
  - 2266
  - 2267
  - 2268
  - 2270
  botocore.utils.S3EndpointSetter._get_accesspoint_path:
  - 2302
  botocore.utils.S3EndpointSetter._get_dns_suffix:
  - 2313
  - 2317
  botocore.utils.S3EndpointSetter._get_mrap_netloc:
  - 2244
  - 2245
  - 2246
  - 2249
  - 2256
  botocore.utils.S3EndpointSetter._get_netloc:
  - 2235
  - 2236
  - 2238
  botocore.utils.S3EndpointSetter._get_partition_dns_suffix:
  - 2305
  - 2308
  botocore.utils.S3EndpointSetter._inject_fips_if_needed:
  - 2291
  botocore.utils.S3EndpointSetter._override_signing_name:
  - 2331
  botocore.utils.S3EndpointSetter._override_signing_region:
  - 2322
  botocore.utils.S3EndpointSetter._resolve_region_for_accesspoint_endpoint:
  - 2192
  - 2189
  - 2197
  - 2191
  botocore.utils.S3EndpointSetter._resolve_signing_name_for_accesspoint_endpoint:
  - 2214
  botocore.utils.S3EndpointSetter._s3_addressing_handler:
  - 2402
  - 2390
  - 2391
  - 2398
  - 2399
  botocore.utils.S3EndpointSetter._switch_to_accesspoint_endpoint:
  - 2217
  - 2218
  - 2221
  - 2222
  - 2229
  botocore.utils.S3EndpointSetter._use_accelerate_endpoint:
  - 2368
  - 2372
  - 2345
  - 2350
  - 2354
  - 2355
  - 2359
  - 2360
  botocore.utils.S3EndpointSetter._validate_accesspoint_supported:
  - 2150
  - 2151
  - 2160
  - 2161
  - 2133
  - 2168
  - 2141
  botocore.utils.S3EndpointSetter._validate_fips_supported:
  - 2089
  - 2091
  - 2095
  - 2105
  - 2106
  botocore.utils.S3EndpointSetter._validate_global_regions:
  - 2121
  - 2123
  botocore.utils.S3EndpointSetter._validate_mrap_s3_config:
  - 2171
  - 2180
  - 2173
  botocore.utils.S3EndpointSetter.register:
  - 2027
  - 2028
  - 2029
  botocore.utils.S3EndpointSetter.set_endpoint:
  - 2081
  - 2082
  - 2083
  - 2062
  - 2063
  - 2064
  - 2065
  - 2066
  - 2069
  - 2070
  - 2072
  - 2073
  botocore.utils.S3EndpointSetter.set_signer:
  - 2202
  - 2203
  botocore.utils.S3EndpointSetter.update_endpoint_to_s3_object_lambda:
  - 2054
  - 2059
  - 2035
  - 2040
  - 2041
  - 2047
  botocore.utils.S3RegionRedirector:
  - 1706
  botocore.utils.S3RegionRedirector.__init__:
  - 1720
  - 1713
  - 1718
  botocore.utils.S3RegionRedirector.get_bucket_region:
  - 1858
  - 1829
  - 1843
  - 1847
  - 1848
  - 1853
  botocore.utils.S3RegionRedirector.redirect_from_cache:
  - 1867
  - 1871
  - 1873
  - 1874
  - 1875
  botocore.utils.S3RegionRedirector.redirect_from_error:
  - 1793
  - 1794
  - 1796
  - 1797
  - 1734
  - 1821
  - 1740
  - 1772
  - 1804
  - 1745
  - 1746
  - 1810
  - 1781
  - 1751
  - 1752
  - 1757
  - 1758
  - 1759
  botocore.utils.S3RegionRedirector.register:
  - 1729
  - 1730
  - 1731
  botocore.utils.S3RegionRedirector.set_request_url:
  - 1864
  - 1862
  - 1863
  botocore.utils.S3RegionRedirectorv2:
  - 1510
  botocore.utils.S3RegionRedirectorv2.__init__:
  - 1519
  botocore.utils.S3RegionRedirectorv2.annotate_request_context:
  - 1697
  - 1694
  botocore.utils.S3RegionRedirectorv2.get_bucket_region:
  - 1665
  - 1670
  - 1641
  - 1655
  - 1659
  - 1660
  botocore.utils.S3RegionRedirectorv2.redirect_from_cache:
  - 1688
  - 1689
  - 1682
  - 1690
  botocore.utils.S3RegionRedirectorv2.redirect_from_error:
  - 1539
  - 1544
  - 1545
  - 1546
  - 1552
  - 1553
  - 1558
  - 1559
  - 1560
  - 1573
  - 1582
  - 1594
  - 1595
  - 1597
  - 1598
  - 1605
  - 1618
  - 1623
  - 1627
  - 1628
  - 1629
  - 1533
  botocore.utils.S3RegionRedirectorv2.register:
  - 1528
  - 1522
  - 1524
  - 1525
  botocore.utils.S3RegionRedirectorv2.set_request_url:
  - 1674
  - 1679
  botocore.utils.SSOTokenLoader.__call__:
  - 3093
  - 3094
  - 3095
  - 3097
  - 3103
  botocore.utils.SSOTokenLoader.__init__:
  - 3078
  botocore.utils.SSOTokenLoader._generate_cache_key:
  - 3084
  - 3086
  botocore.utils.SSOTokenLoader.save_token:
  - 3089
  botocore.utils._RetriesExceededError:
  - 363
  botocore.utils._calculate_md5_from_bytes:
  - 3034
  - 3035
  botocore.utils._calculate_md5_from_file:
  - 3040
  - 3041
  - 3042
  - 3043
  - 3044
  - 3039
  botocore.utils._calculate_md5_from_file.<lambda1>:
  - 3041
  botocore.utils._get_new_endpoint:
  - 1475
  - 1476
  - 1463
  - 1464
  - 1466
  botocore.utils._in_pairs:
  - 1090
  - 1095
  botocore.utils._is_get_bucket_location_request:
  - 1392
  botocore.utils._parse_timestamp_with_tzinfo:
  - 909
  - 910
  - 912
  - 915
  - 922
  botocore.utils._switch_hosts:
  - 1456
  botocore.utils.calculate_md5:
  - 3026
  - 3027
  - 3029
  - 3030
  botocore.utils.calculate_sha256:
  - 1039
  - 1040
  - 1041
  - 1042
  - 1043
  - 1045
  - 1022
  botocore.utils.calculate_sha256.<lambda1>:
  - 1040
  botocore.utils.calculate_tree_hash:
  - 1065
  - 1066
  - 1067
  - 1068
  - 1069
  - 1071
  - 1072
  - 1073
  - 1076
  - 1078
  - 1049
  botocore.utils.calculate_tree_hash.<lambda1>:
  - 1065
  botocore.utils.check_dns_name:
  - 1286
  - 1288
  - 1289
  - 1292
  - 1293
  - 1276
  botocore.utils.conditionally_calculate_md5:
  - 3048
  - 3051
  - 3052
  - 3053
  - 3058
  - 3059
  - 3061
  - 3062
  botocore.utils.datetime2timestamp:
  - 999
  - 1008
  - 1009
  - 1010
  - 1011
  - 1012
  - 1013
  - 1014
  - 1015
  botocore.utils.deep_merge:
  - 1481
  - 1487
  - 1489
  - 1491
  - 1492
  - 1494
  botocore.utils.determine_content_length:
  - 2980
  - 2985
  - 2987
  - 2988
  - 2989
  - 2990
  - 2975
  botocore.utils.ensure_boolean:
  - 200
  - 201
  - 194
  - 198
  botocore.utils.fix_s3_host:
  - 1305
  - 1314
  - 1322
  - 1317
  botocore.utils.get_encoding_from_headers:
  - 3009
  - 3011
  - 3014
  - 3016
  - 3018
  - 3021
  - 3003
  botocore.utils.get_environ_proxies:
  - 2946
  - 2949
  botocore.utils.get_service_module_name:
  - 256
  - 260
  - 262
  - 266
  - 267
  - 268
  botocore.utils.has_header:
  - 249
  - 252
  - 246
  - 247
  botocore.utils.hyphenize_service_id:
  - 1506
  - 1502
  botocore.utils.instance_cache:
  - 1412
  - 1396
  botocore.utils.instance_cache._cache_guard:
  - 1415
  - 1416
  - 1418
  - 1419
  - 1421
  botocore.utils.is_global_accesspoint:
  - 356
  - 357
  - 358
  botocore.utils.is_json_value_header:
  - 240
  - 229
  - 238
  - 239
  botocore.utils.is_s3_accelerate_url:
  - 3202
  - 3203
  - 3209
  - 3210
  - 3218
  - 3222
  - 3193
  - 3198
  botocore.utils.is_valid_endpoint_url:
  - 1248
  - 1250
  - 1252
  - 1256
  - 1231
  - 1242
  - 1244
  - 1246
  botocore.utils.is_valid_ipv4_endpoint_url:
  - 1226
  - 1227
  botocore.utils.is_valid_ipv6_endpoint_url:
  - 1219
  - 1221
  - 1222
  botocore.utils.is_valid_uri:
  - 1260
  botocore.utils.lowercase_dict:
  - 818
  - 820
  - 821
  botocore.utils.merge_dicts:
  - 804
  - 807
  - 808
  - 789
  - 796
  - 797
  - 798
  - 799
  botocore.utils.normalize_boolean:
  - 281
  - 284
  - 279
  botocore.utils.normalize_url_path:
  - 273
  - 275
  botocore.utils.parse_key_val_file:
  - 827
  - 828
  - 829
  botocore.utils.parse_key_val_file_contents:
  - 839
  - 840
  - 842
  - 843
  - 844
  botocore.utils.parse_timestamp:
  - 928
  - 939
  - 941
  - 943
  botocore.utils.parse_to_aware_datetime:
  - 992
  - 954
  - 994
  - 980
  - 986
  - 987
  botocore.utils.percent_encode:
  - 900
  - 901
  - 903
  - 904
  - 905
  - 888
  botocore.utils.percent_encode_sequence:
  - 870
  - 871
  - 874
  - 875
  - 876
  - 877
  - 878
  - 881
  - 850
  - 882
  - 884
  botocore.utils.remove_dot_segments:
  - 291
  - 293
  - 295
  - 296
  - 297
  - 298
  - 299
  - 301
  - 303
  - 307
  - 311
  botocore.utils.resolve_imds_endpoint_mode:
  - 207
  - 211
  - 214
  - 215
  - 216
  - 223
  botocore.utils.set_value_from_jmespath:
  - 331
  - 332
  - 334
  - 335
  - 337
  - 340
  - 341
  - 347
  botocore.utils.should_bypass_proxies:
  - 2953
  - 2965
  botocore.utils.switch_host_s3_accelerate:
  - 1442
  - 1444
  - 1429
  - 1435
  - 1438
  - 1439
  botocore.utils.switch_host_with_param:
  - 1448
  - 1449
  - 1450
  - 1452
  botocore.utils.switch_to_virtual_host_style:
  - 1376
  - 1346
  - 1380
  - 1350
  - 1384
  - 1386
  - 1355
  - 1357
  - 1360
  - 1330
  - 1363
  - 1365
  - 1369
  - 1370
  - 1373
  - 1341
  - 1374
  botocore.utils.validate_jmespath_for_set:
  - 320
  - 321
  - 317
  botocore.utils.validate_region_name:
  - 1266
  - 1267
  - 1269
  - 1270
  - 1271
  botocore.validate:
  - 1
  botocore.validate.ParamValidationDecorator.serialize_to_request:
  - 376
  - 377
  - 380
  - 382
  botocore.validate.ParamValidator:
  - 289
  - 344
  - 301
  - 334
  - 338
  - 308
  - 182
  - 248
  - 316
  botocore.validate.ParamValidator._check_special_validation_cases:
  - 203
  - 205
  botocore.validate.ParamValidator._type_check_datetime:
  - 361
  botocore.validate.ParamValidator._validate:
  - 209
  - 210
  - 211
  - 213
  botocore.validate.ParamValidator._validate_blob:
  - 321
  - 323
  - 327
  botocore.validate.ParamValidator._validate_document:
  - 226
  - 229
  - 230
  - 231
  - 232
  - 233
  - 234
  - 237
  - 239
  - 240
  - 244
  botocore.validate.ParamValidator._validate_double:
  - 340
  botocore.validate.ParamValidator._validate_integer:
  - 318
  botocore.validate.ParamValidator._validate_jsonvalue_string:
  - 221
  - 223
  botocore.validate.ParamValidator._validate_list:
  - 304
  - 305
  - 306
  botocore.validate.ParamValidator._validate_long:
  - 346
  botocore.validate.ParamValidator._validate_map:
  - 312
  - 313
  - 314
  botocore.validate.ParamValidator._validate_string:
  - 299
  botocore.validate.ParamValidator._validate_structure:
  - 259
  - 260
  - 261
  - 282
  - 270
  - 271
  - 272
  - 276
  - 279
  - 281
  - 250
  - 251
  - 252
  - 253
  - 254
  botocore.validate.ParamValidator._validate_timestamp:
  - 352
  - 353
  - 354
  - 355
  botocore.validate.ParamValidator.validate:
  - 185
  - 198
  - 199
  botocore.validate.ValidationErrors._format_error:
  - 128
  - 162
  - 163
  - 135
  - 107
  - 108
  - 155
  - 142
  - 143
  - 113
  - 115
  - 147
  - 149
  - 150
  - 120
  - 122
  - 123
  - 156
  botocore.validate.ValidationErrors._get_name:
  - 170
  - 172
  botocore.validate.ValidationErrors.generate_report:
  - 101
  - 102
  - 103
  botocore.validate.ValidationErrors.has_errors:
  - 95
  botocore.validate.ValidationErrors.report:
  - 178
  botocore.validate.range_check:
  - 75
  - 76
  - 78
  - 80
  - 82
  - 84
  - 86
  - 87
  botocore.validate.type_check._create_type_check_guard._on_passes_type_check:
  - 53
  - 54
  botocore.validate.type_check._create_type_check_guard._type_check:
  - 57
  - 58
  - 59
  botocore.validate.validate_parameters:
  - 25
  - 44
  - 45
  - 46
  botocore.vendored.requests.exceptions:
  - 3
  botocore.vendored.requests.exceptions.ChunkedEncodingError:
  - 87
  botocore.vendored.requests.exceptions.ConnectTimeout:
  - 56
  botocore.vendored.requests.exceptions.ConnectionError:
  - 35
  botocore.vendored.requests.exceptions.ContentDecodingError:
  - 91
  botocore.vendored.requests.exceptions.HTTPError:
  - 31
  botocore.vendored.requests.exceptions.InvalidSchema:
  - 79
  botocore.vendored.requests.exceptions.InvalidURL:
  - 83
  botocore.vendored.requests.exceptions.MissingSchema:
  - 75
  botocore.vendored.requests.exceptions.ProxyError:
  - 39
  botocore.vendored.requests.exceptions.ReadTimeout:
  - 63
  botocore.vendored.requests.exceptions.RequestException:
  - 14
  botocore.vendored.requests.exceptions.RequestException.__init__:
  - 18
  - 21
  - 23
  - 24
  - 25
  - 27
  botocore.vendored.requests.exceptions.RetryError:
  - 99
  botocore.vendored.requests.exceptions.SSLError:
  - 43
  botocore.vendored.requests.exceptions.StreamConsumedError:
  - 95
  botocore.vendored.requests.exceptions.Timeout:
  - 47
  botocore.vendored.requests.exceptions.TooManyRedirects:
  - 71
  botocore.vendored.requests.exceptions.URLRequired:
  - 67
  botocore.vendored.requests.packages.urllib3:
  - 1
  botocore.vendored.requests.packages.urllib3.exceptions.ClosedPoolError:
  - 122
  botocore.vendored.requests.packages.urllib3.exceptions.ConnectTimeoutError:
  - 112
  botocore.vendored.requests.packages.urllib3.exceptions.DecodeError:
  - 47
  botocore.vendored.requests.packages.urllib3.exceptions.EmptyPoolError:
  - 117
  botocore.vendored.requests.packages.urllib3.exceptions.HTTPError:
  - 5
  botocore.vendored.requests.packages.urllib3.exceptions.HTTPWarning:
  - 9
  botocore.vendored.requests.packages.urllib3.exceptions.HostChangedError:
  - 82
  botocore.vendored.requests.packages.urllib3.exceptions.HostChangedError.__init__:
  - 86
  botocore.vendored.requests.packages.urllib3.exceptions.InsecurePlatformWarning:
  - 163
  botocore.vendored.requests.packages.urllib3.exceptions.InsecureRequestWarning:
  - 153
  botocore.vendored.requests.packages.urllib3.exceptions.LocationParseError:
  - 132
  botocore.vendored.requests.packages.urllib3.exceptions.LocationParseError.__init__:
  - 136
  botocore.vendored.requests.packages.urllib3.exceptions.LocationValueError:
  - 127
  botocore.vendored.requests.packages.urllib3.exceptions.MaxRetryError:
  - 63
  botocore.vendored.requests.packages.urllib3.exceptions.MaxRetryError.__init__:
  - 78
  botocore.vendored.requests.packages.urllib3.exceptions.PoolError:
  - 15
  botocore.vendored.requests.packages.urllib3.exceptions.PoolError.__init__:
  - 18
  botocore.vendored.requests.packages.urllib3.exceptions.ProtocolError:
  - 52
  botocore.vendored.requests.packages.urllib3.exceptions.ProxyError:
  - 42
  botocore.vendored.requests.packages.urllib3.exceptions.ReadTimeoutError:
  - 105
  botocore.vendored.requests.packages.urllib3.exceptions.RequestError:
  - 26
  botocore.vendored.requests.packages.urllib3.exceptions.RequestError.__init__:
  - 29
  botocore.vendored.requests.packages.urllib3.exceptions.ResponseError:
  - 142
  botocore.vendored.requests.packages.urllib3.exceptions.ResponseNotChunked:
  - 168
  botocore.vendored.requests.packages.urllib3.exceptions.SSLError:
  - 37
  botocore.vendored.requests.packages.urllib3.exceptions.SecurityWarning:
  - 148
  botocore.vendored.requests.packages.urllib3.exceptions.SystemTimeWarning:
  - 158
  botocore.vendored.requests.packages.urllib3.exceptions.TimeoutError:
  - 96
  botocore.vendored.requests.packages.urllib3.exceptions.TimeoutStateError:
  - 91
  botocore.vendored.six:
  - 526
  - 21
  - 40
  - 559
  - 55
  - 57
  - 65
  - 68
  - 71
  - 585
  - 74
  - 589
  - 590
  - 591
  - 592
  - 593
  - 594
  - 597
  - 610
  - 612
  - 614
  - 628
  - 630
  - 632
  - 634
  - 635
  - 636
  - 638
  - 642
  - 650
  - 652
  - 660
  - 683
  - 690
  - 691
  - 710
  - 711
  - 737
  - 745
  - 746
  - 242
  - 757
  - 758
  - 252
  - 253
  - 254
  - 255
  - 256
  - 257
  - 258
  - 259
  - 260
  - 261
  - 262
  - 263
  - 264
  - 265
  - 266
  - 267
  - 268
  - 269
  - 270
  - 271
  - 272
  - 273
  - 274
  - 275
  - 276
  - 277
  - 278
  - 279
  - 280
  - 281
  - 282
  - 283
  - 284
  - 285
  - 286
  - 287
  - 288
  - 289
  - 290
  - 291
  - 292
  - 293
  - 294
  - 295
  - 296
  - 297
  - 298
  - 299
  - 300
  - 301
  - 302
  - 303
  - 304
  - 305
  - 306
  - 812
  - 308
  - 310
  - 311
  - 312
  - 313
  - 822
  - 315
  - 316
  - 317
  - 318
  - 319
  - 320
  - 824
  - 323
  - 325
  - 328
  - 329
  - 330
  - 331
  - 336
  - 337
  - 346
  - 347
  - 348
  - 349
  - 350
  - 351
  - 352
  - 353
  - 354
  - 355
  - 356
  - 357
  - 358
  - 359
  - 360
  - 361
  - 362
  - 363
  - 364
  - 365
  - 366
  - 367
  - 368
  - 369
  - 370
  - 372
  - 373
  - 378
  - 388
  - 389
  - 390
  - 392
  - 393
  - 398
  - 408
  - 409
  - 410
  - 411
  - 412
  - 413
  - 414
  - 415
  - 416
  - 417
  - 418
  - 419
  - 420
  - 421
  - 422
  - 423
  - 424
  - 425
  - 426
  - 427
  - 428
  - 429
  - 430
  - 431
  - 432
  - 433
  - 434
  - 435
  - 436
  - 437
  - 438
  - 439
  - 440
  - 441
  - 442
  - 444
  - 445
  - 450
  - 460
  - 461
  - 462
  - 463
  - 465
  - 466
  - 981
  - 471
  - 986
  - 987
  - 992
  - 481
  - 483
  - 484
  - 998
  - 489
  - 506
  botocore.vendored.six.Iterator.next:
  - 582
  botocore.vendored.six.Module_six_moves_urllib:
  - 495
  - 497
  - 498
  - 499
  - 500
  - 501
  botocore.vendored.six.Module_six_moves_urllib_error:
  - 384
  botocore.vendored.six.Module_six_moves_urllib_parse:
  - 342
  botocore.vendored.six.Module_six_moves_urllib_request:
  - 404
  botocore.vendored.six.Module_six_moves_urllib_response:
  - 456
  botocore.vendored.six.Module_six_moves_urllib_robotparser:
  - 477
  botocore.vendored.six.MovedAttribute.__init__:
  - 160
  - 147
  - 148
  - 149
  - 152
  - 153
  botocore.vendored.six.MovedAttribute._resolve:
  - 165
  - 166
  botocore.vendored.six.MovedModule.__getattr__:
  - 123
  - 124
  - 125
  botocore.vendored.six.MovedModule.__init__:
  - 112
  - 113
  - 111
  botocore.vendored.six.MovedModule._resolve:
  - 120
  botocore.vendored.six._LazyDescr.__get__:
  - 97
  - 98
  - 102
  botocore.vendored.six._LazyModule.__init__:
  - 132
  botocore.vendored.six._MovedItems:
  - 247
  botocore.vendored.six._SixMetaPathImporter:
  - 171
  botocore.vendored.six._SixMetaPathImporter._add_module:
  - 183
  botocore.vendored.six._SixMetaPathImporter.create_module:
  - 237
  botocore.vendored.six._SixMetaPathImporter.find_module:
  - 190
  botocore.vendored.six._SixMetaPathImporter.find_spec:
  - 195
  - 196
  botocore.vendored.six._SixMetaPathImporter.get_code:
  - 232
  - 229
  botocore.vendored.six._SixMetaPathImporter.is_package:
  - 226
  - 220
  botocore.vendored.six._SixMetaPathImporter.load_module:
  - 211
  - 212
  - 213
  botocore.vendored.six._add_doc:
  - 81
  botocore.vendored.six._import_module:
  - 86
  - 87
  botocore.vendored.six._update_wrapper:
  - 833
  - 835
  - 839
  - 840
  - 841
  botocore.vendored.six.add_metaclass:
  - 881
  botocore.vendored.six.add_metaclass.wrapper:
  - 883
  - 884
  - 885
  - 886
  - 888
  - 889
  - 890
  - 891
  - 892
  - 894
  botocore.vendored.six.add_move:
  - 512
  - 511
  botocore.vendored.six.advance_iterator:
  - 548
  botocore.vendored.six.assertCountEqual:
  - 695
  botocore.vendored.six.assertNotRegex:
  - 707
  botocore.vendored.six.assertRaisesRegex:
  - 699
  botocore.vendored.six.assertRegex:
  - 703
  botocore.vendored.six.b:
  - 644
  botocore.vendored.six.byte2int:
  - 679
  botocore.vendored.six.callable:
  - 556
  botocore.vendored.six.create_bound_method:
  - 574
  botocore.vendored.six.create_unbound_method:
  - 577
  botocore.vendored.six.ensure_binary:
  - 912
  - 899
  - 909
  - 911
  botocore.vendored.six.ensure_str:
  - 928
  - 930
  - 931
  - 932
  - 933
  - 934
  - 917
  botocore.vendored.six.ensure_text:
  - 952
  - 940
  - 950
  - 951
  botocore.vendored.six.exec_:
  - 726
  - 727
  - 728
  - 730
  - 733
  - 735
  botocore.vendored.six.indexbytes:
  - 682
  botocore.vendored.six.iteritems:
  - 605
  - 623
  botocore.vendored.six.iterkeys:
  - 617
  - 599
  botocore.vendored.six.iterlists:
  - 608
  - 626
  botocore.vendored.six.itervalues:
  - 602
  - 620
  botocore.vendored.six.print_:
  - 778
  - 779
  - 780
  - 782
  - 784
  - 785
  - 786
  - 788
  - 790
  - 792
  - 793
  - 794
  - 797
  - 798
  - 799
  - 803
  - 805
  - 807
  - 808
  - 809
  - 810
  - 811
  - 816
  - 817
  - 818
  - 819
  - 820
  - 760
  - 761
  - 762
  botocore.vendored.six.print_.write:
  - 769
  - 770
  - 772
  - 773
  - 775
  - 776
  - 766
  - 767
  botocore.vendored.six.python_2_unicode_compatible:
  - 967
  - 972
  - 966
  - 959
  botocore.vendored.six.python_2_unicode_compatible.<lambda1>:
  - 972
  botocore.vendored.six.remove_move:
  - 516
  - 518
  botocore.vendored.six.reraise:
  - 715
  - 716
  - 717
  botocore.vendored.six.u:
  - 674
  botocore.vendored.six.with_metaclass:
  - 857
  - 877
  botocore.vendored.six.with_metaclass.metaclass.__new__:
  - 864
  - 867
  - 868
  - 872
  botocore.vendored.six.with_metaclass.metaclass.__prepare__:
  - 876
  botocore.vendored.six.wraps:
  - 848
  botocore.waiter:
  - 24
  botocore.waiter.AcceptorConfig.__init__:
  - 176
  - 175
  botocore.waiter.AcceptorConfig._create_error_matcher.acceptor_matches:
  - 305
  botocore.waiter.AcceptorConfig._create_matcher_func:
  - 213
  - 214
  - 215
  - 216
  - 217
  - 218
  - 219
  - 220
  - 221
  - 222
  botocore.waiter.AcceptorConfig._create_path_all_matcher:
  - 240
  botocore.waiter.AcceptorConfig._create_path_all_matcher.acceptor_matches:
  - 244
  - 246
  - 247
  - 253
  - 254
  botocore.waiter.AcceptorConfig._create_path_any_matcher:
  - 261
  botocore.waiter.AcceptorConfig._create_path_any_matcher.acceptor_matches:
  - 265
  - 267
  - 268
  - 274
  - 275
  botocore.waiter.AcceptorConfig._create_path_matcher:
  - 229
  botocore.waiter.AcceptorConfig._create_path_matcher.acceptor_matches:
  - 233
  - 235
  botocore.waiter.AcceptorConfig._create_status_matcher.acceptor_matches:
  - 288
  botocore.waiter.AcceptorConfig.explanation:
  - 195
  - 197
  - 180
  - 181
  - 185
  - 190
  botocore.waiter.NormalizedOperationMethod.__call__:
  - 93
  botocore.waiter.SingleWaiterConfig:
  - 144
  botocore.waiter.SingleWaiterConfig.__init__:
  - 155
  botocore.waiter.SingleWaiterConfig.acceptors:
  - 164
  - 165
  - 166
  botocore.waiter.Waiter.__init__:
  - 312
  botocore.waiter.Waiter.wait:
  - 393
  - 333
  - 366
  - 367
  - 336
  - 337
  - 338
  - 371
  - 343
  - 345
  - 346
  - 380
  - 381
  botocore.waiter.WaiterModel.__init__:
  - 120
  - 121
  - 123
  - 102
  botocore.waiter.WaiterModel._verify_supported_version:
  - 126
  botocore.waiter.WaiterModel.get_waiter:
  - 140
  botocore.waiter.create_waiter_with_client:
  - 66
  - 68
  - 72
  - 75
  - 45
  - 46
  - 47
  - 48
  - 57
  - 28
  botocore.waiter.create_waiter_with_client.wait:
  - 55
  botocore.waiter.is_valid_waiter_error:
  - 81
  - 82
  botocore.xform_name:
  - 96
  - 97
  - 98
  - 80
  - 86
  - 91
  - 92
  - 93
  - 94
Fuzzer filename: /src/fuzz_serialization.py
Inheritance:
  botocore.NullHandler: []
  botocore.UNSIGNED: []
  botocore.args.ClientArgsCreator: []
  botocore.auth.BaseSigner: []
  botocore.auth.BearerAuth:
  - TokenSigner
  botocore.auth.HmacV1Auth:
  - BaseSigner
  botocore.auth.HmacV1PostAuth:
  - HmacV1Auth
  botocore.auth.HmacV1QueryAuth:
  - HmacV1Auth
  botocore.auth.S3SigV4Auth:
  - SigV4Auth
  botocore.auth.S3SigV4PostAuth:
  - SigV4Auth
  botocore.auth.S3SigV4QueryAuth:
  - SigV4QueryAuth
  botocore.auth.SigV2Auth:
  - BaseSigner
  botocore.auth.SigV3Auth:
  - BaseSigner
  botocore.auth.SigV4Auth:
  - BaseSigner
  botocore.auth.SigV4QueryAuth:
  - SigV4Auth
  botocore.auth.TokenSigner:
  - BaseSigner
  botocore.awsrequest.AWSConnection: []
  botocore.awsrequest.AWSHTTPConnection:
  - AWSConnection
  - HTTPConnection
  botocore.awsrequest.AWSHTTPConnectionPool:
  - HTTPConnectionPool
  botocore.awsrequest.AWSHTTPResponse:
  - HTTPResponse
  botocore.awsrequest.AWSHTTPSConnection:
  - AWSConnection
  - VerifiedHTTPSConnection
  botocore.awsrequest.AWSHTTPSConnectionPool:
  - HTTPSConnectionPool
  botocore.awsrequest.AWSPreparedRequest: []
  botocore.awsrequest.AWSRequest: []
  botocore.awsrequest.AWSRequestPreparer: []
  botocore.awsrequest.AWSResponse: []
  botocore.awsrequest.HeadersDict:
  - MutableMapping
  botocore.awsrequest._HeaderKey: []
  botocore.client.BaseClient: []
  botocore.client.ClientCreator: []
  botocore.client.ClientEndpointBridge: []
  botocore.client.ClientMeta: []
  botocore.compat.HTTPHeaders:
  - HTTPMessage
  botocore.config.Config: []
  botocore.configprovider.BaseProvider: []
  botocore.configprovider.ChainProvider:
  - BaseProvider
  botocore.configprovider.ConfigChainFactory: []
  botocore.configprovider.ConfigValueStore: []
  botocore.configprovider.ConstantProvider:
  - BaseProvider
  botocore.configprovider.DefaultConfigResolver: []
  botocore.configprovider.EnvironmentProvider:
  - BaseProvider
  botocore.configprovider.InstanceVarProvider:
  - BaseProvider
  botocore.configprovider.ScopedConfigProvider:
  - BaseProvider
  botocore.configprovider.SectionConfigProvider:
  - BaseProvider
  botocore.configprovider.SmartDefaultsConfigStoreFactory: []
  botocore.credentials.AssumeRoleCredentialFetcher:
  - BaseAssumeRoleCredentialFetcher
  botocore.credentials.AssumeRoleProvider:
  - CredentialProvider
  botocore.credentials.AssumeRoleWithWebIdentityCredentialFetcher:
  - BaseAssumeRoleCredentialFetcher
  botocore.credentials.AssumeRoleWithWebIdentityProvider:
  - CredentialProvider
  botocore.credentials.BaseAssumeRoleCredentialFetcher:
  - CachedCredentialFetcher
  botocore.credentials.BotoProvider:
  - CredentialProvider
  botocore.credentials.CachedCredentialFetcher: []
  botocore.credentials.CanonicalNameCredentialSourcer: []
  botocore.credentials.ConfigProvider:
  - CredentialProvider
  botocore.credentials.ContainerProvider:
  - CredentialProvider
  botocore.credentials.CredentialProvider: []
  botocore.credentials.CredentialResolver: []
  botocore.credentials.Credentials: []
  botocore.credentials.DeferredRefreshableCredentials:
  - RefreshableCredentials
  botocore.credentials.EnvProvider:
  - CredentialProvider
  botocore.credentials.InstanceMetadataProvider:
  - CredentialProvider
  botocore.credentials.OriginalEC2Provider:
  - CredentialProvider
  botocore.credentials.ProcessProvider:
  - CredentialProvider
  botocore.credentials.ProfileProviderBuilder: []
  botocore.credentials.RefreshableCredentials:
  - Credentials
  botocore.credentials.SSOCredentialFetcher:
  - CachedCredentialFetcher
  botocore.credentials.SSOProvider:
  - CredentialProvider
  botocore.credentials.SharedCredentialProvider:
  - CredentialProvider
  botocore.credentials.create_mfa_serial_refresher._Refresher: []
  botocore.crt.auth.CrtS3SigV4AsymAuth:
  - CrtSigV4AsymAuth
  botocore.crt.auth.CrtS3SigV4AsymQueryAuth:
  - CrtSigV4AsymQueryAuth
  botocore.crt.auth.CrtS3SigV4Auth:
  - CrtSigV4Auth
  botocore.crt.auth.CrtS3SigV4QueryAuth:
  - CrtSigV4QueryAuth
  botocore.crt.auth.CrtSigV4AsymAuth:
  - BaseSigner
  botocore.crt.auth.CrtSigV4AsymQueryAuth:
  - CrtSigV4AsymAuth
  botocore.crt.auth.CrtSigV4Auth:
  - BaseSigner
  botocore.crt.auth.CrtSigV4QueryAuth:
  - CrtSigV4Auth
  botocore.discovery.EndpointDiscoveryException:
  - BotoCoreError
  botocore.discovery.EndpointDiscoveryHandler: []
  botocore.discovery.EndpointDiscoveryManager: []
  botocore.discovery.EndpointDiscoveryModel: []
  botocore.discovery.EndpointDiscoveryRefreshFailed:
  - EndpointDiscoveryException
  botocore.discovery.EndpointDiscoveryRequired:
  - EndpointDiscoveryException
  botocore.docs.bcdoc.docstringparser.DataNode:
  - Node
  botocore.docs.bcdoc.docstringparser.DocStringParser:
  - HTMLParser
  botocore.docs.bcdoc.docstringparser.HTMLTree: []
  botocore.docs.bcdoc.docstringparser.Node: []
  botocore.docs.bcdoc.docstringparser.StemNode:
  - Node
  botocore.docs.bcdoc.docstringparser.TagNode:
  - StemNode
  botocore.docs.bcdoc.restdoc.DocumentStructure:
  - ReSTDocument
  botocore.docs.bcdoc.restdoc.ReSTDocument: []
  botocore.docs.bcdoc.style.BaseStyle: []
  botocore.docs.bcdoc.style.ReSTStyle:
  - BaseStyle
  botocore.docs.client.ClientDocumenter: []
  botocore.docs.client.ClientExceptionsDocumenter: []
  botocore.docs.docstring.ClientMethodDocstring:
  - LazyLoadedDocstring
  botocore.docs.docstring.LazyLoadedDocstring:
  - str
  botocore.docs.docstring.PaginatorDocstring:
  - LazyLoadedDocstring
  botocore.docs.docstring.WaiterDocstring:
  - LazyLoadedDocstring
  botocore.docs.example.BaseExampleDocumenter:
  - ShapeDocumenter
  botocore.docs.example.RequestExampleDocumenter:
  - BaseExampleDocumenter
  botocore.docs.example.ResponseExampleDocumenter:
  - BaseExampleDocumenter
  botocore.docs.paginator.PaginatorDocumenter: []
  botocore.docs.params.BaseParamsDocumenter:
  - ShapeDocumenter
  botocore.docs.params.RequestParamsDocumenter:
  - BaseParamsDocumenter
  botocore.docs.params.ResponseParamsDocumenter:
  - BaseParamsDocumenter
  botocore.docs.service.ServiceDocumenter: []
  botocore.docs.shape.ShapeDocumenter: []
  botocore.docs.sharedexample.SharedExampleDocumenter: []
  botocore.docs.utils.AppendParamDocumentation: []
  botocore.docs.utils.AutoPopulatedParam: []
  botocore.docs.utils.DocumentedShape:
  - _DocumentedShape
  botocore.docs.utils.HideParamFromOperations: []
  botocore.docs.waiter.WaiterDocumenter: []
  botocore.endpoint.Endpoint: []
  botocore.endpoint.EndpointCreator: []
  botocore.endpoint_provider.BaseRule: []
  botocore.endpoint_provider.EndpointProvider: []
  botocore.endpoint_provider.EndpointRule:
  - BaseRule
  botocore.endpoint_provider.ErrorRule:
  - BaseRule
  botocore.endpoint_provider.ParameterDefinition: []
  botocore.endpoint_provider.ParameterType:
  - Enum
  botocore.endpoint_provider.RuleCreator: []
  botocore.endpoint_provider.RuleSet: []
  botocore.endpoint_provider.RuleSetEndpoint:
  - NamedTuple
  botocore.endpoint_provider.RuleSetStandardLibrary: []
  botocore.endpoint_provider.TreeRule:
  - BaseRule
  botocore.errorfactory.BaseClientExceptions: []
  botocore.errorfactory.ClientExceptionsFactory: []
  botocore.eventstream.ChecksumMismatch:
  - ParserError
  botocore.eventstream.DecodeUtils: []
  botocore.eventstream.DuplicateHeader:
  - ParserError
  botocore.eventstream.EventStream: []
  botocore.eventstream.EventStreamBuffer: []
  botocore.eventstream.EventStreamHeaderParser: []
  botocore.eventstream.EventStreamMessage: []
  botocore.eventstream.InvalidHeadersLength:
  - ParserError
  botocore.eventstream.InvalidPayloadLength:
  - ParserError
  botocore.eventstream.MessagePrelude: []
  botocore.eventstream.NoInitialResponseError:
  - ParserError
  botocore.eventstream.ParserError:
  - Exception
  botocore.exceptions.AliasConflictParameterError:
  - ValidationError
  botocore.exceptions.ApiVersionNotFoundError:
  - BotoCoreError
  botocore.exceptions.AwsChunkedWrapperError:
  - BotoCoreError
  botocore.exceptions.BaseEndpointResolverError:
  - BotoCoreError
  botocore.exceptions.BotoCoreError:
  - Exception
  botocore.exceptions.CapacityNotAvailableError:
  - BotoCoreError
  botocore.exceptions.ChecksumError:
  - BotoCoreError
  botocore.exceptions.ClientError:
  - Exception
  botocore.exceptions.ConfigNotFound:
  - BotoCoreError
  botocore.exceptions.ConfigParseError:
  - BotoCoreError
  botocore.exceptions.ConnectTimeoutError:
  - ConnectionError
  botocore.exceptions.ConnectionClosedError:
  - HTTPClientError
  botocore.exceptions.ConnectionError:
  - BotoCoreError
  botocore.exceptions.CredentialRetrievalError:
  - BotoCoreError
  botocore.exceptions.DataNotFoundError:
  - BotoCoreError
  botocore.exceptions.EndpointConnectionError:
  - ConnectionError
  botocore.exceptions.EndpointProviderError:
  - BotoCoreError
  botocore.exceptions.EndpointResolutionError:
  - EndpointProviderError
  botocore.exceptions.EndpointVariantError:
  - BaseEndpointResolverError
  botocore.exceptions.EventStreamError:
  - ClientError
  botocore.exceptions.FlexibleChecksumError:
  - BotoCoreError
  botocore.exceptions.HTTPClientError:
  - BotoCoreError
  botocore.exceptions.ImminentRemovalWarning:
  - Warning
  botocore.exceptions.IncompleteReadError:
  - BotoCoreError
  botocore.exceptions.InfiniteLoopConfigError:
  - InvalidConfigError
  botocore.exceptions.InvalidConfigError:
  - BotoCoreError
  botocore.exceptions.InvalidDNSNameError:
  - BotoCoreError
  botocore.exceptions.InvalidDefaultsMode:
  - BotoCoreError
  botocore.exceptions.InvalidEndpointConfigurationError:
  - BotoCoreError
  botocore.exceptions.InvalidEndpointDiscoveryConfigurationError:
  - BotoCoreError
  botocore.exceptions.InvalidExpressionError:
  - BotoCoreError
  botocore.exceptions.InvalidHostLabelError:
  - BotoCoreError
  botocore.exceptions.InvalidIMDSEndpointError:
  - BotoCoreError
  botocore.exceptions.InvalidIMDSEndpointModeError:
  - BotoCoreError
  botocore.exceptions.InvalidMaxRetryAttemptsError:
  - InvalidRetryConfigurationError
  botocore.exceptions.InvalidProxiesConfigError:
  - BotoCoreError
  botocore.exceptions.InvalidRegionError:
  - ValidationError
  - ValueError
  botocore.exceptions.InvalidRetryConfigurationError:
  - BotoCoreError
  botocore.exceptions.InvalidRetryModeError:
  - InvalidRetryConfigurationError
  botocore.exceptions.InvalidS3AddressingStyleError:
  - BotoCoreError
  botocore.exceptions.InvalidS3UsEast1RegionalEndpointConfigError:
  - BotoCoreError
  botocore.exceptions.InvalidSTSRegionalEndpointsConfigError:
  - BotoCoreError
  botocore.exceptions.MD5UnavailableError:
  - BotoCoreError
  botocore.exceptions.MetadataRetrievalError:
  - BotoCoreError
  botocore.exceptions.MissingDependencyException:
  - BotoCoreError
  botocore.exceptions.MissingParametersError:
  - BotoCoreError
  botocore.exceptions.MissingServiceIdError:
  - UndefinedModelAttributeError
  botocore.exceptions.NoAuthTokenError:
  - BotoCoreError
  botocore.exceptions.NoCredentialsError:
  - BotoCoreError
  botocore.exceptions.NoRegionError:
  - BaseEndpointResolverError
  botocore.exceptions.OperationNotPageableError:
  - BotoCoreError
  botocore.exceptions.PaginationError:
  - BotoCoreError
  botocore.exceptions.ParamValidationError:
  - BotoCoreError
  botocore.exceptions.PartialCredentialsError:
  - BotoCoreError
  botocore.exceptions.ProfileNotFound:
  - BotoCoreError
  botocore.exceptions.ProxyConnectionError:
  - ConnectionError
  botocore.exceptions.RangeError:
  - ValidationError
  botocore.exceptions.ReadTimeoutError:
  - HTTPClientError
  botocore.exceptions.RefreshWithMFAUnsupportedError:
  - BotoCoreError
  botocore.exceptions.ResponseStreamingError:
  - HTTPClientError
  botocore.exceptions.SSLError:
  - ConnectionError
  botocore.exceptions.SSOError:
  - BotoCoreError
  botocore.exceptions.SSOTokenLoadError:
  - SSOError
  botocore.exceptions.ServiceNotInRegionError:
  - BotoCoreError
  botocore.exceptions.StubAssertionError:
  - AssertionError
  - StubResponseError
  botocore.exceptions.StubResponseError:
  - BotoCoreError
  botocore.exceptions.TokenRetrievalError:
  - BotoCoreError
  botocore.exceptions.UnStubbedResponseError:
  - StubResponseError
  botocore.exceptions.UnauthorizedSSOTokenError:
  - SSOError
  botocore.exceptions.UndefinedModelAttributeError:
  - Exception
  botocore.exceptions.UnknownClientMethodError:
  - BotoCoreError
  botocore.exceptions.UnknownCredentialError:
  - BotoCoreError
  botocore.exceptions.UnknownEndpointError:
  - BaseEndpointResolverError
  - ValueError
  botocore.exceptions.UnknownEndpointResolutionBuiltInName:
  - EndpointProviderError
  botocore.exceptions.UnknownFIPSEndpointError:
  - BaseEndpointResolverError
  botocore.exceptions.UnknownKeyError:
  - ValidationError
  botocore.exceptions.UnknownParameterError:
  - ValidationError
  botocore.exceptions.UnknownRegionError:
  - BotoCoreError
  botocore.exceptions.UnknownServiceError:
  - DataNotFoundError
  botocore.exceptions.UnknownServiceStyle:
  - BotoCoreError
  botocore.exceptions.UnknownSignatureVersionError:
  - BotoCoreError
  botocore.exceptions.UnseekableStreamError:
  - BotoCoreError
  botocore.exceptions.UnsupportedOutpostResourceError:
  - BotoCoreError
  botocore.exceptions.UnsupportedS3AccesspointConfigurationError:
  - BotoCoreError
  botocore.exceptions.UnsupportedS3ArnError:
  - BotoCoreError
  botocore.exceptions.UnsupportedS3ConfigurationError:
  - BotoCoreError
  botocore.exceptions.UnsupportedS3ControlArnError:
  - BotoCoreError
  botocore.exceptions.UnsupportedS3ControlConfigurationError:
  - BotoCoreError
  botocore.exceptions.UnsupportedSignatureVersionError:
  - BotoCoreError
  botocore.exceptions.UnsupportedTLSVersionWarning:
  - Warning
  botocore.exceptions.ValidationError:
  - BotoCoreError
  botocore.exceptions.WaiterConfigError:
  - BotoCoreError
  botocore.exceptions.WaiterError:
  - BotoCoreError
  botocore.handlers.ClientMethodAlias: []
  botocore.handlers.DeprecatedServiceDocumenter: []
  botocore.handlers.HeaderToHostHoister: []
  botocore.handlers.ParameterAlias: []
  botocore.history.BaseHistoryHandler: []
  botocore.history.HistoryRecorder: []
  botocore.hooks.BaseEventHooks: []
  botocore.hooks.EventAliaser:
  - BaseEventHooks
  botocore.hooks.HierarchicalEmitter:
  - BaseEventHooks
  botocore.hooks.NodeList:
  - _NodeList
  botocore.hooks._PrefixTrie: []
  botocore.httpchecksum.AwsChunkedWrapper: []
  botocore.httpchecksum.BaseChecksum: []
  botocore.httpchecksum.Crc32Checksum:
  - BaseChecksum
  botocore.httpchecksum.CrtCrc32Checksum:
  - BaseChecksum
  botocore.httpchecksum.CrtCrc32cChecksum:
  - BaseChecksum
  botocore.httpchecksum.Sha1Checksum:
  - BaseChecksum
  botocore.httpchecksum.Sha256Checksum:
  - BaseChecksum
  botocore.httpchecksum.StreamingChecksumBody:
  - StreamingBody
  botocore.httpsession.ProxyConfiguration: []
  botocore.httpsession.URLLib3Session: []
  botocore.loaders.ExtrasProcessor: []
  botocore.loaders.JSONFileLoader: []
  botocore.loaders.Loader: []
  botocore.model.ClientContextParameter:
  - NamedTuple
  botocore.model.ContextParameter:
  - NamedTuple
  botocore.model.DenormalizedStructureBuilder: []
  botocore.model.InvalidShapeError:
  - Exception
  botocore.model.InvalidShapeReferenceError:
  - Exception
  botocore.model.ListShape:
  - Shape
  botocore.model.MapShape:
  - Shape
  botocore.model.NoShapeFoundError:
  - Exception
  botocore.model.OperationModel: []
  botocore.model.OperationNotFoundError:
  - Exception
  botocore.model.ServiceId:
  - str
  botocore.model.ServiceModel: []
  botocore.model.Shape: []
  botocore.model.ShapeNameGenerator: []
  botocore.model.ShapeResolver: []
  botocore.model.StaticContextParameter:
  - NamedTuple
  botocore.model.StringShape:
  - Shape
  botocore.model.StructureShape:
  - Shape
  botocore.model.UnresolvableShapeMap: []
  botocore.monitoring.APICallAttemptEvent:
  - BaseMonitorEvent
  botocore.monitoring.APICallEvent:
  - BaseMonitorEvent
  botocore.monitoring.BaseMonitorEvent: []
  botocore.monitoring.CSMSerializer: []
  botocore.monitoring.Monitor: []
  botocore.monitoring.MonitorEventAdapter: []
  botocore.monitoring.SocketPublisher: []
  botocore.paginate.PageIterator: []
  botocore.paginate.Paginator: []
  botocore.paginate.PaginatorModel: []
  botocore.paginate.ResultKeyIterator: []
  botocore.paginate.TokenDecoder: []
  botocore.paginate.TokenEncoder: []
  botocore.parsers.BaseEventStreamParser:
  - ResponseParser
  botocore.parsers.BaseJSONParser:
  - ResponseParser
  botocore.parsers.BaseRestParser:
  - ResponseParser
  botocore.parsers.BaseXMLResponseParser:
  - ResponseParser
  botocore.parsers.EC2QueryParser:
  - QueryParser
  botocore.parsers.EventStreamJSONParser:
  - BaseJSONParser
  - BaseEventStreamParser
  botocore.parsers.EventStreamXMLParser:
  - BaseXMLResponseParser
  - BaseEventStreamParser
  botocore.parsers.JSONParser:
  - BaseJSONParser
  botocore.parsers.QueryParser:
  - BaseXMLResponseParser
  botocore.parsers.ResponseParser: []
  botocore.parsers.ResponseParserError:
  - Exception
  botocore.parsers.ResponseParserFactory: []
  botocore.parsers.RestJSONParser:
  - BaseJSONParser
  - BaseRestParser
  botocore.parsers.RestXMLParser:
  - BaseXMLResponseParser
  - BaseRestParser
  botocore.regions.BaseEndpointResolver: []
  botocore.regions.EndpointResolver:
  - BaseEndpointResolver
  botocore.regions.EndpointResolverBuiltins:
  - Enum
  - str
  botocore.regions.EndpointRulesetResolver: []
  botocore.response.StreamingBody:
  - IOBase
  botocore.retries.adaptive.ClientRateLimiter: []
  botocore.retries.adaptive.RateClocker: []
  botocore.retries.base.BaseRetryBackoff: []
  botocore.retries.base.BaseRetryableChecker: []
  botocore.retries.bucket.Clock: []
  botocore.retries.bucket.TokenBucket: []
  botocore.retries.quota.RetryQuota: []
  botocore.retries.special.RetryDDBChecksumError:
  - BaseRetryableChecker
  botocore.retries.special.RetryIDPCommunicationError:
  - BaseRetryableChecker
  botocore.retries.standard.ExponentialBackoff:
  - BaseRetryBackoff
  botocore.retries.standard.MaxAttemptsChecker:
  - BaseRetryableChecker
  botocore.retries.standard.ModeledRetryErrorDetector: []
  botocore.retries.standard.ModeledRetryableChecker:
  - BaseRetryableChecker
  botocore.retries.standard.OrRetryChecker:
  - BaseRetryableChecker
  botocore.retries.standard.RetryContext: []
  botocore.retries.standard.RetryEventAdapter: []
  botocore.retries.standard.RetryHandler: []
  botocore.retries.standard.RetryPolicy: []
  botocore.retries.standard.RetryQuotaChecker: []
  botocore.retries.standard.StandardRetryConditions:
  - BaseRetryableChecker
  botocore.retries.standard.ThrottledRetryableChecker:
  - BaseRetryableChecker
  botocore.retries.standard.ThrottlingErrorDetector: []
  botocore.retries.standard.TransientRetryableChecker:
  - BaseRetryableChecker
  botocore.retries.throttling.CubicCalculator: []
  botocore.retryhandler.BaseChecker: []
  botocore.retryhandler.CRC32Checker:
  - BaseChecker
  botocore.retryhandler.ExceptionRaiser:
  - BaseChecker
  botocore.retryhandler.HTTPStatusCodeChecker:
  - BaseChecker
  botocore.retryhandler.MaxAttemptsDecorator:
  - BaseChecker
  botocore.retryhandler.MultiChecker:
  - BaseChecker
  botocore.retryhandler.RetryHandler: []
  botocore.retryhandler.ServiceErrorCodeChecker:
  - BaseChecker
  botocore.serialize.BaseRestSerializer:
  - Serializer
  botocore.serialize.EC2Serializer:
  - QuerySerializer
  botocore.serialize.JSONSerializer:
  - Serializer
  botocore.serialize.QuerySerializer:
  - Serializer
  botocore.serialize.RestJSONSerializer:
  - BaseRestSerializer
  - JSONSerializer
  botocore.serialize.RestXMLSerializer:
  - BaseRestSerializer
  botocore.serialize.Serializer: []
  botocore.session.ComponentLocator: []
  botocore.session.Session: []
  botocore.session.SessionVarDict:
  - MutableMapping
  botocore.session.SubsetChainConfigFactory: []
  botocore.signers.CloudFrontSigner: []
  botocore.signers.RequestSigner: []
  botocore.signers.S3PostPresigner: []
  botocore.stub.Stubber: []
  botocore.stub._ANY: []
  botocore.tokens.DeferredRefreshableToken: []
  botocore.tokens.FrozenAuthToken:
  - NamedTuple
  botocore.tokens.SSOTokenProvider: []
  botocore.tokens.TokenProviderChain: []
  botocore.utils.ArgumentGenerator: []
  botocore.utils.ArnParser: []
  botocore.utils.BadIMDSRequestError:
  - Exception
  botocore.utils.CachedProperty: []
  botocore.utils.ContainerMetadataFetcher: []
  botocore.utils.EventbridgeSignerSetter: []
  botocore.utils.FileWebIdentityTokenLoader: []
  botocore.utils.IMDSFetcher: []
  botocore.utils.IMDSRegionProvider: []
  botocore.utils.InstanceMetadataFetcher:
  - IMDSFetcher
  botocore.utils.InstanceMetadataRegionFetcher:
  - IMDSFetcher
  botocore.utils.InvalidArnException:
  - ValueError
  botocore.utils.JSONFileCache: []
  botocore.utils.S3ArnParamHandler: []
  botocore.utils.S3ControlArnParamHandler: []
  botocore.utils.S3ControlArnParamHandlerv2:
  - S3ControlArnParamHandler
  botocore.utils.S3ControlEndpointSetter: []
  botocore.utils.S3EndpointSetter: []
  botocore.utils.S3RegionRedirector: []
  botocore.utils.S3RegionRedirectorv2: []
  botocore.utils.SSOTokenLoader: []
  botocore.utils._RetriesExceededError:
  - Exception
  botocore.validate.ParamValidationDecorator: []
  botocore.validate.ParamValidator: []
  botocore.validate.ValidationErrors: []
  botocore.vendored.requests.exceptions.ChunkedEncodingError:
  - RequestException
  botocore.vendored.requests.exceptions.ConnectTimeout:
  - Timeout
  - ConnectionError
  botocore.vendored.requests.exceptions.ConnectionError:
  - RequestException
  botocore.vendored.requests.exceptions.ContentDecodingError:
  - BaseHTTPError
  - RequestException
  botocore.vendored.requests.exceptions.HTTPError:
  - RequestException
  botocore.vendored.requests.exceptions.InvalidSchema:
  - RequestException
  - ValueError
  botocore.vendored.requests.exceptions.InvalidURL:
  - RequestException
  - ValueError
  botocore.vendored.requests.exceptions.MissingSchema:
  - RequestException
  - ValueError
  botocore.vendored.requests.exceptions.ProxyError:
  - ConnectionError
  botocore.vendored.requests.exceptions.ReadTimeout:
  - Timeout
  botocore.vendored.requests.exceptions.RequestException:
  - IOError
  botocore.vendored.requests.exceptions.RetryError:
  - RequestException
  botocore.vendored.requests.exceptions.SSLError:
  - ConnectionError
  botocore.vendored.requests.exceptions.StreamConsumedError:
  - TypeError
  - RequestException
  botocore.vendored.requests.exceptions.Timeout:
  - RequestException
  botocore.vendored.requests.exceptions.TooManyRedirects:
  - RequestException
  botocore.vendored.requests.exceptions.URLRequired:
  - RequestException
  botocore.vendored.requests.packages.urllib3.exceptions.ClosedPoolError:
  - PoolError
  botocore.vendored.requests.packages.urllib3.exceptions.ConnectTimeoutError:
  - TimeoutError
  botocore.vendored.requests.packages.urllib3.exceptions.DecodeError:
  - HTTPError
  botocore.vendored.requests.packages.urllib3.exceptions.EmptyPoolError:
  - PoolError
  botocore.vendored.requests.packages.urllib3.exceptions.HTTPError:
  - Exception
  botocore.vendored.requests.packages.urllib3.exceptions.HTTPWarning:
  - Warning
  botocore.vendored.requests.packages.urllib3.exceptions.HostChangedError:
  - RequestError
  botocore.vendored.requests.packages.urllib3.exceptions.InsecurePlatformWarning:
  - SecurityWarning
  botocore.vendored.requests.packages.urllib3.exceptions.InsecureRequestWarning:
  - SecurityWarning
  botocore.vendored.requests.packages.urllib3.exceptions.LocationParseError:
  - LocationValueError
  botocore.vendored.requests.packages.urllib3.exceptions.LocationValueError:
  - HTTPError
  - ValueError
  botocore.vendored.requests.packages.urllib3.exceptions.MaxRetryError:
  - RequestError
  botocore.vendored.requests.packages.urllib3.exceptions.PoolError:
  - HTTPError
  botocore.vendored.requests.packages.urllib3.exceptions.ProtocolError:
  - HTTPError
  botocore.vendored.requests.packages.urllib3.exceptions.ProxyError:
  - HTTPError
  botocore.vendored.requests.packages.urllib3.exceptions.ReadTimeoutError:
  - TimeoutError
  - RequestError
  botocore.vendored.requests.packages.urllib3.exceptions.RequestError:
  - PoolError
  botocore.vendored.requests.packages.urllib3.exceptions.ResponseError:
  - HTTPError
  botocore.vendored.requests.packages.urllib3.exceptions.ResponseNotChunked:
  - ProtocolError
  - ValueError
  botocore.vendored.requests.packages.urllib3.exceptions.SSLError:
  - HTTPError
  botocore.vendored.requests.packages.urllib3.exceptions.SecurityWarning:
  - HTTPWarning
  botocore.vendored.requests.packages.urllib3.exceptions.SystemTimeWarning:
  - SecurityWarning
  botocore.vendored.requests.packages.urllib3.exceptions.TimeoutError:
  - HTTPError
  botocore.vendored.requests.packages.urllib3.exceptions.TimeoutStateError:
  - HTTPError
  botocore.vendored.six.Iterator:
  - object
  botocore.vendored.six.Module_six_moves_urllib: []
  botocore.vendored.six.Module_six_moves_urllib_error:
  - _LazyModule
  botocore.vendored.six.Module_six_moves_urllib_parse:
  - _LazyModule
  botocore.vendored.six.Module_six_moves_urllib_request:
  - _LazyModule
  botocore.vendored.six.Module_six_moves_urllib_response:
  - _LazyModule
  botocore.vendored.six.Module_six_moves_urllib_robotparser:
  - _LazyModule
  botocore.vendored.six.MovedAttribute:
  - _LazyDescr
  botocore.vendored.six.MovedModule:
  - _LazyDescr
  botocore.vendored.six.X:
  - object
  botocore.vendored.six._LazyDescr:
  - object
  botocore.vendored.six._LazyModule: []
  botocore.vendored.six._MovedItems:
  - _LazyModule
  botocore.vendored.six._SixMetaPathImporter:
  - object
  botocore.vendored.six.with_metaclass.metaclass:
  - type
  botocore.waiter.AcceptorConfig: []
  botocore.waiter.NormalizedOperationMethod: []
  botocore.waiter.SingleWaiterConfig: []
  botocore.waiter.Waiter: []
  botocore.waiter.WaiterModel: []
ep:
  func_name: TestOneInput
  module: '...fuzz_serialization'
