All classes:
- gunicorn.errors.HaltServer
- gunicorn.errors.ConfigError
- gunicorn.errors.AppImportError
- gunicorn.glogging.SafeAtoms
- gunicorn.glogging.Logger
- gunicorn.pidfile.Pidfile
- gunicorn.sock.BaseSocket
- gunicorn.sock.TCPSocket
- gunicorn.sock.TCP6Socket
- gunicorn.sock.UnixSocket
- gunicorn.arbiter.Arbiter
- gunicorn.reloader.Reloader
- gunicorn.reloader.InotifyReloader
- gunicorn.config.Config
- gunicorn.config.SettingMeta
- gunicorn.config.Setting
- gunicorn.config.ConfigFile
- gunicorn.config.WSGIApp
- gunicorn.config.Bind
- gunicorn.config.Backlog
- gunicorn.config.Workers
- gunicorn.config.WorkerClass
- gunicorn.config.WorkerThreads
- gunicorn.config.WorkerConnections
- gunicorn.config.MaxRequests
- gunicorn.config.MaxRequestsJitter
- gunicorn.config.Timeout
- gunicorn.config.GracefulTimeout
- gunicorn.config.Keepalive
- gunicorn.config.LimitRequestLine
- gunicorn.config.LimitRequestFields
- gunicorn.config.LimitRequestFieldSize
- gunicorn.config.Reload
- gunicorn.config.ReloadEngine
- gunicorn.config.ReloadExtraFiles
- gunicorn.config.Spew
- gunicorn.config.ConfigCheck
- gunicorn.config.PrintConfig
- gunicorn.config.PreloadApp
- gunicorn.config.Sendfile
- gunicorn.config.ReusePort
- gunicorn.config.Chdir
- gunicorn.config.Daemon
- gunicorn.config.Env
- gunicorn.config.Pidfile
- gunicorn.config.WorkerTmpDir
- gunicorn.config.User
- gunicorn.config.Group
- gunicorn.config.Umask
- gunicorn.config.Initgroups
- gunicorn.config.TmpUploadDir
- gunicorn.config.SecureSchemeHeader
- gunicorn.config.ForwardedAllowIPS
- gunicorn.config.AccessLog
- gunicorn.config.DisableRedirectAccessToSyslog
- gunicorn.config.AccessLogFormat
- gunicorn.config.ErrorLog
- gunicorn.config.Loglevel
- gunicorn.config.CaptureOutput
- gunicorn.config.LoggerClass
- gunicorn.config.LogConfig
- gunicorn.config.LogConfigDict
- gunicorn.config.LogConfigJson
- gunicorn.config.SyslogTo
- gunicorn.config.Syslog
- gunicorn.config.SyslogPrefix
- gunicorn.config.SyslogFacility
- gunicorn.config.EnableStdioInheritance
- gunicorn.config.StatsdHost
- gunicorn.config.DogstatsdTags
- gunicorn.config.StatsdPrefix
- gunicorn.config.Procname
- gunicorn.config.DefaultProcName
- gunicorn.config.PythonPath
- gunicorn.config.Paste
- gunicorn.config.OnStarting
- gunicorn.config.OnReload
- gunicorn.config.WhenReady
- gunicorn.config.Prefork
- gunicorn.config.Postfork
- gunicorn.config.PostWorkerInit
- gunicorn.config.WorkerInt
- gunicorn.config.WorkerAbort
- gunicorn.config.PreExec
- gunicorn.config.PreRequest
- gunicorn.config.PostRequest
- gunicorn.config.ChildExit
- gunicorn.config.WorkerExit
- gunicorn.config.NumWorkersChanged
- gunicorn.config.OnExit
- gunicorn.config.NewSSLContext
- gunicorn.config.ProxyProtocol
- gunicorn.config.ProxyAllowFrom
- gunicorn.config.KeyFile
- gunicorn.config.CertFile
- gunicorn.config.SSLVersion
- gunicorn.config.CertReqs
- gunicorn.config.CACerts
- gunicorn.config.SuppressRaggedEOFs
- gunicorn.config.DoHandshakeOnConnect
- gunicorn.config.Ciphers
- gunicorn.config.PasteGlobalConf
- gunicorn.config.PermitObsoleteFolding
- gunicorn.config.StripHeaderSpaces
- gunicorn.config.PermitUnconventionalHTTPMethod
- gunicorn.config.PermitUnconventionalHTTPVersion
- gunicorn.config.CasefoldHTTPMethod
- gunicorn.config.ForwarderHeaders
- gunicorn.config.HeaderMap
- gunicorn.debug.Spew
- gunicorn.app.base.BaseApplication
- gunicorn.app.base.Application
- gunicorn.app.wsgiapp.WSGIApplication
- gunicorn.app.pasterapp.serve.PasterServerApplication
- gunicorn.http.errors.ParseException
- gunicorn.http.errors.NoMoreData
- gunicorn.http.errors.ConfigurationProblem
- gunicorn.http.errors.InvalidRequestLine
- gunicorn.http.errors.InvalidRequestMethod
- gunicorn.http.errors.InvalidHTTPVersion
- gunicorn.http.errors.InvalidHeader
- gunicorn.http.errors.ObsoleteFolding
- gunicorn.http.errors.InvalidHeaderName
- gunicorn.http.errors.UnsupportedTransferCoding
- gunicorn.http.errors.InvalidChunkSize
- gunicorn.http.errors.ChunkMissingTerminator
- gunicorn.http.errors.LimitRequestLine
- gunicorn.http.errors.LimitRequestHeaders
- gunicorn.http.errors.InvalidProxyLine
- gunicorn.http.errors.ForbiddenProxyRequest
- gunicorn.http.errors.InvalidSchemeHeaders
- gunicorn.http.body.ChunkedReader
- gunicorn.http.body.LengthReader
- gunicorn.http.body.EOFReader
- gunicorn.http.body.Body
- gunicorn.http.message.Message
- gunicorn.http.message.Request
- gunicorn.http.unreader.Unreader
- gunicorn.http.unreader.SocketUnreader
- gunicorn.http.unreader.IterUnreader
- gunicorn.http.parser.Parser
- gunicorn.http.parser.RequestParser
- gunicorn.http.wsgi.FileWrapper
- gunicorn.http.wsgi.WSGIErrorsWrapper
- gunicorn.http.wsgi.Response
- gunicorn.workers.workertmp.WorkerTmp
- gunicorn.workers.base.Worker
- gunicorn.workers.gthread.TConn
- gunicorn.workers.gthread.ThreadWorker
- gunicorn.workers.base_async.AsyncWorker
- gunicorn.workers.geventlet.EventletWorker
- gunicorn.workers.ggevent.GeventWorker
- gunicorn.workers.ggevent.GeventResponse
- gunicorn.workers.ggevent.PyWSGIHandler
- gunicorn.workers.ggevent.PyWSGIServer
- gunicorn.workers.ggevent.GeventPyWSGIWorker
- gunicorn.workers.sync.StopWaiting
- gunicorn.workers.sync.SyncWorker
- gunicorn.workers.gtornado.TornadoWorker
- gunicorn.workers.gtornado.TornadoWorker.run._HTTPServer
- gunicorn.instrument.statsd.Statsd
All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: '...fuzz_util'
    functionSourceFile: '...fuzz_util'
    functionUses: 0
    functionsReached:
    - atheris.instrument_imports
    - atheris.Setup
    - atheris.Fuzz
    - '...fuzz_util.main'
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_imports
    functionSourceFile: atheris
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 8
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 22
    functionName: '...fuzz_util.TestInput'
    functionSourceFile: '...fuzz_util'
    functionUses: 0
    functionsReached:
    - email.utils.formatdate
    - gunicorn.util.warn
    - value.encode
    - sys.stderr.flush
    - ast.literal_eval
    - gunicorn.util.parse_address
    - uri.startswith
    - gunicorn.util.to_bytestring
    - fdp.ConsumeString
    - sys.exc_info
    - atheris.FuzzedDataProvider
    - traceback.print_exception
    - host.lower
    - msg.splitlines
    - module.endswith
    - gunicorn.util.import_app
    - <builtin>.print
    - <builtin>.callable
    - <builtin>.enumerate
    - parts._replace
    - urllib.parse.urlsplit
    - os.path.exists
    - socket.inet_pton
    - gunicorn.util.http_date
    - <builtin>.len
    - <builtin>.str
    - time.time
    - gunicorn.util.split_request_uri
    - <builtin>.getattr
    - <builtin>.int
    - gunicorn.util.is_ipv6
    - re.match
    - ast.parse
    - netloc.split
    - module.split
    - importlib.import_module
    - fdp.ConsumeInt
    - netloc.startswith
    - gunicorn.util._called_with_wrong_args
    - <builtin>.isinstance
    - re.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeString
    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
    argDefaultValues: []
    argNames:
    - addr
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 212
    functionName: gunicorn.util.is_ipv6
    functionSourceFile: gunicorn.util
    functionUses: 18
    functionsReached:
    - socket.inet_pton
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - msg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 591
    functionName: gunicorn.util.warn
    functionSourceFile: gunicorn.util
    functionUses: 15
    functionsReached:
    - msg.splitlines
    - sys.stderr.flush
    - <builtin>.print
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - uri
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 617
    functionName: gunicorn.util.split_request_uri
    functionSourceFile: gunicorn.util
    functionUses: 3
    functionsReached:
    - urllib.parse.urlsplit
    - uri.startswith
    - parts._replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f66bacb0c70>
    argNames:
    - netloc
    - default_port
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 222
    functionName: gunicorn.util.parse_address
    functionSourceFile: gunicorn.util
    functionUses: 3
    functionsReached:
    - <builtin>.int
    - re.match
    - netloc.split
    - netloc.startswith
    - host.lower
    - re.split
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.str
    functionSourceFile: <builtin>
    functionUses: 54
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeInt
    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
    argDefaultValues:
    - <ast.Constant object at 0x7f66baa33be0>
    argNames:
    - timestamp
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 455
    functionName: gunicorn.util.http_date
    functionSourceFile: gunicorn.util
    functionUses: 7
    functionsReached:
    - email.utils.formatdate
    - time.time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f66baf215e0>
    argNames:
    - value
    - encoding
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 568
    functionName: gunicorn.util.to_bytestring
    functionSourceFile: gunicorn.util
    functionUses: 9
    functionsReached:
    - <builtin>.isinstance
    - value.encode
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 1
    IfCount: 10
    argCount: 1
    argDefaultValues: []
    argNames:
    - module
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 358
    functionName: gunicorn.util.import_app
    functionSourceFile: gunicorn.util
    functionUses: 3
    functionsReached:
    - <builtin>.getattr
    - ast.parse
    - gunicorn.util._called_with_wrong_args
    - <builtin>.callable
    - module.split
    - importlib.import_module
    - os.path.exists
    - sys.exc_info
    - <builtin>.isinstance
    - traceback.print_exception
    - ast.literal_eval
    - <builtin>.len
    - module.endswith
    linkageType: pythonLinkage
    raised:
    - ImportError
    - AppImportError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 75
    functionName: '...fuzz_util.main'
    functionSourceFile: '...fuzz_util'
    functionUses: 1
    functionsReached:
    - atheris.Setup
    - atheris.Fuzz
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Setup
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Fuzz
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.util
    functionSourceFile: gunicorn.util
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - sys.platform.startswith
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.getattr
    functionSourceFile: <builtin>
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.set
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - title
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 55
    functionName: gunicorn.util._setproctitle
    functionSourceFile: gunicorn.util
    functionUses: 10
    functionsReached:
    - setproctitle.setproctitle
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: setproctitle.setproctitle
    functionSourceFile: setproctitle
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - distribution
    - group
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 59
    functionName: gunicorn.util.load_entry_point
    functionSourceFile: gunicorn.util
    functionUses: 14
    functionsReached:
    - importlib_metadata.distribution
    - importlib.metadata.distribution
    linkageType: pythonLinkage
    raised:
    - ImportError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: importlib_metadata.distribution
    functionSourceFile: importlib_metadata
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: importlib.metadata.distribution
    functionSourceFile: importlib
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f66baef2a90>
    - <ast.Constant object at 0x7f66baef26a0>
    argNames:
    - uri
    - default
    - section
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 68
    functionName: gunicorn.util.load_class
    functionSourceFile: gunicorn.util
    functionUses: 13
    functionsReached:
    - <builtin>.getattr
    - importlib_metadata.distribution
    - uri.startswith
    - uri.split
    - traceback.format_exc
    - entry_str.rsplit
    - components.pop
    - importlib.metadata.distribution
    - importlib.import_module
    - inspect.isclass
    - <builtin>.len
    - gunicorn.util.load_entry_point
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.isclass
    functionSourceFile: inspect
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: uri.startswith
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: uri.split
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: entry_str.rsplit
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traceback.format_exc
    functionSourceFile: traceback
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.len
    functionSourceFile: <builtin>
    functionUses: 81
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: components.pop
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: importlib.import_module
    functionSourceFile: importlib
    functionUses: 30
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 124
    functionName: gunicorn.util.get_arity
    functionSourceFile: gunicorn.util
    functionUses: 2
    functionsReached:
    - inspect.signature
    - sig.parameters.values
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.signature
    functionSourceFile: inspect
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sig.parameters.values
    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
    argDefaultValues: []
    argNames:
    - uid
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 135
    functionName: gunicorn.util.get_username
    functionSourceFile: gunicorn.util
    functionUses: 2
    functionsReached:
    - pwd.getpwuid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pwd.getpwuid
    functionSourceFile: pwd
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f66bb37d8b0>
    argNames:
    - uid
    - gid
    - initgroups
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 140
    functionName: gunicorn.util.set_owner_process
    functionSourceFile: gunicorn.util
    functionUses: 1
    functionsReached:
    - os.getuid
    - os.setgid
    - os.setuid
    - os.initgroups
    - pwd.getpwuid
    - os.getgid
    - gunicorn.util.get_username
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.initgroups
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.getgid
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.setgid
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.getuid
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.setuid
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - path
    - uid
    - gid
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 159
    functionName: gunicorn.util.chown
    functionSourceFile: gunicorn.util
    functionUses: 16
    functionsReached:
    - os.chown
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.chown
    functionSourceFile: os
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.platform.startswith
    functionSourceFile: sys
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f66bae9ae80>
    argNames:
    - func
    - pathname
    - waitall
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 164
    functionName: gunicorn.util._waitfor
    functionSourceFile: gunicorn.util
    functionUses: 1
    functionsReached:
    - os.listdir
    - time.sleep
    - os.path.split
    - warnings.warn
    - os.unlink
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.unlink
    functionSourceFile: os
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.split
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.listdir
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.sleep
    functionSourceFile: time
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: warnings.warn
    functionSourceFile: warnings
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - filename
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 197
    functionName: gunicorn.util._unlink
    functionSourceFile: gunicorn.util
    functionUses: 0
    functionsReached:
    - os.listdir
    - time.sleep
    - os.path.split
    - warnings.warn
    - os.unlink
    - gunicorn.util._waitfor
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - filename
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 203
    functionName: gunicorn.util.unlink
    functionSourceFile: gunicorn.util
    functionUses: 2
    functionsReached:
    - os.unlink
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: socket.inet_pton
    functionSourceFile: socket
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.match
    functionSourceFile: re
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.split
    functionSourceFile: re
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: netloc.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.int
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: netloc.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: host.lower
    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
    argDefaultValues: []
    argNames:
    - fd
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 253
    functionName: gunicorn.util.close_on_exec
    functionSourceFile: gunicorn.util
    functionUses: 10
    functionsReached:
    - fcntl.fcntl
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fcntl.fcntl
    functionSourceFile: fcntl
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - fd
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 259
    functionName: gunicorn.util.set_non_blocking
    functionSourceFile: gunicorn.util
    functionUses: 5
    functionsReached:
    - fcntl.fcntl
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - sock
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 264
    functionName: gunicorn.util.close
    functionSourceFile: gunicorn.util
    functionUses: 6
    functionsReached:
    - sock.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sock.close
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - fd_low
    - fd_high
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 274
    functionName: gunicorn.util.closerange
    functionSourceFile: gunicorn.util
    functionUses: 0
    functionsReached:
    - <builtin>.range
    - os.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.range
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.close
    functionSourceFile: os
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - sock
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 283
    functionName: gunicorn.util.write_chunk
    functionSourceFile: gunicorn.util
    functionUses: 16
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - sock.sendall
    - data.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.isinstance
    functionSourceFile: <builtin>
    functionUses: 114
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.encode
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sock.sendall
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f66baee1250>
    argNames:
    - sock
    - data
    - chunked
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 291
    functionName: gunicorn.util.write
    functionSourceFile: gunicorn.util
    functionUses: 15
    functionsReached:
    - gunicorn.util.write_chunk
    - data.encode
    - <builtin>.len
    - <builtin>.isinstance
    - sock.sendall
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f66bad59d00>
    argNames:
    - sock
    - data
    - chunked
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 297
    functionName: gunicorn.util.write_nonblock
    functionSourceFile: gunicorn.util
    functionUses: 9
    functionsReached:
    - gunicorn.util.write_chunk
    - sock.sendall
    - sock.gettimeout
    - data.encode
    - <builtin>.len
    - sock.setblocking
    - <builtin>.isinstance
    - gunicorn.util.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sock.gettimeout
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sock.setblocking
    functionSourceFile: <builtin>
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - sock
    - status_int
    - reason
    - mesg
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 309
    functionName: gunicorn.util.write_error
    functionSourceFile: gunicorn.util
    functionUses: 8
    functionsReached:
    - gunicorn.util.write_chunk
    - sock.sendall
    - sock.setblocking
    - gunicorn.util.write_nonblock
    - textwrap.dedent
    - sock.gettimeout
    - <builtin>.str
    - gunicorn.util.write
    - data.encode
    - <builtin>.len
    - http.encode
    - <builtin>.isinstance
    - html.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: textwrap.dedent
    functionSourceFile: textwrap
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.escape
    functionSourceFile: html
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.encode
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 332
    functionName: gunicorn.util._called_with_wrong_args
    functionSourceFile: gunicorn.util
    functionUses: 4
    functionsReached:
    - sys.exc_info
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.exc_info
    functionSourceFile: sys
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: module.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: module.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.exists
    functionSourceFile: os
    functionUses: 35
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.parse
    functionSourceFile: ast
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.literal_eval
    functionSourceFile: ast
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traceback.print_exception
    functionSourceFile: traceback
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.callable
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 441
    functionName: gunicorn.util.getcwd
    functionSourceFile: gunicorn.util
    functionUses: 4
    functionsReached:
    - os.getcwd
    - os.stat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.stat
    functionSourceFile: os
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.getcwd
    functionSourceFile: os
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.time
    functionSourceFile: time
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: email.utils.formatdate
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - header
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 463
    functionName: gunicorn.util.is_hoppish
    functionSourceFile: gunicorn.util
    functionUses: 2
    functionsReached:
    - header.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: header.lower
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 14
    IfCount: 6
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f66baa33cd0>
    argNames:
    - enable_stdio_inheritance
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 467
    functionName: gunicorn.util.daemonize
    functionSourceFile: gunicorn.util
    functionUses: 5
    functionsReached:
    - gunicorn.util.daemonize.redirect
    - os.closerange
    - os.setsid
    - os.fork
    - os.set_inheritable
    - sys.stderr.isatty
    - sys.stdout.isatty
    - sys.stderr.fileno
    - os.open
    - os.dup2
    - os.umask
    - os._exit
    - os.close
    - sys.stdout.fileno
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.fork
    functionSourceFile: os
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os._exit
    functionSourceFile: os
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.setsid
    functionSourceFile: os
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.umask
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.closerange
    functionSourceFile: os
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.open
    functionSourceFile: os
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.set_inheritable
    functionSourceFile: os
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.dup2
    functionSourceFile: os
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - stream
    - fd_expect
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 540
    functionName: gunicorn.util.daemonize.redirect
    functionSourceFile: gunicorn.util
    functionUses: 6
    functionsReached:
    - sys.stderr.isatty
    - sys.stderr.fileno
    - sys.stdout.isatty
    - os.close
    - os.dup2
    - sys.stdout.fileno
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stderr.fileno
    functionSourceFile: sys
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stdout.fileno
    functionSourceFile: sys
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stderr.isatty
    functionSourceFile: sys
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stdout.isatty
    functionSourceFile: sys
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 553
    functionName: gunicorn.util.seed
    functionSourceFile: gunicorn.util
    functionUses: 1
    functionsReached:
    - os.getpid
    - random.seed
    - time.time
    - os.urandom
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.urandom
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: random.seed
    functionSourceFile: random
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.getpid
    functionSourceFile: os
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 560
    functionName: gunicorn.util.check_is_writable
    functionSourceFile: gunicorn.util
    functionUses: 4
    functionsReached:
    - <builtin>.open
    - f.close
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.open
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.close
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.encode
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 578
    functionName: gunicorn.util.has_fileno
    functionSourceFile: gunicorn.util
    functionUses: 2
    functionsReached:
    - <builtin>.hasattr
    - obj.fileno
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.hasattr
    functionSourceFile: <builtin>
    functionUses: 51
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: obj.fileno
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.print
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: msg.splitlines
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.enumerate
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stderr.flush
    functionSourceFile: sys
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - msg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 604
    functionName: gunicorn.util.make_fail_app
    functionSourceFile: gunicorn.util
    functionUses: 2
    functionsReached:
    - gunicorn.util.to_bytestring
    - <builtin>.isinstance
    - value.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 607
    functionName: gunicorn.util.make_fail_app.app
    functionSourceFile: gunicorn.util
    functionUses: 10
    functionsReached:
    - <builtin>.len
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlsplit
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parts._replace
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f66bb487cd0>
    argNames:
    - tp
    - value
    - tb
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 630
    functionName: gunicorn.util.reraise
    functionSourceFile: gunicorn.util
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - b
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 642
    functionName: gunicorn.util.bytes_to_str
    functionSourceFile: gunicorn.util
    functionUses: 12
    functionsReached:
    - <builtin>.str
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 648
    functionName: gunicorn.util.unquote_to_wsgi_str
    functionSourceFile: gunicorn.util
    functionUses: 11
    functionsReached:
    - urllib.parse.unquote_to_bytes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.unquote_to_bytes
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.workers
    functionSourceFile: gunicorn.workers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.errors
    functionSourceFile: gunicorn.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f66baf03250>
    argNames:
    - self
    - reason
    - exit_status
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 15
    functionName: gunicorn.errors.HaltServer.__init__
    functionSourceFile: gunicorn.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 19
    functionName: gunicorn.errors.HaltServer.__str__
    functionSourceFile: gunicorn.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn
    functionSourceFile: gunicorn
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.systemd
    functionSourceFile: gunicorn.systemd
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f66bae559a0>
    argNames:
    - unset_environment
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 11
    functionName: gunicorn.systemd.listen_fds
    functionSourceFile: gunicorn.systemd
    functionUses: 0
    functionsReached:
    - os.getpid
    - os.environ.get
    - <builtin>.int
    - os.environ.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.environ.get
    functionSourceFile: os
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.environ.pop
    functionSourceFile: os
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f66baef2a00>
    argNames:
    - state
    - logger
    - unset_environment
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 48
    functionName: gunicorn.systemd.sd_notify
    functionSourceFile: gunicorn.systemd
    functionUses: 0
    functionsReached:
    - logger.debug
    - state.encode
    - socket.socket
    - os.environ.get
    - sock.close
    - os.environ.pop
    - sock.connect
    - sock.sendall
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: socket.socket
    functionSourceFile: socket
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sock.connect
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: state.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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.debug
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.glogging
    functionSourceFile: gunicorn.glogging
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 88
    functionName: gunicorn.glogging.loggers
    functionSourceFile: gunicorn.glogging
    functionUses: 2
    functionsReached:
    - <builtin>.list
    - logging.root.manager.loggerDict.keys
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.root.manager.loggerDict.keys
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.list
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.getLogger
    functionSourceFile: logging
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - atoms
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 97
    functionName: gunicorn.glogging.SafeAtoms.__init__
    functionSourceFile: gunicorn.glogging
    functionUses: 2
    functionsReached:
    - dict.__init__
    - <builtin>.isinstance
    - atoms.items
    - value.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dict.__init__
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atoms.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.replace
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - k
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 105
    functionName: gunicorn.glogging.SafeAtoms.__getitem__
    functionSourceFile: gunicorn.glogging
    functionUses: 0
    functionsReached:
    - k.lower
    - k.startswith
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: k.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: k.lower
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.super
    functionSourceFile: <builtin>
    functionUses: 49
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 0
    IfCount: 10
    argCount: 1
    argDefaultValues: []
    argNames:
    - addr
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 118
    functionName: gunicorn.glogging.parse_syslog_address
    functionSourceFile: gunicorn.glogging
    functionUses: 4
    functionsReached:
    - <builtin>.int
    - port.isdigit
    - addr.lower
    - <builtin>.len
    - addr.startswith
    - addr.split
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: addr.startswith
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: addr.split
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: addr.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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: port.isdigit
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cfg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 183
    functionName: gunicorn.glogging.Logger.__init__
    functionSourceFile: gunicorn.glogging
    functionUses: 1
    functionsReached:
    - logging.StreamHandler
    - logging.config.fileConfig
    - log.addHandler
    - sys.stdout.fileno
    - gunicorn.glogging.parse_syslog_address
    - port.isdigit
    - cfg.proc_name.replace
    - logging.FileHandler
    - threading.Lock
    - sys.stderr.fileno
    - gunicorn.glogging.Logger._set_handler
    - addr.lower
    - addr.split
    - <builtin>.open
    - f.close
    - stream.flush
    - gunicorn.glogging.Logger.setup
    - h.setFormatter
    - os.path.exists
    - os.chown
    - CONFIG_DEFAULTS.copy
    - logging.getLogger
    - <builtin>.len
    - logging.Formatter
    - os.dup2
    - <builtin>.getattr
    - gunicorn.glogging.Logger._set_syslog_handler
    - json.load
    - <builtin>.int
    - cfg.syslog_facility.lower
    - os.path.dirname
    - logging.handlers.SysLogHandler
    - logging.config.dictConfig
    - config.update
    - logging.INFO.lower
    - gunicorn.glogging.Logger._get_gunicorn_handler
    - addr.startswith
    - log.handlers.remove
    - gunicorn.util.check_is_writable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: threading.Lock
    functionSourceFile: threading
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 14
    IfCount: 9
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cfg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 195
    functionName: gunicorn.glogging.Logger.setup
    functionSourceFile: gunicorn.glogging
    functionUses: 2
    functionsReached:
    - logging.StreamHandler
    - logging.config.fileConfig
    - log.addHandler
    - sys.stdout.fileno
    - gunicorn.glogging.parse_syslog_address
    - port.isdigit
    - cfg.proc_name.replace
    - logging.FileHandler
    - sys.stderr.fileno
    - addr.lower
    - gunicorn.glogging.Logger._set_handler
    - addr.split
    - <builtin>.open
    - f.close
    - stream.flush
    - h.setFormatter
    - os.path.exists
    - os.chown
    - CONFIG_DEFAULTS.copy
    - <builtin>.len
    - logging.Formatter
    - os.dup2
    - <builtin>.getattr
    - gunicorn.glogging.Logger._set_syslog_handler
    - json.load
    - <builtin>.int
    - cfg.syslog_facility.lower
    - os.path.dirname
    - logging.handlers.SysLogHandler
    - logging.config.dictConfig
    - config.update
    - logging.INFO.lower
    - gunicorn.glogging.Logger._get_gunicorn_handler
    - addr.startswith
    - log.handlers.remove
    - gunicorn.util.check_is_writable
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.INFO.lower
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stream.flush
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.Formatter
    functionSourceFile: logging
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f66baf21940>
    argNames:
    - self
    - log
    - output
    - fmt
    - stream
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 409
    functionName: gunicorn.glogging.Logger._set_handler
    functionSourceFile: gunicorn.glogging
    functionUses: 3
    functionsReached:
    - <builtin>.getattr
    - logging.StreamHandler
    - <builtin>.open
    - f.close
    - h.setFormatter
    - logging.FileHandler
    - os.chown
    - gunicorn.glogging.Logger._get_gunicorn_handler
    - log.addHandler
    - log.handlers.remove
    - gunicorn.util.check_is_writable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - log
    - cfg
    - fmt
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 433
    functionName: gunicorn.glogging.Logger._set_syslog_handler
    functionSourceFile: gunicorn.glogging
    functionUses: 3
    functionsReached:
    - <builtin>.int
    - cfg.syslog_facility.lower
    - gunicorn.glogging.parse_syslog_address
    - port.isdigit
    - log.addHandler
    - cfg.proc_name.replace
    - h.setFormatter
    - logging.handlers.SysLogHandler
    - addr.lower
    - <builtin>.len
    - logging.Formatter
    - addr.startswith
    - addr.split
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: CONFIG_DEFAULTS.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.config.dictConfig
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: json.load
    functionSourceFile: json
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.dirname
    functionSourceFile: os
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.config.fileConfig
    functionSourceFile: logging
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - msg
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 267
    functionName: gunicorn.glogging.Logger.critical
    functionSourceFile: gunicorn.glogging
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - msg
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 270
    functionName: gunicorn.glogging.Logger.error
    functionSourceFile: gunicorn.glogging
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - msg
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 273
    functionName: gunicorn.glogging.Logger.warning
    functionSourceFile: gunicorn.glogging
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - msg
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 276
    functionName: gunicorn.glogging.Logger.info
    functionSourceFile: gunicorn.glogging
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - msg
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 279
    functionName: gunicorn.glogging.Logger.debug
    functionSourceFile: gunicorn.glogging
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - msg
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 282
    functionName: gunicorn.glogging.Logger.exception
    functionSourceFile: gunicorn.glogging
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - lvl
    - msg
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 285
    functionName: gunicorn.glogging.Logger.log
    functionSourceFile: gunicorn.glogging
    functionUses: 3
    functionsReached:
    - lvl.lower
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lvl.lower
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - resp
    - req
    - environ
    - request_time
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 290
    functionName: gunicorn.glogging.Logger.atoms
    functionSourceFile: gunicorn.glogging
    functionUses: 2
    functionsReached:
    - k.lower
    - req_headers.items
    - os.getpid
    - time.strftime
    - environ.items
    - status.split
    - resp_headers.items
    - <builtin>.hasattr
    - environ.get
    - auth.split
    - base64.b64decode
    - gunicorn.glogging.Logger.debug
    - gunicorn.glogging.Logger.now
    - <builtin>.len
    - <builtin>.str
    - http_auth.lower
    - <builtin>.getattr
    - <builtin>.int
    - gunicorn.glogging.Logger._get_user
    - atoms.update
    - http_auth.split
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: status.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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: environ.get
    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
    argDefaultValues: []
    argNames:
    - self
    - environ
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 459
    functionName: gunicorn.glogging.Logger._get_user
    functionSourceFile: gunicorn.glogging
    functionUses: 3
    functionsReached:
    - environ.get
    - base64.b64decode
    - auth.split
    - gunicorn.glogging.Logger.debug
    - http_auth.split
    - <builtin>.len
    - http_auth.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 366
    functionName: gunicorn.glogging.Logger.now
    functionSourceFile: gunicorn.glogging
    functionUses: 3
    functionsReached:
    - time.strftime
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: req_headers.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atoms.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resp_headers.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: environ.items
    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
    argDefaultValues: []
    argNames:
    - self
    - resp
    - req
    - environ
    - request_time
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 344
    functionName: gunicorn.glogging.Logger.access
    functionSourceFile: gunicorn.glogging
    functionUses: 1
    functionsReached:
    - k.lower
    - req_headers.items
    - traceback.format_exc
    - os.getpid
    - value.replace
    - time.strftime
    - environ.items
    - status.split
    - resp_headers.items
    - <builtin>.hasattr
    - environ.get
    - gunicorn.glogging.Logger.error
    - auth.split
    - gunicorn.glogging.Logger.atoms
    - base64.b64decode
    - <builtin>.isinstance
    - gunicorn.glogging.Logger.debug
    - gunicorn.glogging.Logger.now
    - gunicorn.glogging.SafeAtoms.__init__
    - <builtin>.len
    - <builtin>.str
    - http_auth.lower
    - <builtin>.getattr
    - <builtin>.int
    - gunicorn.glogging.Logger._get_user
    - dict.__init__
    - atoms.update
    - http_auth.split
    - atoms.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.strftime
    functionSourceFile: time
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 7
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 370
    functionName: gunicorn.glogging.Logger.reopen_files
    functionSourceFile: gunicorn.glogging
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - handler.close
    - stream.flush
    - logging.root.manager.loggerDict.keys
    - handler._open
    - <builtin>.isinstance
    - gunicorn.glogging.loggers
    - handler.acquire
    - sys.stderr.fileno
    - handler.release
    - logging.getLogger
    - os.dup2
    - <builtin>.list
    - sys.stdout.fileno
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: handler.acquire
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: handler.close
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: handler._open
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: handler.release
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 393
    functionName: gunicorn.glogging.Logger.close_on_exec
    functionSourceFile: gunicorn.glogging
    functionUses: 0
    functionsReached:
    - logging.root.manager.loggerDict.keys
    - gunicorn.util.close_on_exec
    - handler.acquire
    - gunicorn.glogging.loggers
    - <builtin>.list
    - fcntl.fcntl
    - logging.getLogger
    - handler.release
    - <builtin>.isinstance
    - handler.stream.fileno
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: handler.stream.fileno
    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
    argDefaultValues: []
    argNames:
    - self
    - log
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 404
    functionName: gunicorn.glogging.Logger._get_gunicorn_handler
    functionSourceFile: gunicorn.glogging
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: log.handlers.remove
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.StreamHandler
    functionSourceFile: logging
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.FileHandler
    functionSourceFile: logging
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: h.setFormatter
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: log.addHandler
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cfg.proc_name.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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cfg.syslog_facility.lower
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.handlers.SysLogHandler
    functionSourceFile: logging
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http_auth.lower
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http_auth.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: base64.b64decode
    functionSourceFile: base64
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: auth.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.arbiter
    functionSourceFile: gunicorn.arbiter
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.arbiter.Arbiter
    functionSourceFile: gunicorn.arbiter
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.dict
    - <builtin>.property
    - <builtin>.dir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.dir
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.dict
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 51
    functionName: gunicorn.arbiter.Arbiter.__init__
    functionSourceFile: gunicorn.arbiter
    functionUses: 1
    functionsReached:
    - gunicorn.util.load_class
    - importlib_metadata.distribution
    - components.pop
    - traceback.format_exc
    - gunicorn.util.getcwd
    - inspect.isclass
    - logger_class.install
    - <builtin>.hasattr
    - gunicorn.app.base.BaseApplication.wsgi
    - uri.startswith
    - args.insert
    - gunicorn.arbiter.Arbiter.setup
    - <builtin>.sorted
    - os.stat
    - gunicorn.app.pasterapp.serve.PasterServerApplication.load
    - uri.split
    - entry_str.rsplit
    - importlib.metadata.distribution
    - <builtin>.len
    - gunicorn.util.load_entry_point
    - <builtin>.getattr
    - gunicorn.config.Config.logger_class
    - importlib.import_module
    - os.getcwd
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 88
    functionName: gunicorn.arbiter.Arbiter.setup
    functionSourceFile: gunicorn.arbiter
    functionUses: 4
    functionsReached:
    - gunicorn.util.load_class
    - importlib_metadata.distribution
    - components.pop
    - traceback.format_exc
    - inspect.isclass
    - logger_class.install
    - <builtin>.hasattr
    - gunicorn.app.base.BaseApplication.wsgi
    - uri.startswith
    - <builtin>.sorted
    - gunicorn.app.pasterapp.serve.PasterServerApplication.load
    - uri.split
    - entry_str.rsplit
    - importlib.metadata.distribution
    - <builtin>.len
    - gunicorn.util.load_entry_point
    - <builtin>.getattr
    - gunicorn.config.Config.logger_class
    - importlib.import_module
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: args.insert
    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
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 79
    functionName: gunicorn.arbiter.Arbiter._get_num_workers
    functionSourceFile: gunicorn.arbiter
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 82
    functionName: gunicorn.arbiter.Arbiter._set_num_workers
    functionSourceFile: gunicorn.arbiter
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.property
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 150
    functionName: gunicorn.config.Config.logger_class
    functionSourceFile: gunicorn.config
    functionUses: 5
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.getattr
    - gunicorn.util.load_class
    - importlib_metadata.distribution
    - uri.startswith
    - uri.split
    - components.pop
    - traceback.format_exc
    - entry_str.rsplit
    - importlib.metadata.distribution
    - importlib.import_module
    - inspect.isclass
    - logger_class.install
    - <builtin>.len
    - gunicorn.util.load_entry_point
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.arbiter.Arbiter.setup.<lambda1>
    functionSourceFile: gunicorn.arbiter
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.sorted
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 64
    functionName: gunicorn.app.base.BaseApplication.wsgi
    functionSourceFile: gunicorn.app.base
    functionUses: 5
    functionsReached:
    - gunicorn.app.pasterapp.serve.PasterServerApplication.load
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 12
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 120
    functionName: gunicorn.arbiter.Arbiter.start
    functionSourceFile: gunicorn.arbiter
    functionUses: 2
    functionsReached:
    - gunicorn.sock.BaseSocket.set_options
    - stat.S_ISSOCK
    - os.getpid
    - listeners.append
    - os.pipe
    - os.environ.get
    - msg.format
    - gunicorn.sock.BaseSocket.__init__
    - gunicorn.sock.TCPSocket.set_options
    - systemd.sd_notify
    - sock.bind
    - os.rename
    - gunicorn.sock.create_sockets
    - os.umask
    - sys.exit
    - <builtin>.hasattr
    - gunicorn.sock.UnixSocket.__init__
    - os.path.isdir
    - sock.setsockopt
    - tempfile.mkstemp
    - os.kill
    - systemd.listen_fds
    - gunicorn.pidfile.Pidfile.create
    - log.debug
    - os.stat
    - <builtin>.open
    - gunicorn.util.set_non_blocking
    - <builtin>.range
    - sock.set_inheritable
    - sock.listen
    - gunicorn.util.chown
    - os.write
    - gunicorn.sock.UnixSocket.bind
    - os.path.exists
    - os.chown
    - gunicorn.pidfile.Pidfile.validate
    - sock.getsockname
    - gunicorn.util.close_on_exec
    - fcntl.fcntl
    - socket.inet_pton
    - os.close
    - <builtin>.list
    - fds.append
    - <builtin>.str
    - sock.setblocking
    - gunicorn.pidfile.Pidfile.__init__
    - log.error
    - os.chmod
    - gunicorn.sock._sock_type
    - <builtin>.int
    - gunicorn.util.is_ipv6
    - f.read
    - time.sleep
    - socket.socket
    - os.path.dirname
    - socket.fromfd
    - gunicorn.arbiter.Arbiter.init_signals
    - os.environ.pop
    - os.remove
    - <builtin>.isinstance
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fname
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 17
    functionName: gunicorn.pidfile.Pidfile.__init__
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - pid
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 21
    functionName: gunicorn.pidfile.Pidfile.create
    functionSourceFile: gunicorn.pidfile
    functionUses: 7
    functionsReached:
    - os.path.isdir
    - <builtin>.open
    - tempfile.mkstemp
    - <builtin>.int
    - os.getpid
    - os.write
    - os.path.dirname
    - gunicorn.pidfile.Pidfile.validate
    - f.read
    - os.rename
    - os.kill
    - os.chmod
    - os.close
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 7
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 170
    functionName: gunicorn.arbiter.Arbiter.init_signals
    functionSourceFile: gunicorn.arbiter
    functionUses: 3
    functionsReached:
    - os.pipe
    - gunicorn.util.close_on_exec
    - os.close
    - fcntl.fcntl
    - gunicorn.util.set_non_blocking
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: systemd.listen_fds
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fds.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 10
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f66bb3814f0>
    argNames:
    - conf
    - log
    - fds
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 142
    functionName: gunicorn.sock.create_sockets
    functionSourceFile: gunicorn.sock
    functionUses: 10
    functionsReached:
    - stat.S_ISSOCK
    - gunicorn.sock.BaseSocket.set_options
    - listeners.append
    - msg.format
    - gunicorn.sock.BaseSocket.__init__
    - gunicorn.sock.TCPSocket.set_options
    - sock.bind
    - os.umask
    - sys.exit
    - gunicorn.sock.UnixSocket.__init__
    - <builtin>.hasattr
    - sock.setsockopt
    - log.debug
    - os.stat
    - <builtin>.range
    - sock.set_inheritable
    - sock.listen
    - gunicorn.util.chown
    - gunicorn.sock.UnixSocket.bind
    - os.path.exists
    - os.chown
    - sock.getsockname
    - socket.inet_pton
    - os.close
    - <builtin>.list
    - sock.setblocking
    - <builtin>.str
    - log.error
    - gunicorn.sock._sock_type
    - gunicorn.util.is_ipv6
    - time.sleep
    - socket.socket
    - socket.fromfd
    - os.remove
    - <builtin>.isinstance
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: systemd.sd_notify
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.pipe
    functionSourceFile: os
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - sig
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 192
    functionName: gunicorn.arbiter.Arbiter.signal
    functionSourceFile: gunicorn.arbiter
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - gunicorn.arbiter.Arbiter.wakeup
    - os.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 331
    functionName: gunicorn.arbiter.Arbiter.wakeup
    functionSourceFile: gunicorn.arbiter
    functionUses: 4
    functionsReached:
    - os.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 19
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 197
    functionName: gunicorn.arbiter.Arbiter.run
    functionSourceFile: gunicorn.arbiter
    functionUses: 1
    functionsReached:
    - stat.S_ISSOCK
    - components.pop
    - os.getpid
    - listeners.append
    - sock.bind
    - setproctitle.setproctitle
    - gunicorn.sock.create_sockets
    - os.umask
    - tempfile.mkstemp
    - random.random
    - gunicorn.sock.close_sockets
    - workers.pop
    - <builtin>.open
    - worker.tmp.last_update
    - os.write
    - os.path.exists
    - gunicorn.pidfile.Pidfile.validate
    - gunicorn.util.close_on_exec
    - gunicorn.arbiter.Arbiter.sleep
    - socket.inet_pton
    - <builtin>.list
    - <builtin>.len
    - sock.setblocking
    - gunicorn.util.load_entry_point
    - sibling.tmp.close
    - worker_class.setup
    - gunicorn.arbiter.Arbiter.init_signals
    - <builtin>.super
    - gunicorn.arbiter.Arbiter.stop
    - os.pipe
    - os.environ.get
    - msg.format
    - os.rename
    - gunicorn.arbiter.Arbiter.spawn_workers
    - sock.close
    - gunicorn.pidfile.Pidfile.rename
    - os.stat
    - worker.init_process
    - os.getppid
    - sock.listen
    - gunicorn.util.chown
    - gunicorn.arbiter.Arbiter.spawn_worker
    - os.chmod
    - <builtin>.str
    - gunicorn.pidfile.Pidfile.__init__
    - gunicorn.sock._sock_type
    - gunicorn.util.is_ipv6
    - time.sleep
    - importlib.import_module
    - <builtin>.isinstance
    - gunicorn.sock.UnixSocket.bind
    - gunicorn.sock.BaseSocket.set_options
    - importlib_metadata.distribution
    - os.fork
    - worker.tmp.close
    - os.read
    - select.select
    - gunicorn.arbiter.Arbiter.start
    - <builtin>.hasattr
    - os.path.isdir
    - gunicorn.config.Config.worker_class
    - time.monotonic
    - <builtin>.sorted
    - gunicorn.util.set_non_blocking
    - gunicorn.arbiter.Arbiter.kill_workers
    - <builtin>.print
    - <builtin>.range
    - uri.split
    - entry_str.rsplit
    - gunicorn.pidfile.Pidfile.unlink
    - os.chown
    - f.read
    - sock.getsockname
    - os.close
    - fds.append
    - log.error
    - time.time
    - <builtin>.getattr
    - gunicorn.arbiter.Arbiter.halt
    - socket.socket
    - socket.fromfd
    - os.kill
    - os.remove
    - fcntl.fcntl
    - gunicorn.arbiter.Arbiter.maybe_promote_master
    - gunicorn.arbiter.Arbiter.wakeup
    - gunicorn.util.load_class
    - traceback.format_exc
    - gunicorn.sock.TCPSocket.set_options
    - gunicorn.sock.BaseSocket.__init__
    - gunicorn.arbiter.Arbiter.murder_workers
    - sys.stderr.flush
    - inspect.isclass
    - systemd.sd_notify
    - os.unlink
    - sys.exit
    - gunicorn.sock.UnixSocket.__init__
    - sock.setsockopt
    - uri.startswith
    - gunicorn.arbiter.Arbiter.manage_workers
    - systemd.listen_fds
    - gunicorn.pidfile.Pidfile.create
    - log.debug
    - uri.endswith
    - sock.set_inheritable
    - importlib.metadata.distribution
    - <builtin>.int
    - gunicorn.util._setproctitle
    - gunicorn.arbiter.Arbiter.kill_worker
    - os.path.dirname
    - os.environ.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 566
    functionName: gunicorn.arbiter.Arbiter.manage_workers
    functionSourceFile: gunicorn.arbiter
    functionUses: 6
    functionsReached:
    - stat.S_ISSOCK
    - gunicorn.util.load_class
    - gunicorn.sock.BaseSocket.set_options
    - importlib_metadata.distribution
    - components.pop
    - os.getpid
    - traceback.format_exc
    - listeners.append
    - os.fork
    - msg.format
    - gunicorn.sock.BaseSocket.__init__
    - worker.tmp.close
    - gunicorn.sock.TCPSocket.set_options
    - sys.stderr.flush
    - inspect.isclass
    - sock.bind
    - gunicorn.arbiter.Arbiter.spawn_workers
    - setproctitle.setproctitle
    - gunicorn.sock.create_sockets
    - os.umask
    - sys.exit
    - <builtin>.hasattr
    - gunicorn.sock.UnixSocket.__init__
    - sock.setsockopt
    - uri.startswith
    - random.random
    - gunicorn.config.Config.worker_class
    - workers.pop
    - <builtin>.sorted
    - log.debug
    - os.stat
    - worker.init_process
    - <builtin>.print
    - uri.endswith
    - <builtin>.range
    - uri.split
    - entry_str.rsplit
    - sock.set_inheritable
    - sock.listen
    - gunicorn.util.chown
    - gunicorn.arbiter.Arbiter.spawn_worker
    - gunicorn.sock.UnixSocket.bind
    - os.path.exists
    - os.chown
    - importlib.metadata.distribution
    - sock.getsockname
    - socket.inet_pton
    - os.close
    - <builtin>.list
    - <builtin>.len
    - sock.setblocking
    - <builtin>.str
    - log.error
    - gunicorn.util.load_entry_point
    - <builtin>.getattr
    - gunicorn.sock._sock_type
    - gunicorn.util._setproctitle
    - gunicorn.util.is_ipv6
    - time.sleep
    - socket.socket
    - gunicorn.arbiter.Arbiter.kill_worker
    - importlib.import_module
    - sibling.tmp.close
    - socket.fromfd
    - worker_class.setup
    - os.kill
    - os.remove
    - <builtin>.isinstance
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 314
    functionName: gunicorn.arbiter.Arbiter.maybe_promote_master
    functionSourceFile: gunicorn.arbiter
    functionUses: 2
    functionsReached:
    - os.getpid
    - os.rename
    - setproctitle.setproctitle
    - os.unlink
    - os.path.isdir
    - tempfile.mkstemp
    - gunicorn.pidfile.Pidfile.rename
    - gunicorn.pidfile.Pidfile.create
    - <builtin>.open
    - os.getppid
    - gunicorn.pidfile.Pidfile.unlink
    - os.write
    - gunicorn.pidfile.Pidfile.validate
    - f.read
    - os.close
    - os.chmod
    - <builtin>.int
    - gunicorn.util._setproctitle
    - os.path.dirname
    - os.kill
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 355
    functionName: gunicorn.arbiter.Arbiter.sleep
    functionSourceFile: gunicorn.arbiter
    functionUses: 2
    functionsReached:
    - <builtin>.getattr
    - os.read
    - select.select
    - sys.exit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 490
    functionName: gunicorn.arbiter.Arbiter.murder_workers
    functionSourceFile: gunicorn.arbiter
    functionUses: 2
    functionsReached:
    - worker.tmp.last_update
    - gunicorn.arbiter.Arbiter.kill_worker
    - worker.tmp.close
    - time.monotonic
    - os.kill
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f66bae49160>
    - <ast.Constant object at 0x7f66bae49340>
    argNames:
    - self
    - reason
    - exit_status
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 341
    functionName: gunicorn.arbiter.Arbiter.halt
    functionSourceFile: gunicorn.arbiter
    functionUses: 2
    functionsReached:
    - gunicorn.arbiter.Arbiter.stop
    - worker.tmp.close
    - os.unlink
    - sys.exit
    - gunicorn.sock.close_sockets
    - sock.close
    - gunicorn.arbiter.Arbiter.kill_workers
    - <builtin>.open
    - gunicorn.pidfile.Pidfile.unlink
    - f.read
    - sock.getsockname
    - socket.inet_pton
    - <builtin>.list
    - time.time
    - gunicorn.sock._sock_type
    - <builtin>.int
    - gunicorn.util.is_ipv6
    - time.sleep
    - gunicorn.arbiter.Arbiter.kill_worker
    - os.kill
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f66bace96a0>
    argNames:
    - self
    - graceful
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 374
    functionName: gunicorn.arbiter.Arbiter.stop
    functionSourceFile: gunicorn.arbiter
    functionUses: 5
    functionsReached:
    - gunicorn.arbiter.Arbiter.kill_workers
    - gunicorn.sock._sock_type
    - gunicorn.util.is_ipv6
    - time.sleep
    - gunicorn.sock.close_sockets
    - gunicorn.arbiter.Arbiter.kill_worker
    - sock.close
    - <builtin>.isinstance
    - worker.tmp.close
    - sock.getsockname
    - socket.inet_pton
    - os.kill
    - <builtin>.list
    - os.unlink
    - time.time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 51
    functionName: gunicorn.pidfile.Pidfile.unlink
    functionSourceFile: gunicorn.pidfile
    functionUses: 7
    functionsReached:
    - <builtin>.open
    - f.read
    - os.unlink
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.exit
    functionSourceFile: sys
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - sig
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 241
    functionName: gunicorn.arbiter.Arbiter.handle_chld
    functionSourceFile: gunicorn.arbiter
    functionUses: 0
    functionsReached:
    - gunicorn.arbiter.Arbiter.wakeup
    - gunicorn.arbiter.Arbiter.reap_workers
    - os.write
    - worker.tmp.close
    - os.waitpid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 6
    IfCount: 10
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 511
    functionName: gunicorn.arbiter.Arbiter.reap_workers
    functionSourceFile: gunicorn.arbiter
    functionUses: 1
    functionsReached:
    - worker.tmp.close
    - os.waitpid
    linkageType: pythonLinkage
    raised:
    - HaltServer
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 246
    functionName: gunicorn.arbiter.Arbiter.handle_hup
    functionSourceFile: gunicorn.arbiter
    functionUses: 0
    functionsReached:
    - stat.S_ISSOCK
    - importlib.util.module_from_spec
    - components.pop
    - listeners.append
    - os.getpid
    - gunicorn.app.pasterapp.has_logging_config
    - sock.bind
    - gunicorn.sock.create_sockets
    - setproctitle.setproctitle
    - os.umask
    - importlib.util.spec_from_file_location
    - gunicorn.app.base.Application.get_config_from_module_name
    - tempfile.mkstemp
    - importlib.machinery.SourceFileLoader
    - parser.read
    - random.random
    - workers.pop
    - gunicorn.arbiter.Arbiter.setup
    - <builtin>.open
    - gunicorn.config.make_settings
    - os.path.abspath
    - os.write
    - os.path.exists
    - gunicorn.pidfile.Pidfile.validate
    - gunicorn.config.Config.__init__
    - socket.inet_pton
    - <builtin>.list
    - <builtin>.len
    - sock.setblocking
    - gunicorn.util.load_entry_point
    - gunicorn.app.base.BaseApplication.load_default_config
    - sibling.tmp.close
    - gunicorn.app.base.Application.get_config_from_filename
    - worker_class.setup
    - <builtin>.super
    - gunicorn.util.warn
    - msg.format
    - os.rename
    - gunicorn.arbiter.Arbiter.spawn_workers
    - configparser.ConfigParser
    - msg.splitlines
    - os.stat
    - worker.init_process
    - sock.listen
    - gunicorn.util.chown
    - gunicorn.arbiter.Arbiter.spawn_worker
    - os.chmod
    - <builtin>.str
    - gunicorn.pidfile.Pidfile.__init__
    - gunicorn.sock._sock_type
    - gunicorn.util.is_ipv6
    - gunicorn.debug.spew
    - time.sleep
    - importlib.import_module
    - <builtin>.isinstance
    - gunicorn.sock.UnixSocket.bind
    - gunicorn.app.pasterapp.serve.PasterServerApplication.load_config
    - gunicorn.sock.BaseSocket.set_options
    - importlib_metadata.distribution
    - os.fork
    - worker.tmp.close
    - lnr.close
    - logger_class.install
    - gunicorn.arbiter.Arbiter.reload
    - cfg.items
    - <builtin>.hasattr
    - os.path.isdir
    - gunicorn.app.base.BaseApplication.reload
    - gunicorn.app.base.BaseApplication.wsgi
    - gunicorn.config.Config.set
    - gunicorn.config.Config.worker_class
    - setting.copy
    - os.environ.copy
    - <builtin>.sorted
    - gunicorn.app.base.Application.load_config_from_module_name_or_filename
    - gunicorn.app.base.Application.load_config_from_file
    - <builtin>.print
    - gunicorn.debug.Spew.__init__
    - gunicorn.app.pasterapp.serve.PasterServerApplication.load
    - <builtin>.range
    - uri.split
    - entry_str.rsplit
    - os.path.join
    - gunicorn.pidfile.Pidfile.unlink
    - os.chown
    - f.read
    - sock.getsockname
    - sys.settrace
    - os.close
    - log.error
    - <builtin>.getattr
    - socket.socket
    - os.getcwd
    - socket.fromfd
    - os.kill
    - os.remove
    - k.lower
    - gunicorn.util.load_class
    - traceback.format_exc
    - gunicorn.config.get_default_config_file
    - <builtin>.vars
    - gunicorn.sock.TCPSocket.set_options
    - gunicorn.sock.BaseSocket.__init__
    - sys.stderr.flush
    - inspect.isclass
    - os.unlink
    - sys.exit
    - gunicorn.sock.UnixSocket.__init__
    - traceback.print_exc
    - sock.setsockopt
    - uri.startswith
    - gunicorn.arbiter.Arbiter.manage_workers
    - os.path.basename
    - gunicorn.pidfile.Pidfile.create
    - location.startswith
    - log.debug
    - uri.endswith
    - sock.set_inheritable
    - importlib.metadata.distribution
    - <builtin>.enumerate
    - local_conf.items
    - os.path.splitext
    - <builtin>.int
    - gunicorn.util._setproctitle
    - gunicorn.app.base.BaseApplication.do_load_config
    - gunicorn.arbiter.Arbiter.kill_worker
    - os.path.dirname
    - gunicorn.config.Config.logger_class
    - spec.loader.exec_module
    - parser.has_section
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 11
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 435
    functionName: gunicorn.arbiter.Arbiter.reload
    functionSourceFile: gunicorn.arbiter
    functionUses: 1
    functionsReached:
    - stat.S_ISSOCK
    - importlib.util.module_from_spec
    - components.pop
    - listeners.append
    - os.getpid
    - gunicorn.app.pasterapp.has_logging_config
    - sock.bind
    - gunicorn.sock.create_sockets
    - setproctitle.setproctitle
    - os.umask
    - importlib.util.spec_from_file_location
    - gunicorn.app.base.Application.get_config_from_module_name
    - tempfile.mkstemp
    - importlib.machinery.SourceFileLoader
    - parser.read
    - random.random
    - workers.pop
    - gunicorn.arbiter.Arbiter.setup
    - <builtin>.open
    - gunicorn.config.make_settings
    - os.path.abspath
    - os.write
    - os.path.exists
    - gunicorn.pidfile.Pidfile.validate
    - gunicorn.config.Config.__init__
    - socket.inet_pton
    - <builtin>.list
    - <builtin>.len
    - sock.setblocking
    - gunicorn.util.load_entry_point
    - gunicorn.app.base.BaseApplication.load_default_config
    - sibling.tmp.close
    - gunicorn.app.base.Application.get_config_from_filename
    - worker_class.setup
    - <builtin>.super
    - gunicorn.util.warn
    - msg.format
    - os.rename
    - gunicorn.arbiter.Arbiter.spawn_workers
    - configparser.ConfigParser
    - msg.splitlines
    - os.stat
    - worker.init_process
    - sock.listen
    - gunicorn.util.chown
    - gunicorn.arbiter.Arbiter.spawn_worker
    - os.chmod
    - <builtin>.str
    - gunicorn.pidfile.Pidfile.__init__
    - gunicorn.sock._sock_type
    - gunicorn.util.is_ipv6
    - gunicorn.debug.spew
    - time.sleep
    - importlib.import_module
    - <builtin>.isinstance
    - gunicorn.sock.UnixSocket.bind
    - gunicorn.app.pasterapp.serve.PasterServerApplication.load_config
    - gunicorn.sock.BaseSocket.set_options
    - importlib_metadata.distribution
    - os.fork
    - worker.tmp.close
    - lnr.close
    - logger_class.install
    - cfg.items
    - <builtin>.hasattr
    - os.path.isdir
    - gunicorn.app.base.BaseApplication.reload
    - gunicorn.app.base.BaseApplication.wsgi
    - gunicorn.config.Config.set
    - gunicorn.config.Config.worker_class
    - setting.copy
    - os.environ.copy
    - <builtin>.sorted
    - gunicorn.app.base.Application.load_config_from_module_name_or_filename
    - gunicorn.app.base.Application.load_config_from_file
    - <builtin>.print
    - gunicorn.debug.Spew.__init__
    - gunicorn.app.pasterapp.serve.PasterServerApplication.load
    - <builtin>.range
    - uri.split
    - entry_str.rsplit
    - os.path.join
    - gunicorn.pidfile.Pidfile.unlink
    - os.chown
    - f.read
    - sock.getsockname
    - sys.settrace
    - os.close
    - log.error
    - <builtin>.getattr
    - socket.socket
    - os.getcwd
    - socket.fromfd
    - os.kill
    - os.remove
    - k.lower
    - gunicorn.util.load_class
    - traceback.format_exc
    - gunicorn.config.get_default_config_file
    - <builtin>.vars
    - gunicorn.sock.TCPSocket.set_options
    - gunicorn.sock.BaseSocket.__init__
    - sys.stderr.flush
    - inspect.isclass
    - os.unlink
    - sys.exit
    - gunicorn.sock.UnixSocket.__init__
    - traceback.print_exc
    - sock.setsockopt
    - uri.startswith
    - gunicorn.arbiter.Arbiter.manage_workers
    - os.path.basename
    - gunicorn.pidfile.Pidfile.create
    - location.startswith
    - log.debug
    - uri.endswith
    - sock.set_inheritable
    - importlib.metadata.distribution
    - <builtin>.enumerate
    - local_conf.items
    - os.path.splitext
    - <builtin>.int
    - gunicorn.util._setproctitle
    - gunicorn.app.base.BaseApplication.do_load_config
    - gunicorn.arbiter.Arbiter.kill_worker
    - os.path.dirname
    - gunicorn.config.Config.logger_class
    - spec.loader.exec_module
    - parser.has_section
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 256
    functionName: gunicorn.arbiter.Arbiter.handle_term
    functionSourceFile: gunicorn.arbiter
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 260
    functionName: gunicorn.arbiter.Arbiter.handle_int
    functionSourceFile: gunicorn.arbiter
    functionUses: 0
    functionsReached:
    - gunicorn.arbiter.Arbiter.kill_workers
    - gunicorn.arbiter.Arbiter.stop
    - gunicorn.sock._sock_type
    - gunicorn.util.is_ipv6
    - time.sleep
    - gunicorn.sock.close_sockets
    - gunicorn.arbiter.Arbiter.kill_worker
    - sock.close
    - <builtin>.isinstance
    - worker.tmp.close
    - sock.getsockname
    - socket.inet_pton
    - os.kill
    - <builtin>.list
    - os.unlink
    - time.time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 265
    functionName: gunicorn.arbiter.Arbiter.handle_quit
    functionSourceFile: gunicorn.arbiter
    functionUses: 0
    functionsReached:
    - gunicorn.arbiter.Arbiter.kill_workers
    - gunicorn.arbiter.Arbiter.stop
    - gunicorn.sock._sock_type
    - gunicorn.util.is_ipv6
    - time.sleep
    - gunicorn.sock.close_sockets
    - gunicorn.arbiter.Arbiter.kill_worker
    - sock.close
    - <builtin>.isinstance
    - worker.tmp.close
    - sock.getsockname
    - socket.inet_pton
    - os.kill
    - <builtin>.list
    - os.unlink
    - time.time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 270
    functionName: gunicorn.arbiter.Arbiter.handle_ttin
    functionSourceFile: gunicorn.arbiter
    functionUses: 0
    functionsReached:
    - stat.S_ISSOCK
    - gunicorn.util.load_class
    - gunicorn.sock.BaseSocket.set_options
    - importlib_metadata.distribution
    - components.pop
    - os.getpid
    - traceback.format_exc
    - listeners.append
    - os.fork
    - msg.format
    - gunicorn.sock.BaseSocket.__init__
    - worker.tmp.close
    - gunicorn.sock.TCPSocket.set_options
    - sys.stderr.flush
    - inspect.isclass
    - sock.bind
    - gunicorn.arbiter.Arbiter.spawn_workers
    - setproctitle.setproctitle
    - gunicorn.sock.create_sockets
    - os.umask
    - sys.exit
    - <builtin>.hasattr
    - gunicorn.sock.UnixSocket.__init__
    - sock.setsockopt
    - uri.startswith
    - random.random
    - gunicorn.config.Config.worker_class
    - gunicorn.arbiter.Arbiter.manage_workers
    - workers.pop
    - <builtin>.sorted
    - log.debug
    - os.stat
    - worker.init_process
    - <builtin>.print
    - uri.endswith
    - <builtin>.range
    - uri.split
    - entry_str.rsplit
    - sock.set_inheritable
    - sock.listen
    - gunicorn.util.chown
    - gunicorn.arbiter.Arbiter.spawn_worker
    - gunicorn.sock.UnixSocket.bind
    - os.path.exists
    - os.chown
    - importlib.metadata.distribution
    - sock.getsockname
    - socket.inet_pton
    - os.close
    - <builtin>.list
    - <builtin>.len
    - sock.setblocking
    - <builtin>.str
    - log.error
    - gunicorn.util.load_entry_point
    - <builtin>.getattr
    - gunicorn.sock._sock_type
    - gunicorn.util._setproctitle
    - gunicorn.util.is_ipv6
    - time.sleep
    - socket.socket
    - gunicorn.arbiter.Arbiter.kill_worker
    - importlib.import_module
    - sibling.tmp.close
    - socket.fromfd
    - worker_class.setup
    - os.kill
    - os.remove
    - <builtin>.isinstance
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 278
    functionName: gunicorn.arbiter.Arbiter.handle_ttou
    functionSourceFile: gunicorn.arbiter
    functionUses: 0
    functionsReached:
    - stat.S_ISSOCK
    - gunicorn.util.load_class
    - gunicorn.sock.BaseSocket.set_options
    - importlib_metadata.distribution
    - components.pop
    - os.getpid
    - traceback.format_exc
    - listeners.append
    - os.fork
    - msg.format
    - gunicorn.sock.BaseSocket.__init__
    - worker.tmp.close
    - gunicorn.sock.TCPSocket.set_options
    - sys.stderr.flush
    - inspect.isclass
    - sock.bind
    - gunicorn.arbiter.Arbiter.spawn_workers
    - setproctitle.setproctitle
    - gunicorn.sock.create_sockets
    - os.umask
    - sys.exit
    - <builtin>.hasattr
    - gunicorn.sock.UnixSocket.__init__
    - sock.setsockopt
    - uri.startswith
    - random.random
    - gunicorn.config.Config.worker_class
    - gunicorn.arbiter.Arbiter.manage_workers
    - workers.pop
    - <builtin>.sorted
    - log.debug
    - os.stat
    - worker.init_process
    - <builtin>.print
    - uri.endswith
    - <builtin>.range
    - uri.split
    - entry_str.rsplit
    - sock.set_inheritable
    - sock.listen
    - gunicorn.util.chown
    - gunicorn.arbiter.Arbiter.spawn_worker
    - gunicorn.sock.UnixSocket.bind
    - os.path.exists
    - os.chown
    - importlib.metadata.distribution
    - sock.getsockname
    - socket.inet_pton
    - os.close
    - <builtin>.list
    - <builtin>.len
    - sock.setblocking
    - <builtin>.str
    - log.error
    - gunicorn.util.load_entry_point
    - <builtin>.getattr
    - gunicorn.sock._sock_type
    - gunicorn.util._setproctitle
    - gunicorn.util.is_ipv6
    - time.sleep
    - socket.socket
    - gunicorn.arbiter.Arbiter.kill_worker
    - importlib.import_module
    - sibling.tmp.close
    - socket.fromfd
    - worker_class.setup
    - os.kill
    - os.remove
    - <builtin>.isinstance
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 288
    functionName: gunicorn.arbiter.Arbiter.handle_usr1
    functionSourceFile: gunicorn.arbiter
    functionUses: 0
    functionsReached:
    - gunicorn.arbiter.Arbiter.kill_workers
    - gunicorn.arbiter.Arbiter.kill_worker
    - worker.tmp.close
    - os.kill
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - sig
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 648
    functionName: gunicorn.arbiter.Arbiter.kill_workers
    functionSourceFile: gunicorn.arbiter
    functionUses: 8
    functionsReached:
    - <builtin>.list
    - worker.tmp.close
    - gunicorn.arbiter.Arbiter.kill_worker
    - os.kill
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 296
    functionName: gunicorn.arbiter.Arbiter.handle_usr2
    functionSourceFile: gunicorn.arbiter
    functionUses: 0
    functionsReached:
    - lnr.fileno
    - os.getpid
    - gunicorn.arbiter.Arbiter.reexec
    - os.fork
    - os.execvpe
    - os.chdir
    - <builtin>.len
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 401
    functionName: gunicorn.arbiter.Arbiter.reexec
    functionSourceFile: gunicorn.arbiter
    functionUses: 1
    functionsReached:
    - lnr.fileno
    - os.getpid
    - os.fork
    - os.execvpe
    - os.chdir
    - <builtin>.len
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 305
    functionName: gunicorn.arbiter.Arbiter.handle_winch
    functionSourceFile: gunicorn.arbiter
    functionUses: 0
    functionsReached:
    - gunicorn.arbiter.Arbiter.kill_workers
    - gunicorn.arbiter.Arbiter.kill_worker
    - worker.tmp.close
    - os.kill
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.getppid
    functionSourceFile: os
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 46
    functionName: gunicorn.pidfile.Pidfile.rename
    functionSourceFile: gunicorn.pidfile
    functionUses: 3
    functionsReached:
    - os.path.isdir
    - <builtin>.open
    - tempfile.mkstemp
    - <builtin>.int
    - os.getpid
    - gunicorn.pidfile.Pidfile.unlink
    - os.write
    - gunicorn.pidfile.Pidfile.validate
    - os.path.dirname
    - f.read
    - os.rename
    - os.kill
    - gunicorn.pidfile.Pidfile.create
    - os.chmod
    - os.unlink
    - os.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.write
    functionSourceFile: os
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: select.select
    functionSourceFile: select
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.read
    functionSourceFile: os
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f66bb416a00>
    argNames:
    - listeners
    - unlink
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 207
    functionName: gunicorn.sock.close_sockets
    functionSourceFile: gunicorn.sock
    functionUses: 6
    functionsReached:
    - gunicorn.sock._sock_type
    - gunicorn.util.is_ipv6
    - sock.close
    - <builtin>.isinstance
    - sock.getsockname
    - socket.inet_pton
    - os.unlink
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lnr.fileno
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.chdir
    functionSourceFile: os
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.execvpe
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 59
    functionName: gunicorn.app.base.BaseApplication.reload
    functionSourceFile: gunicorn.app.base
    functionUses: 2
    functionsReached:
    - gunicorn.app.pasterapp.serve.PasterServerApplication.load_config
    - k.lower
    - importlib.util.module_from_spec
    - gunicorn.config.get_default_config_file
    - <builtin>.vars
    - gunicorn.util.warn
    - gunicorn.app.pasterapp.has_logging_config
    - sys.stderr.flush
    - cfg.items
    - gunicorn.app.base.Application.get_config_from_module_name
    - importlib.util.spec_from_file_location
    - sys.exit
    - traceback.print_exc
    - importlib.machinery.SourceFileLoader
    - parser.read
    - gunicorn.config.Config.set
    - configparser.ConfigParser
    - setting.copy
    - os.environ.copy
    - os.path.basename
    - msg.splitlines
    - gunicorn.app.base.Application.load_config_from_module_name_or_filename
    - location.startswith
    - gunicorn.app.base.Application.load_config_from_file
    - <builtin>.print
    - gunicorn.debug.Spew.__init__
    - gunicorn.config.make_settings
    - os.path.join
    - os.path.abspath
    - <builtin>.enumerate
    - os.path.exists
    - sys.settrace
    - gunicorn.config.Config.__init__
    - <builtin>.len
    - local_conf.items
    - <builtin>.str
    - gunicorn.app.base.BaseApplication.load_default_config
    - os.path.splitext
    - gunicorn.debug.spew
    - gunicorn.app.base.BaseApplication.do_load_config
    - importlib.import_module
    - os.getcwd
    - gunicorn.app.base.Application.get_config_from_filename
    - spec.loader.exec_module
    - parser.has_section
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lnr.close
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 18
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 588
    functionName: gunicorn.arbiter.Arbiter.spawn_worker
    functionSourceFile: gunicorn.arbiter
    functionUses: 8
    functionsReached:
    - stat.S_ISSOCK
    - gunicorn.util.load_class
    - gunicorn.sock.BaseSocket.set_options
    - importlib_metadata.distribution
    - components.pop
    - os.getpid
    - traceback.format_exc
    - listeners.append
    - os.fork
    - msg.format
    - gunicorn.sock.BaseSocket.__init__
    - worker.tmp.close
    - gunicorn.sock.TCPSocket.set_options
    - sys.stderr.flush
    - inspect.isclass
    - sock.bind
    - gunicorn.sock.create_sockets
    - setproctitle.setproctitle
    - os.umask
    - sys.exit
    - gunicorn.sock.UnixSocket.__init__
    - <builtin>.hasattr
    - sock.setsockopt
    - uri.startswith
    - gunicorn.config.Config.worker_class
    - log.debug
    - os.stat
    - worker.init_process
    - <builtin>.print
    - uri.endswith
    - <builtin>.range
    - uri.split
    - entry_str.rsplit
    - sock.set_inheritable
    - sock.listen
    - gunicorn.util.chown
    - importlib.metadata.distribution
    - gunicorn.sock.UnixSocket.bind
    - os.path.exists
    - os.chown
    - sock.getsockname
    - socket.inet_pton
    - os.close
    - <builtin>.list
    - <builtin>.len
    - <builtin>.str
    - sock.setblocking
    - log.error
    - gunicorn.util.load_entry_point
    - <builtin>.getattr
    - gunicorn.sock._sock_type
    - gunicorn.util._setproctitle
    - gunicorn.util.is_ipv6
    - time.sleep
    - socket.socket
    - importlib.import_module
    - sibling.tmp.close
    - socket.fromfd
    - worker_class.setup
    - os.remove
    - <builtin>.isinstance
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.monotonic
    functionSourceFile: time
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: worker.tmp.last_update
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - pid
    - sig
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 657
    functionName: gunicorn.arbiter.Arbiter.kill_worker
    functionSourceFile: gunicorn.arbiter
    functionUses: 15
    functionsReached:
    - worker.tmp.close
    - os.kill
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.waitpid
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: worker.tmp.close
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 636
    functionName: gunicorn.arbiter.Arbiter.spawn_workers
    functionSourceFile: gunicorn.arbiter
    functionUses: 7
    functionsReached:
    - stat.S_ISSOCK
    - gunicorn.util.load_class
    - gunicorn.sock.BaseSocket.set_options
    - importlib_metadata.distribution
    - components.pop
    - os.getpid
    - traceback.format_exc
    - listeners.append
    - os.fork
    - msg.format
    - gunicorn.sock.BaseSocket.__init__
    - worker.tmp.close
    - gunicorn.sock.TCPSocket.set_options
    - sys.stderr.flush
    - inspect.isclass
    - sock.bind
    - gunicorn.sock.create_sockets
    - setproctitle.setproctitle
    - os.umask
    - sys.exit
    - gunicorn.sock.UnixSocket.__init__
    - <builtin>.hasattr
    - sock.setsockopt
    - uri.startswith
    - random.random
    - gunicorn.config.Config.worker_class
    - log.debug
    - os.stat
    - worker.init_process
    - <builtin>.print
    - uri.endswith
    - <builtin>.range
    - uri.split
    - entry_str.rsplit
    - sock.set_inheritable
    - sock.listen
    - gunicorn.util.chown
    - gunicorn.arbiter.Arbiter.spawn_worker
    - gunicorn.sock.UnixSocket.bind
    - os.path.exists
    - os.chown
    - importlib.metadata.distribution
    - sock.getsockname
    - socket.inet_pton
    - os.close
    - <builtin>.list
    - <builtin>.len
    - <builtin>.str
    - sock.setblocking
    - log.error
    - gunicorn.util.load_entry_point
    - <builtin>.getattr
    - gunicorn.sock._sock_type
    - gunicorn.util._setproctitle
    - gunicorn.util.is_ipv6
    - time.sleep
    - socket.socket
    - importlib.import_module
    - sibling.tmp.close
    - socket.fromfd
    - worker_class.setup
    - os.remove
    - <builtin>.isinstance
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.arbiter.Arbiter.manage_workers.<lambda1>
    functionSourceFile: gunicorn.arbiter
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: workers.pop
    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
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 115
    functionName: gunicorn.config.Config.worker_class
    functionSourceFile: gunicorn.config
    functionUses: 9
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.getattr
    - gunicorn.util.load_class
    - importlib_metadata.distribution
    - uri.endswith
    - uri.startswith
    - uri.split
    - components.pop
    - entry_str.rsplit
    - traceback.format_exc
    - importlib.metadata.distribution
    - importlib.import_module
    - inspect.isclass
    - worker_class.setup
    - <builtin>.len
    - <builtin>.isinstance
    - gunicorn.util.load_entry_point
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sibling.tmp.close
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: worker.init_process
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: random.random
    functionSourceFile: random
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.kill
    functionSourceFile: os
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.pidfile
    functionSourceFile: gunicorn.pidfile
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 62
    functionName: gunicorn.pidfile.Pidfile.validate
    functionSourceFile: gunicorn.pidfile
    functionUses: 8
    functionsReached:
    - <builtin>.open
    - f.read
    - <builtin>.int
    - os.kill
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.isdir
    functionSourceFile: os
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tempfile.mkstemp
    functionSourceFile: tempfile
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.rename
    functionSourceFile: os
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.chmod
    functionSourceFile: os
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.read
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.sock
    functionSourceFile: gunicorn.sock
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f66baded4f0>
    argNames:
    - self
    - address
    - conf
    - log
    - fd
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 18
    functionName: gunicorn.sock.BaseSocket.__init__
    functionSourceFile: gunicorn.sock
    functionUses: 11
    functionsReached:
    - <builtin>.hasattr
    - gunicorn.sock.BaseSocket.set_options
    - sock.setsockopt
    - os.umask
    - socket.socket
    - sock.set_inheritable
    - gunicorn.util.chown
    - sock.listen
    - gunicorn.sock.TCPSocket.set_options
    - os.chown
    - socket.fromfd
    - sock.bind
    - os.close
    - sock.setblocking
    - gunicorn.sock.UnixSocket.bind
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: socket.fromfd
    functionSourceFile: socket
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f66baf216a0>
    argNames:
    - self
    - sock
    - bound
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 39
    functionName: gunicorn.sock.BaseSocket.set_options
    functionSourceFile: gunicorn.sock
    functionUses: 12
    functionsReached:
    - <builtin>.hasattr
    - sock.setsockopt
    - os.umask
    - sock.set_inheritable
    - sock.listen
    - gunicorn.util.chown
    - os.chown
    - sock.bind
    - sock.setblocking
    - gunicorn.sock.UnixSocket.bind
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f66baf9f5b0>
    argNames:
    - self
    - sock
    - bound
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 87
    functionName: gunicorn.sock.TCPSocket.set_options
    functionSourceFile: gunicorn.sock
    functionUses: 12
    functionsReached:
    - sock.setsockopt
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 33
    functionName: gunicorn.sock.BaseSocket.__str__
    functionSourceFile: gunicorn.sock
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 36
    functionName: gunicorn.sock.BaseSocket.__getattr__
    functionSourceFile: gunicorn.sock
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sock.setsockopt
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - sock
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 122
    functionName: gunicorn.sock.UnixSocket.bind
    functionSourceFile: gunicorn.sock
    functionUses: 13
    functionsReached:
    - os.chown
    - os.umask
    - gunicorn.util.chown
    - sock.bind
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sock.set_inheritable
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sock.listen
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - sock
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 59
    functionName: gunicorn.sock.BaseSocket.bind
    functionSourceFile: gunicorn.sock
    functionUses: 0
    functionsReached:
    - sock.bind
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sock.bind
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 62
    functionName: gunicorn.sock.BaseSocket.close
    functionSourceFile: gunicorn.sock
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 78
    functionName: gunicorn.sock.TCPSocket.__str__
    functionSourceFile: gunicorn.sock
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 96
    functionName: gunicorn.sock.TCP6Socket.__str__
    functionSourceFile: gunicorn.sock
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f66bb487c10>
    argNames:
    - self
    - addr
    - conf
    - log
    - fd
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 105
    functionName: gunicorn.sock.UnixSocket.__init__
    functionSourceFile: gunicorn.sock
    functionUses: 11
    functionsReached:
    - stat.S_ISSOCK
    - os.remove
    - <builtin>.super
    - os.stat
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stat.S_ISSOCK
    functionSourceFile: stat
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.remove
    functionSourceFile: os
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 119
    functionName: gunicorn.sock.UnixSocket.__str__
    functionSourceFile: gunicorn.sock
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - addr
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 129
    functionName: gunicorn.sock._sock_type
    functionSourceFile: gunicorn.sock
    functionUses: 16
    functionsReached:
    - <builtin>.isinstance
    - gunicorn.util.is_ipv6
    - socket.inet_pton
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sock.getsockname
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: listeners.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: log.error
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: msg.format
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: log.debug
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - conf
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 215
    functionName: gunicorn.sock.ssl_context
    functionSourceFile: gunicorn.sock
    functionUses: 8
    functionsReached:
    - conf.ssl_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 216
    functionName: gunicorn.sock.ssl_context.default_ssl_context_factory
    functionSourceFile: gunicorn.sock
    functionUses: 0
    functionsReached:
    - context.load_cert_chain
    - ssl.create_default_context
    - context.set_ciphers
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ssl.create_default_context
    functionSourceFile: ssl
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: context.load_cert_chain
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: context.set_ciphers
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conf.ssl_context
    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
    argDefaultValues: []
    argNames:
    - sock
    - conf
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 227
    functionName: gunicorn.sock.ssl_wrap_socket
    functionSourceFile: gunicorn.sock
    functionUses: 6
    functionsReached:
    - conf.ssl_context
    - gunicorn.sock.ssl_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.config
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f66ba4c9bb0>
    argNames:
    - ignore
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 28
    functionName: gunicorn.config.make_settings
    functionSourceFile: gunicorn.config
    functionUses: 11
    functionsReached:
    - setting.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: setting.copy
    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
    argDefaultValues: []
    argNames:
    - _
    - x
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 39
    functionName: gunicorn.config.auto_int
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - re.match
    - x.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x.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: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f66bad5b790>
    - <ast.Constant object at 0x7f66bad5b910>
    argNames:
    - self
    - usage
    - prog
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 48
    functionName: gunicorn.config.Config.__init__
    functionSourceFile: gunicorn.config
    functionUses: 10
    functionsReached:
    - gunicorn.config.make_settings
    - setting.copy
    - os.environ.copy
    - os.path.basename
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.basename
    functionSourceFile: os
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.environ.copy
    functionSourceFile: os
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 54
    functionName: gunicorn.config.Config.__str__
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - lines.append
    - <builtin>.max
    - <builtin>.callable
    - <builtin>.sorted
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.max
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lines.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: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 64
    functionName: gunicorn.config.Config.__getattr__
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 69
    functionName: gunicorn.config.Config.__setattr__
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 74
    functionName: gunicorn.config.Config.set
    functionSourceFile: gunicorn.config
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 79
    functionName: gunicorn.config.Config.get_cmd_args_from_env
    functionSourceFile: gunicorn.config
    functionUses: 1
    functionsReached:
    - shlex.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: shlex.split
    functionSourceFile: shlex
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 84
    functionName: gunicorn.config.Config.parser
    functionSourceFile: gunicorn.config
    functionUses: 1
    functionsReached:
    - parser.add_argument
    - <builtin>.sorted
    - argparse.ArgumentParser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: argparse.ArgumentParser
    functionSourceFile: argparse
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.add_argument
    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
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 103
    functionName: gunicorn.config.Config.worker_class_str
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - uri.endswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: uri.endswith
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: worker_class.setup
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 129
    functionName: gunicorn.config.Config.address
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - re.match
    - gunicorn.util.bytes_to_str
    - netloc.split
    - netloc.startswith
    - host.lower
    - <builtin>.str
    - <builtin>.isinstance
    - re.split
    - gunicorn.util.parse_address
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 134
    functionName: gunicorn.config.Config.uid
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 138
    functionName: gunicorn.config.Config.gid
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 142
    functionName: gunicorn.config.Config.proc_name
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger_class.install
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 172
    functionName: gunicorn.config.Config.is_ssl
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 176
    functionName: gunicorn.config.Config.ssl_options
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - value.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.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
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 184
    functionName: gunicorn.config.Config.env
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - s.split
    - <builtin>.isinstance
    - gunicorn.util.bytes_to_str
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 203
    functionName: gunicorn.config.Config.sendfile
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 214
    functionName: gunicorn.config.Config.reuse_port
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 218
    functionName: gunicorn.config.Config.paste_global_conf
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - gunicorn.util.bytes_to_str
    - v.replace
    - <builtin>.str
    - <builtin>.isinstance
    - k.replace
    - re.split
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: k.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: v.replace
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - cls
    - name
    - bases
    - attrs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 238
    functionName: gunicorn.config.SettingMeta.__new__
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - attrs.get
    - KNOWN_SETTINGS.append
    - new_class.fmt_desc
    - <builtin>.staticmethod
    - <builtin>.len
    - <builtin>.isinstance
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.staticmethod
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attrs.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_class.fmt_desc
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: KNOWN_SETTINGS.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: 2
    argDefaultValues: []
    argNames:
    - cls
    - desc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 252
    functionName: gunicorn.config.SettingMeta.fmt_desc
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - desc.splitlines
    - textwrap.dedent
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.setattr
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: desc.splitlines
    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
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 273
    functionName: gunicorn.config.Setting.__init__
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - parser
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 277
    functionName: gunicorn.config.Setting.add_option
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - help_txt.replace
    - parser.add_argument
    - kwargs.pop
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.tuple
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: help_txt.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 307
    functionName: gunicorn.config.Setting.copy
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 310
    functionName: gunicorn.config.Setting.get
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - val
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 313
    functionName: gunicorn.config.Setting.set
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - <builtin>.callable
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 318
    functionName: gunicorn.config.Setting.__lt__
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 323
    functionName: gunicorn.config.Setting.__repr__
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - <builtin>.id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.id
    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
    argDefaultValues: []
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 335
    functionName: gunicorn.config.validate_bool
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - val.lower
    linkageType: pythonLinkage
    raised:
    - TypeError
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: val.lower
    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
    argDefaultValues: []
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 351
    functionName: gunicorn.config.validate_dict
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 357
    functionName: gunicorn.config.validate_pos_int
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 368
    functionName: gunicorn.config.validate_ssl_version
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - sys.stderr.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stderr.write
    functionSourceFile: sys
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 374
    functionName: gunicorn.config.validate_string
    functionSourceFile: gunicorn.config
    functionUses: 7
    functionsReached:
    - val.strip
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: val.strip
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 382
    functionName: gunicorn.config.validate_file_exists
    functionSourceFile: gunicorn.config
    functionUses: 1
    functionsReached:
    - os.path.exists
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 390
    functionName: gunicorn.config.validate_list_string
    functionSourceFile: gunicorn.config
    functionUses: 1
    functionsReached:
    - val.strip
    - <builtin>.isinstance
    - gunicorn.config.validate_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 401
    functionName: gunicorn.config.validate_list_of_existing_files
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - os.path.exists
    - gunicorn.config.validate_list_string
    - val.strip
    - <builtin>.isinstance
    - gunicorn.config.validate_string
    - gunicorn.config.validate_file_exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 405
    functionName: gunicorn.config.validate_string_to_addr_list
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - gunicorn.config.validate_string_to_list
    - v.strip
    - ipaddress.ip_address
    - val.strip
    - <builtin>.isinstance
    - gunicorn.config.validate_string
    - val.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 416
    functionName: gunicorn.config.validate_string_to_list
    functionSourceFile: gunicorn.config
    functionUses: 1
    functionsReached:
    - v.strip
    - val.strip
    - <builtin>.isinstance
    - gunicorn.config.validate_string
    - val.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ipaddress.ip_address
    functionSourceFile: ipaddress
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: val.split
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 425
    functionName: gunicorn.config.validate_class
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - inspect.ismethod
    - inspect.isclass
    - inspect.isfunction
    - val.strip
    - <builtin>.isinstance
    - gunicorn.config.validate_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.isfunction
    functionSourceFile: inspect
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.ismethod
    functionSourceFile: inspect
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - arity
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 433
    functionName: gunicorn.config.validate_callable
    functionSourceFile: gunicorn.config
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 434
    functionName: gunicorn.config.validate_callable._validate_callable
    functionSourceFile: gunicorn.config
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - <builtin>.callable
    - sig.parameters.values
    - <builtin>.isinstance
    - val.rsplit
    - inspect.signature
    - gunicorn.util.get_arity
    - <builtin>.__import__
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: val.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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.__import__
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 457
    functionName: gunicorn.config.validate_user
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - os.geteuid
    - pwd.getpwnam
    - <builtin>.isinstance
    - val.isdigit
    linkageType: pythonLinkage
    raised:
    - ConfigError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.geteuid
    functionSourceFile: os
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: val.isdigit
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pwd.getpwnam
    functionSourceFile: pwd
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 471
    functionName: gunicorn.config.validate_group
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - os.getegid
    - grp.getgrnam
    - <builtin>.isinstance
    - val.isdigit
    linkageType: pythonLinkage
    raised:
    - ConfigError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.getegid
    functionSourceFile: os
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: grp.getgrnam
    functionSourceFile: grp
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 486
    functionName: gunicorn.config.validate_post_request
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - gunicorn.config.validate_callable
    - <builtin>.callable
    - sig.parameters.values
    - <builtin>.isinstance
    - val.rsplit
    - inspect.signature
    - gunicorn.config.validate_callable._validate_callable
    - gunicorn.util.get_arity
    - <builtin>.__import__
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.config.validate_post_request.<lambda1>
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.config.validate_post_request.<lambda2>
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 500
    functionName: gunicorn.config.validate_chdir
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - os.path.normpath
    - gunicorn.util.getcwd
    - os.path.join
    - os.path.abspath
    - os.path.exists
    - os.getcwd
    - val.strip
    - <builtin>.isinstance
    - gunicorn.config.validate_string
    - os.stat
    linkageType: pythonLinkage
    raised:
    - ConfigError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.join
    functionSourceFile: os
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.normpath
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.abspath
    functionSourceFile: os
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 514
    functionName: gunicorn.config.validate_statsd_address
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - re.match
    - netloc.split
    - re.split
    - netloc.startswith
    - host.lower
    - val.strip
    - <builtin>.isinstance
    - gunicorn.config.validate_string
    - unix_hostname_regression.group
    - gunicorn.util.parse_address
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unix_hostname_regression.group
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 535
    functionName: gunicorn.config.validate_reload_engine
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ConfigError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 542
    functionName: gunicorn.config.get_default_config_file
    functionSourceFile: gunicorn.config
    functionUses: 11
    functionsReached:
    - os.path.exists
    - os.getcwd
    - os.path.join
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.config.Bind
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.config.Workers
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: gunicorn.config.Chdir
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - os.getcwd
    - gunicorn.util.getcwd
    - os.stat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.config.User
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - os.geteuid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.config.Group
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - os.getegid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.config.ForwardedAllowIPS
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.config.OnStarting
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - gunicorn.config.validate_callable
    - <builtin>.staticmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - server
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1763
    functionName: gunicorn.config.OnStarting.on_starting
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.config.OnReload
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - gunicorn.config.validate_callable
    - <builtin>.staticmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - server
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1779
    functionName: gunicorn.config.OnReload.on_reload
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.config.WhenReady
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - gunicorn.config.validate_callable
    - <builtin>.staticmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - server
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1795
    functionName: gunicorn.config.WhenReady.when_ready
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.config.Prefork
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - gunicorn.config.validate_callable
    - <builtin>.staticmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - server
    - worker
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1811
    functionName: gunicorn.config.Prefork.pre_fork
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.config.Postfork
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - gunicorn.config.validate_callable
    - <builtin>.staticmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - server
    - worker
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1828
    functionName: gunicorn.config.Postfork.post_fork
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.config.PostWorkerInit
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - gunicorn.config.validate_callable
    - <builtin>.staticmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - worker
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1845
    functionName: gunicorn.config.PostWorkerInit.post_worker_init
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.config.WorkerInt
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - gunicorn.config.validate_callable
    - <builtin>.staticmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - worker
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1863
    functionName: gunicorn.config.WorkerInt.worker_int
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.config.WorkerAbort
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - gunicorn.config.validate_callable
    - <builtin>.staticmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - worker
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1881
    functionName: gunicorn.config.WorkerAbort.worker_abort
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.config.PreExec
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - gunicorn.config.validate_callable
    - <builtin>.staticmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - server
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1901
    functionName: gunicorn.config.PreExec.pre_exec
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.config.PreRequest
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - gunicorn.config.validate_callable
    - <builtin>.staticmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - worker
    - req
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1917
    functionName: gunicorn.config.PreRequest.pre_request
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - worker.log.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: worker.log.debug
    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
    argDefaultValues: []
    argNames:
    - worker
    - req
    - environ
    - resp
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1934
    functionName: gunicorn.config.PostRequest.post_request
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.config.PostRequest
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - <builtin>.staticmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.config.ChildExit
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - gunicorn.config.validate_callable
    - <builtin>.staticmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - server
    - worker
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1951
    functionName: gunicorn.config.ChildExit.child_exit
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.config.WorkerExit
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - gunicorn.config.validate_callable
    - <builtin>.staticmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - server
    - worker
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1970
    functionName: gunicorn.config.WorkerExit.worker_exit
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.config.NumWorkersChanged
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - gunicorn.config.validate_callable
    - <builtin>.staticmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - server
    - new_value
    - old_value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1987
    functionName: gunicorn.config.NumWorkersChanged.nworkers_changed
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.config.OnExit
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - gunicorn.config.validate_callable
    - <builtin>.staticmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - server
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2006
    functionName: gunicorn.config.OnExit.on_exit
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.config.NewSSLContext
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - gunicorn.config.validate_callable
    - <builtin>.staticmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - config
    - default_ssl_context_factory
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2023
    functionName: gunicorn.config.NewSSLContext.ssl_context
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.config.SSLVersion
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2376
    functionName: gunicorn.config.validate_header_map_behaviour
    functionSourceFile: gunicorn.config
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - val.lower
    linkageType: pythonLinkage
    raised:
    - TypeError
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.reloader
    functionSourceFile: gunicorn.reloader
    functionUses: 0
    functionsReached:
    - sys.platform.startswith
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.compile
    functionSourceFile: re
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f66baeed280>
    - <ast.Constant object at 0x7f66baeed910>
    - <ast.Constant object at 0x7f66baeedbb0>
    argNames:
    - self
    - extra_files
    - interval
    - callback
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 17
    functionName: gunicorn.reloader.Reloader.__init__
    functionSourceFile: gunicorn.reloader
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 24
    functionName: gunicorn.reloader.Reloader.add_extra_file
    functionSourceFile: gunicorn.reloader
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 27
    functionName: gunicorn.reloader.Reloader.get_files
    functionSourceFile: gunicorn.reloader
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - <builtin>.tuple
    - fnames.extend
    - COMPILED_EXT_RE.sub
    - sys.modules.values
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: COMPILED_EXT_RE.sub
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.modules.values
    functionSourceFile: sys
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fnames.extend
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 38
    functionName: gunicorn.reloader.Reloader.run
    functionSourceFile: gunicorn.reloader
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.tuple
    - time.sleep
    - gunicorn.reloader.Reloader.get_files
    - fnames.extend
    - sys.modules.values
    - mtimes.get
    - COMPILED_EXT_RE.sub
    - os.stat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mtimes.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: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f66bb4eddf0>
    - <ast.Constant object at 0x7f66bb4edf40>
    argNames:
    - self
    - extra_files
    - callback
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 120
    functionName: gunicorn.reloader.InotifyReloader.__init__
    functionSourceFile: gunicorn.reloader
    functionUses: 0
    functionsReached:
    - inotify.adapters.Inotify.add_watch
    - gunicorn.reloader.InotifyReloader.add_extra_file
    - inotify.adapters.Inotify
    - <builtin>.set
    - os.path.dirname
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - ImportError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inotify.adapters.Inotify
    functionSourceFile: inotify
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 84
    functionName: gunicorn.reloader.InotifyReloader.add_extra_file
    functionSourceFile: gunicorn.reloader
    functionUses: 1
    functionsReached:
    - inotify.adapters.Inotify.add_watch
    - os.path.dirname
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inotify.adapters.Inotify.add_watch
    functionSourceFile: inotify
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 93
    functionName: gunicorn.reloader.InotifyReloader.get_dirs
    functionSourceFile: gunicorn.reloader
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - <builtin>.tuple
    - os.path.abspath
    - os.path.dirname
    - <builtin>.set
    - COMPILED_EXT_RE.sub
    - sys.modules.values
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 102
    functionName: gunicorn.reloader.InotifyReloader.run
    functionSourceFile: gunicorn.reloader
    functionUses: 0
    functionsReached:
    - os.path.isdir
    - <builtin>.getattr
    - gunicorn.reloader.InotifyReloader.get_dirs
    - <builtin>.tuple
    - inotify.adapters.Inotify.add_watch
    - inotify.adapters.Inotify.event_gen
    - os.path.abspath
    - os.path.dirname
    - <builtin>.set
    - COMPILED_EXT_RE.sub
    - sys.modules.values
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inotify.adapters.Inotify.event_gen
    functionSourceFile: inotify
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.debug
    functionSourceFile: gunicorn.debug
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f66bb37d4c0>
    - <ast.Constant object at 0x7f66bb37d130>
    argNames:
    - self
    - trace_names
    - show_values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 20
    functionName: gunicorn.debug.Spew.__init__
    functionSourceFile: gunicorn.debug
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 4
    IfCount: 8
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - frame
    - event
    - arg
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 24
    functionName: gunicorn.debug.Spew.__call__
    functionSourceFile: gunicorn.debug
    functionUses: 0
    functionsReached:
    - details.append
    - line.rstrip
    - <builtin>.print
    - _token_spliter.split
    - linecache.getline
    - inspect.getsourcelines
    - filename.endswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: filename.endswith
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: linecache.getline
    functionSourceFile: linecache
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inspect.getsourcelines
    functionSourceFile: inspect
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _token_spliter.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: details.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: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f66bae55ca0>
    - <ast.Constant object at 0x7f66bae55fa0>
    argNames:
    - trace_names
    - show_values
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 58
    functionName: gunicorn.debug.spew
    functionSourceFile: gunicorn.debug
    functionUses: 8
    functionsReached:
    - sys.settrace
    - gunicorn.debug.Spew.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.settrace
    functionSourceFile: sys
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 65
    functionName: gunicorn.debug.unspew
    functionSourceFile: gunicorn.debug
    functionUses: 0
    functionsReached:
    - sys.settrace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: -1
    functionName: gunicorn.__main__
    functionSourceFile: gunicorn.__main__
    functionUses: 0
    functionsReached:
    - gunicorn.app.pasterapp.serve.PasterServerApplication.load_config
    - k.lower
    - gunicorn.util.daemonize.redirect
    - importlib.util.module_from_spec
    - os.closerange
    - gunicorn.config.get_default_config_file
    - os.setsid
    - <builtin>.vars
    - os.environ.get
    - gunicorn.app.pasterapp.has_logging_config
    - gunicorn.util.warn
    - os.fork
    - sys.stderr.flush
    - os.umask
    - cfg.items
    - gunicorn.app.base.Application.get_config_from_module_name
    - sys.stdout.fileno
    - os._exit
    - traceback.print_exc
    - importlib.util.spec_from_file_location
    - sys.exit
    - sys.path.insert
    - importlib.machinery.SourceFileLoader
    - gunicorn.app.base.Application.run
    - gunicorn.config.Config.set
    - parser.read
    - configparser.ConfigParser
    - setting.copy
    - os.environ.copy
    - gunicorn.app.wsgiapp.run
    - sys.stdout.isatty
    - sys.stderr.fileno
    - msg.splitlines
    - gunicorn.app.base.Application.load_config_from_module_name_or_filename
    - os.path.basename
    - location.startswith
    - gunicorn.app.base.Application.load_config_from_file
    - <builtin>.print
    - gunicorn.app.pasterapp.serve.PasterServerApplication.load
    - gunicorn.app.base.BaseApplication.__init__
    - gunicorn.debug.Spew.__init__
    - gunicorn.config.make_settings
    - os.path.join
    - os.path.abspath
    - <builtin>.enumerate
    - os.path.exists
    - os.set_inheritable
    - sys.settrace
    - gunicorn.config.Config.__init__
    - os.close
    - os.dup2
    - local_conf.items
    - <builtin>.str
    - <builtin>.len
    - gunicorn.util.daemonize
    - gunicorn.app.base.BaseApplication.load_default_config
    - os.path.splitext
    - gunicorn.debug.spew
    - gunicorn.app.base.BaseApplication.do_load_config
    - importlib.import_module
    - os.getcwd
    - sys.stderr.isatty
    - gunicorn.app.base.Application.get_config_from_filename
    - spec.loader.exec_module
    - os.open
    - <builtin>.super
    - parser.has_section
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f66baef2340>
    argNames:
    - prog
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 60
    functionName: gunicorn.app.wsgiapp.run
    functionSourceFile: gunicorn.app.wsgiapp
    functionUses: 2
    functionsReached:
    - gunicorn.app.pasterapp.serve.PasterServerApplication.load_config
    - k.lower
    - gunicorn.util.daemonize.redirect
    - importlib.util.module_from_spec
    - os.closerange
    - gunicorn.config.get_default_config_file
    - os.setsid
    - <builtin>.vars
    - os.environ.get
    - gunicorn.app.pasterapp.has_logging_config
    - gunicorn.util.warn
    - os.fork
    - sys.stderr.flush
    - os.umask
    - cfg.items
    - gunicorn.app.base.Application.get_config_from_module_name
    - sys.stdout.fileno
    - os._exit
    - traceback.print_exc
    - importlib.util.spec_from_file_location
    - sys.exit
    - sys.path.insert
    - importlib.machinery.SourceFileLoader
    - gunicorn.app.base.Application.run
    - gunicorn.config.Config.set
    - parser.read
    - configparser.ConfigParser
    - setting.copy
    - os.environ.copy
    - sys.stdout.isatty
    - sys.stderr.fileno
    - os.path.basename
    - msg.splitlines
    - gunicorn.app.base.Application.load_config_from_module_name_or_filename
    - location.startswith
    - gunicorn.app.base.Application.load_config_from_file
    - <builtin>.print
    - gunicorn.app.pasterapp.serve.PasterServerApplication.load
    - gunicorn.app.base.BaseApplication.__init__
    - gunicorn.debug.Spew.__init__
    - gunicorn.config.make_settings
    - os.path.join
    - os.path.abspath
    - <builtin>.enumerate
    - os.path.exists
    - os.set_inheritable
    - sys.settrace
    - gunicorn.config.Config.__init__
    - os.close
    - os.dup2
    - local_conf.items
    - <builtin>.str
    - <builtin>.len
    - gunicorn.util.daemonize
    - gunicorn.app.base.BaseApplication.load_default_config
    - os.path.splitext
    - gunicorn.debug.spew
    - gunicorn.app.base.BaseApplication.do_load_config
    - importlib.import_module
    - os.getcwd
    - sys.stderr.isatty
    - gunicorn.app.base.Application.get_config_from_filename
    - spec.loader.exec_module
    - os.open
    - <builtin>.super
    - parser.has_section
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.app
    functionSourceFile: gunicorn.app
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: -1
    functionName: gunicorn.app.wsgiapp
    functionSourceFile: gunicorn.app.wsgiapp
    functionUses: 0
    functionsReached:
    - gunicorn.app.pasterapp.serve.PasterServerApplication.load_config
    - k.lower
    - gunicorn.util.daemonize.redirect
    - importlib.util.module_from_spec
    - os.closerange
    - gunicorn.config.get_default_config_file
    - os.setsid
    - <builtin>.vars
    - os.environ.get
    - gunicorn.app.pasterapp.has_logging_config
    - gunicorn.util.warn
    - os.fork
    - sys.stderr.flush
    - os.umask
    - cfg.items
    - gunicorn.app.base.Application.get_config_from_module_name
    - sys.stdout.fileno
    - os._exit
    - traceback.print_exc
    - importlib.util.spec_from_file_location
    - sys.exit
    - sys.path.insert
    - importlib.machinery.SourceFileLoader
    - gunicorn.app.base.Application.run
    - gunicorn.config.Config.set
    - parser.read
    - configparser.ConfigParser
    - setting.copy
    - os.environ.copy
    - gunicorn.app.wsgiapp.run
    - sys.stdout.isatty
    - sys.stderr.fileno
    - msg.splitlines
    - gunicorn.app.base.Application.load_config_from_module_name_or_filename
    - os.path.basename
    - location.startswith
    - gunicorn.app.base.Application.load_config_from_file
    - <builtin>.print
    - gunicorn.app.pasterapp.serve.PasterServerApplication.load
    - gunicorn.app.base.BaseApplication.__init__
    - gunicorn.debug.Spew.__init__
    - gunicorn.config.make_settings
    - os.path.join
    - os.path.abspath
    - <builtin>.enumerate
    - os.path.exists
    - os.set_inheritable
    - sys.settrace
    - gunicorn.config.Config.__init__
    - os.close
    - os.dup2
    - local_conf.items
    - <builtin>.str
    - <builtin>.len
    - gunicorn.util.daemonize
    - gunicorn.app.base.BaseApplication.load_default_config
    - os.path.splitext
    - gunicorn.debug.spew
    - gunicorn.app.base.BaseApplication.do_load_config
    - importlib.import_module
    - os.getcwd
    - sys.stderr.isatty
    - gunicorn.app.base.Application.get_config_from_filename
    - spec.loader.exec_module
    - os.open
    - <builtin>.super
    - parser.has_section
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - parser
    - opts
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 13
    functionName: gunicorn.app.wsgiapp.WSGIApplication.init
    functionSourceFile: gunicorn.app.wsgiapp
    functionUses: 1
    functionsReached:
    - config_uri.split
    - configparser.ConfigParser
    - gunicorn.config.Config.set
    - parser.read
    - gunicorn.app.pasterapp.has_logging_config
    - os.path.abspath
    - os.path.exists
    - <builtin>.len
    - parser.has_section
    linkageType: pythonLinkage
    raised:
    - ConfigError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: config_uri.split
    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
    argDefaultValues: []
    argNames:
    - config_file
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 26
    functionName: gunicorn.app.pasterapp.has_logging_config
    functionSourceFile: gunicorn.app.pasterapp
    functionUses: 12
    functionsReached:
    - configparser.ConfigParser
    - parser.has_section
    - parser.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 37
    functionName: gunicorn.app.wsgiapp.WSGIApplication.load_config
    functionSourceFile: gunicorn.app.wsgiapp
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - ConfigError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 46
    functionName: gunicorn.app.wsgiapp.WSGIApplication.load_wsgiapp
    functionSourceFile: gunicorn.app.wsgiapp
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - ast.parse
    - gunicorn.util._called_with_wrong_args
    - <builtin>.callable
    - module.split
    - importlib.import_module
    - os.path.exists
    - sys.exc_info
    - <builtin>.isinstance
    - traceback.print_exception
    - ast.literal_eval
    - <builtin>.len
    - module.endswith
    - gunicorn.util.import_app
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 49
    functionName: gunicorn.app.wsgiapp.WSGIApplication.load_pasteapp
    functionSourceFile: gunicorn.app.wsgiapp
    functionUses: 1
    functionsReached:
    - os.getcwd
    - paste.deploy.loadapp
    - gunicorn.app.pasterapp.get_wsgi_app
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f66bada11f0>
    - <ast.Constant object at 0x7f66bada1700>
    argNames:
    - config_uri
    - name
    - defaults
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 14
    functionName: gunicorn.app.pasterapp.get_wsgi_app
    functionSourceFile: gunicorn.app.pasterapp
    functionUses: 2
    functionsReached:
    - os.getcwd
    - paste.deploy.loadapp
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 53
    functionName: gunicorn.app.wsgiapp.WSGIApplication.load
    functionSourceFile: gunicorn.app.wsgiapp
    functionUses: 0
    functionsReached:
    - paste.deploy.loadapp
    - ast.literal_eval
    - gunicorn.app.pasterapp.get_wsgi_app
    - sys.exc_info
    - traceback.print_exception
    - module.endswith
    - gunicorn.app.wsgiapp.WSGIApplication.load_pasteapp
    - gunicorn.util.import_app
    - <builtin>.callable
    - os.path.exists
    - <builtin>.len
    - <builtin>.getattr
    - gunicorn.app.wsgiapp.WSGIApplication.load_wsgiapp
    - ast.parse
    - module.split
    - importlib.import_module
    - os.getcwd
    - gunicorn.util._called_with_wrong_args
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f66bad64790>
    - <ast.Constant object at 0x7f66bad64760>
    argNames:
    - self
    - usage
    - prog
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 21
    functionName: gunicorn.app.base.BaseApplication.__init__
    functionSourceFile: gunicorn.app.base
    functionUses: 4
    functionsReached:
    - gunicorn.app.pasterapp.serve.PasterServerApplication.load_config
    - k.lower
    - importlib.util.module_from_spec
    - gunicorn.config.get_default_config_file
    - <builtin>.vars
    - gunicorn.util.warn
    - gunicorn.app.pasterapp.has_logging_config
    - sys.stderr.flush
    - cfg.items
    - gunicorn.app.base.Application.get_config_from_module_name
    - importlib.util.spec_from_file_location
    - sys.exit
    - traceback.print_exc
    - importlib.machinery.SourceFileLoader
    - parser.read
    - gunicorn.config.Config.set
    - configparser.ConfigParser
    - setting.copy
    - os.environ.copy
    - os.path.basename
    - msg.splitlines
    - gunicorn.app.base.Application.load_config_from_module_name_or_filename
    - location.startswith
    - gunicorn.app.base.Application.load_config_from_file
    - <builtin>.print
    - gunicorn.config.make_settings
    - os.path.join
    - os.path.abspath
    - <builtin>.enumerate
    - os.path.exists
    - gunicorn.config.Config.__init__
    - <builtin>.len
    - local_conf.items
    - <builtin>.str
    - gunicorn.app.base.BaseApplication.load_default_config
    - os.path.splitext
    - gunicorn.app.base.BaseApplication.do_load_config
    - importlib.import_module
    - os.getcwd
    - gunicorn.app.base.Application.get_config_from_filename
    - spec.loader.exec_module
    - parser.has_section
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 12
    IfCount: 7
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 201
    functionName: gunicorn.app.base.Application.run
    functionSourceFile: gunicorn.app.base
    functionUses: 4
    functionsReached:
    - gunicorn.util.daemonize.redirect
    - os.closerange
    - os.setsid
    - os.environ.get
    - os.fork
    - sys.stderr.flush
    - os.umask
    - sys.exit
    - sys.stdout.fileno
    - os._exit
    - traceback.print_exc
    - sys.path.insert
    - sys.stdout.isatty
    - sys.stderr.fileno
    - <builtin>.print
    - gunicorn.app.pasterapp.serve.PasterServerApplication.load
    - gunicorn.debug.Spew.__init__
    - os.path.abspath
    - os.set_inheritable
    - sys.settrace
    - os.close
    - os.dup2
    - gunicorn.util.daemonize
    - gunicorn.debug.spew
    - sys.stderr.isatty
    - os.open
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.app.pasterapp
    functionSourceFile: gunicorn.app.pasterapp
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: paste.deploy.loadapp
    functionSourceFile: paste
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: configparser.ConfigParser
    functionSourceFile: configparser
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.read
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.has_section
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - app
    - global_conf
    - local_conf
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 32
    functionName: gunicorn.app.pasterapp.serve
    functionSourceFile: gunicorn.app.pasterapp
    functionUses: 0
    functionsReached:
    - gunicorn.app.pasterapp.serve.PasterServerApplication.load_config
    - k.lower
    - gunicorn.util.daemonize.redirect
    - importlib.util.module_from_spec
    - os.closerange
    - gunicorn.config.get_default_config_file
    - os.setsid
    - <builtin>.vars
    - os.environ.get
    - gunicorn.app.pasterapp.has_logging_config
    - gunicorn.util.warn
    - os.fork
    - sys.stderr.flush
    - os.umask
    - cfg.items
    - gunicorn.app.base.Application.get_config_from_module_name
    - sys.stdout.fileno
    - os._exit
    - traceback.print_exc
    - importlib.util.spec_from_file_location
    - host.split
    - sys.path.insert
    - importlib.machinery.SourceFileLoader
    - sys.exit
    - gunicorn.app.base.Application.run
    - parser.read
    - configparser.ConfigParser
    - gunicorn.config.Config.set
    - setting.copy
    - os.environ.copy
    - sys.stdout.isatty
    - sys.stderr.fileno
    - os.path.basename
    - msg.splitlines
    - gunicorn.app.base.Application.load_config_from_module_name_or_filename
    - location.startswith
    - gunicorn.app.base.Application.load_config_from_file
    - <builtin>.print
    - gunicorn.app.pasterapp.serve.PasterServerApplication.load
    - gunicorn.app.base.BaseApplication.__init__
    - gunicorn.debug.Spew.__init__
    - gunicorn.config.make_settings
    - os.path.join
    - local_conf.pop
    - os.path.abspath
    - os.path.exists
    - <builtin>.enumerate
    - os.set_inheritable
    - sys.settrace
    - gunicorn.config.Config.__init__
    - os.close
    - os.dup2
    - local_conf.items
    - <builtin>.len
    - <builtin>.str
    - gunicorn.util.daemonize
    - gunicorn.app.base.BaseApplication.load_default_config
    - os.path.splitext
    - gunicorn.debug.spew
    - gunicorn.app.base.BaseApplication.do_load_config
    - importlib.import_module
    - os.getcwd
    - sys.stderr.isatty
    - gunicorn.app.base.Application.get_config_from_filename
    - spec.loader.exec_module
    - os.open
    - <builtin>.super
    - parser.has_section
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: local_conf.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: host.split
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 54
    functionName: gunicorn.app.pasterapp.serve.PasterServerApplication.load_config
    functionSourceFile: gunicorn.app.pasterapp
    functionUses: 9
    functionsReached:
    - k.lower
    - importlib.util.module_from_spec
    - gunicorn.config.get_default_config_file
    - <builtin>.vars
    - gunicorn.util.warn
    - gunicorn.app.pasterapp.has_logging_config
    - sys.stderr.flush
    - importlib.util.spec_from_file_location
    - gunicorn.app.base.Application.get_config_from_module_name
    - sys.exit
    - cfg.items
    - traceback.print_exc
    - importlib.machinery.SourceFileLoader
    - parser.read
    - gunicorn.config.Config.set
    - configparser.ConfigParser
    - msg.splitlines
    - gunicorn.app.base.Application.load_config_from_module_name_or_filename
    - location.startswith
    - gunicorn.app.base.Application.load_config_from_file
    - <builtin>.print
    - os.path.join
    - os.path.abspath
    - <builtin>.enumerate
    - os.path.exists
    - <builtin>.len
    - local_conf.items
    - os.path.splitext
    - importlib.import_module
    - os.getcwd
    - gunicorn.app.base.Application.get_config_from_filename
    - spec.loader.exec_module
    - parser.has_section
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 151
    functionName: gunicorn.app.base.Application.load_config_from_file
    functionSourceFile: gunicorn.app.base
    functionUses: 11
    functionsReached:
    - k.lower
    - importlib.util.module_from_spec
    - gunicorn.util.warn
    - <builtin>.vars
    - sys.stderr.flush
    - cfg.items
    - importlib.util.spec_from_file_location
    - sys.exit
    - gunicorn.app.base.Application.get_config_from_module_name
    - traceback.print_exc
    - importlib.machinery.SourceFileLoader
    - gunicorn.config.Config.set
    - msg.splitlines
    - gunicorn.app.base.Application.load_config_from_module_name_or_filename
    - location.startswith
    - <builtin>.print
    - <builtin>.enumerate
    - os.path.exists
    - <builtin>.len
    - os.path.splitext
    - importlib.import_module
    - gunicorn.app.base.Application.get_config_from_filename
    - spec.loader.exec_module
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: local_conf.items
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 71
    functionName: gunicorn.app.pasterapp.serve.PasterServerApplication.load
    functionSourceFile: gunicorn.app.pasterapp
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.app.base
    functionSourceFile: gunicorn.app.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 29
    functionName: gunicorn.app.base.BaseApplication.do_load_config
    functionSourceFile: gunicorn.app.base
    functionUses: 8
    functionsReached:
    - gunicorn.app.pasterapp.serve.PasterServerApplication.load_config
    - k.lower
    - importlib.util.module_from_spec
    - gunicorn.config.get_default_config_file
    - <builtin>.vars
    - gunicorn.util.warn
    - gunicorn.app.pasterapp.has_logging_config
    - sys.stderr.flush
    - cfg.items
    - gunicorn.app.base.Application.get_config_from_module_name
    - importlib.util.spec_from_file_location
    - sys.exit
    - traceback.print_exc
    - importlib.machinery.SourceFileLoader
    - parser.read
    - gunicorn.config.Config.set
    - configparser.ConfigParser
    - setting.copy
    - os.environ.copy
    - os.path.basename
    - msg.splitlines
    - gunicorn.app.base.Application.load_config_from_module_name_or_filename
    - location.startswith
    - gunicorn.app.base.Application.load_config_from_file
    - <builtin>.print
    - gunicorn.config.make_settings
    - os.path.join
    - os.path.abspath
    - <builtin>.enumerate
    - os.path.exists
    - gunicorn.config.Config.__init__
    - <builtin>.len
    - local_conf.items
    - <builtin>.str
    - gunicorn.app.base.BaseApplication.load_default_config
    - os.path.splitext
    - importlib.import_module
    - os.getcwd
    - gunicorn.app.base.Application.get_config_from_filename
    - spec.loader.exec_module
    - parser.has_section
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 41
    functionName: gunicorn.app.base.BaseApplication.load_default_config
    functionSourceFile: gunicorn.app.base
    functionUses: 9
    functionsReached:
    - gunicorn.config.make_settings
    - setting.copy
    - os.environ.copy
    - os.path.basename
    - gunicorn.config.Config.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - parser
    - opts
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 45
    functionName: gunicorn.app.base.BaseApplication.init
    functionSourceFile: gunicorn.app.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 48
    functionName: gunicorn.app.base.BaseApplication.load
    functionSourceFile: gunicorn.app.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 51
    functionName: gunicorn.app.base.BaseApplication.load_config
    functionSourceFile: gunicorn.app.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 69
    functionName: gunicorn.app.base.BaseApplication.run
    functionSourceFile: gunicorn.app.base
    functionUses: 0
    functionsReached:
    - stat.S_ISSOCK
    - components.pop
    - os.getpid
    - listeners.append
    - gunicorn.util.getcwd
    - sock.bind
    - setproctitle.setproctitle
    - gunicorn.sock.create_sockets
    - os.umask
    - tempfile.mkstemp
    - random.random
    - gunicorn.sock.close_sockets
    - gunicorn.arbiter.Arbiter.__init__
    - gunicorn.arbiter.Arbiter.setup
    - workers.pop
    - <builtin>.open
    - worker.tmp.last_update
    - os.write
    - gunicorn.pidfile.Pidfile.validate
    - os.path.exists
    - gunicorn.util.close_on_exec
    - gunicorn.arbiter.Arbiter.sleep
    - socket.inet_pton
    - <builtin>.list
    - <builtin>.len
    - sock.setblocking
    - gunicorn.util.load_entry_point
    - sibling.tmp.close
    - worker_class.setup
    - gunicorn.arbiter.Arbiter.init_signals
    - <builtin>.super
    - gunicorn.arbiter.Arbiter.stop
    - os.pipe
    - os.environ.get
    - msg.format
    - os.rename
    - gunicorn.arbiter.Arbiter.spawn_workers
    - sock.close
    - gunicorn.pidfile.Pidfile.rename
    - os.stat
    - worker.init_process
    - os.getppid
    - sock.listen
    - gunicorn.util.chown
    - gunicorn.arbiter.Arbiter.spawn_worker
    - os.chmod
    - <builtin>.str
    - gunicorn.pidfile.Pidfile.__init__
    - gunicorn.sock._sock_type
    - gunicorn.util.is_ipv6
    - time.sleep
    - importlib.import_module
    - <builtin>.isinstance
    - gunicorn.sock.UnixSocket.bind
    - gunicorn.sock.BaseSocket.set_options
    - importlib_metadata.distribution
    - os.fork
    - os.read
    - worker.tmp.close
    - logger_class.install
    - select.select
    - gunicorn.arbiter.Arbiter.start
    - <builtin>.hasattr
    - gunicorn.app.base.BaseApplication.wsgi
    - os.path.isdir
    - gunicorn.config.Config.worker_class
    - time.monotonic
    - <builtin>.sorted
    - gunicorn.util.set_non_blocking
    - gunicorn.arbiter.Arbiter.kill_workers
    - <builtin>.print
    - gunicorn.app.pasterapp.serve.PasterServerApplication.load
    - uri.split
    - entry_str.rsplit
    - <builtin>.range
    - gunicorn.pidfile.Pidfile.unlink
    - os.chown
    - f.read
    - sock.getsockname
    - os.close
    - fds.append
    - log.error
    - time.time
    - <builtin>.getattr
    - gunicorn.arbiter.Arbiter.halt
    - socket.socket
    - os.getcwd
    - socket.fromfd
    - os.kill
    - os.remove
    - fcntl.fcntl
    - gunicorn.arbiter.Arbiter.maybe_promote_master
    - gunicorn.util.load_class
    - gunicorn.arbiter.Arbiter.wakeup
    - traceback.format_exc
    - gunicorn.sock.TCPSocket.set_options
    - gunicorn.sock.BaseSocket.__init__
    - sys.stderr.flush
    - inspect.isclass
    - gunicorn.arbiter.Arbiter.murder_workers
    - systemd.sd_notify
    - os.unlink
    - sys.exit
    - gunicorn.sock.UnixSocket.__init__
    - sock.setsockopt
    - uri.startswith
    - args.insert
    - gunicorn.arbiter.Arbiter.manage_workers
    - systemd.listen_fds
    - gunicorn.pidfile.Pidfile.create
    - log.debug
    - uri.endswith
    - sock.set_inheritable
    - importlib.metadata.distribution
    - gunicorn.arbiter.Arbiter.run
    - <builtin>.int
    - gunicorn.util._setproctitle
    - gunicorn.arbiter.Arbiter.kill_worker
    - os.path.dirname
    - gunicorn.config.Config.logger_class
    - os.environ.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 83
    functionName: gunicorn.app.base.Application.chdir
    functionSourceFile: gunicorn.app.base
    functionUses: 1
    functionsReached:
    - sys.path.insert
    - os.chdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.path.insert
    functionSourceFile: sys
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 92
    functionName: gunicorn.app.base.Application.get_config_from_filename
    functionSourceFile: gunicorn.app.base
    functionUses: 13
    functionsReached:
    - importlib.util.module_from_spec
    - traceback.print_exc
    - os.path.splitext
    - importlib.machinery.SourceFileLoader
    - <builtin>.print
    - gunicorn.util.warn
    - <builtin>.vars
    - sys.exit
    - <builtin>.enumerate
    - os.path.exists
    - sys.stderr.flush
    - spec.loader.exec_module
    - msg.splitlines
    - importlib.util.spec_from_file_location
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.splitext
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: importlib.util.spec_from_file_location
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: importlib.machinery.SourceFileLoader
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: importlib.util.module_from_spec
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: spec.loader.exec_module
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traceback.print_exc
    functionSourceFile: traceback
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.vars
    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
    argDefaultValues: []
    argNames:
    - self
    - module_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 119
    functionName: gunicorn.app.base.Application.get_config_from_module_name
    functionSourceFile: gunicorn.app.base
    functionUses: 13
    functionsReached:
    - importlib.import_module
    - <builtin>.vars
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - location
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 122
    functionName: gunicorn.app.base.Application.load_config_from_module_name_or_filename
    functionSourceFile: gunicorn.app.base
    functionUses: 12
    functionsReached:
    - k.lower
    - importlib.util.module_from_spec
    - gunicorn.util.warn
    - <builtin>.vars
    - sys.stderr.flush
    - cfg.items
    - importlib.util.spec_from_file_location
    - sys.exit
    - gunicorn.app.base.Application.get_config_from_module_name
    - traceback.print_exc
    - importlib.machinery.SourceFileLoader
    - gunicorn.config.Config.set
    - msg.splitlines
    - location.startswith
    - <builtin>.print
    - <builtin>.enumerate
    - os.path.exists
    - <builtin>.len
    - os.path.splitext
    - importlib.import_module
    - gunicorn.app.base.Application.get_config_from_filename
    - spec.loader.exec_module
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: location.startswith
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cfg.items
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 8
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 154
    functionName: gunicorn.app.base.Application.load_config
    functionSourceFile: gunicorn.app.base
    functionUses: 0
    functionsReached:
    - k.lower
    - importlib.util.module_from_spec
    - config_uri.split
    - gunicorn.config.get_default_config_file
    - shlex.split
    - <builtin>.vars
    - gunicorn.util.warn
    - gunicorn.app.pasterapp.has_logging_config
    - sys.stderr.flush
    - parser.parse_args
    - importlib.util.spec_from_file_location
    - gunicorn.app.base.Application.get_config_from_module_name
    - cfg.items
    - sys.exit
    - traceback.print_exc
    - parser.add_argument
    - gunicorn.app.wsgiapp.WSGIApplication.init
    - sys.path.insert
    - importlib.machinery.SourceFileLoader
    - parser.read
    - gunicorn.config.Config.set
    - configparser.ConfigParser
    - gunicorn.config.Config.parser
    - <builtin>.sorted
    - msg.splitlines
    - gunicorn.app.base.Application.load_config_from_module_name_or_filename
    - location.startswith
    - gunicorn.app.base.Application.load_config_from_file
    - <builtin>.print
    - argparse.ArgumentParser
    - os.path.join
    - os.path.abspath
    - <builtin>.enumerate
    - os.path.exists
    - os.chdir
    - <builtin>.len
    - os.path.splitext
    - gunicorn.config.Config.get_cmd_args_from_env
    - gunicorn.app.base.Application.chdir
    - importlib.import_module
    - os.getcwd
    - gunicorn.app.base.Application.get_config_from_filename
    - spec.loader.exec_module
    - parser.has_section
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.parse_args
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.workers.gthread
    functionSourceFile: gunicorn.workers.gthread
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - cfg
    - sock
    - client
    - server
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 35
    functionName: gunicorn.workers.gthread.TConn.__init__
    functionSourceFile: gunicorn.workers.gthread
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 48
    functionName: gunicorn.workers.gthread.TConn.init
    functionSourceFile: gunicorn.workers.gthread
    functionUses: 0
    functionsReached:
    - sock.ssl_wrap_socket
    - http.RequestParser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sock.ssl_wrap_socket
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.RequestParser
    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
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 60
    functionName: gunicorn.workers.gthread.TConn.set_timeout
    functionSourceFile: gunicorn.workers.gthread
    functionUses: 0
    functionsReached:
    - time.time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 64
    functionName: gunicorn.workers.gthread.TConn.close
    functionSourceFile: gunicorn.workers.gthread
    functionUses: 0
    functionsReached:
    - util.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: util.close
    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
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 70
    functionName: gunicorn.workers.gthread.ThreadWorker.__init__
    functionSourceFile: gunicorn.workers.gthread
    functionUses: 0
    functionsReached:
    - collections.deque
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.deque
    functionSourceFile: collections
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - cfg
    - log
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 83
    functionName: gunicorn.workers.gthread.ThreadWorker.check_config
    functionSourceFile: gunicorn.workers.gthread
    functionUses: 0
    functionsReached:
    - log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: log.warning
    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
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 90
    functionName: gunicorn.workers.gthread.ThreadWorker.init_process
    functionSourceFile: gunicorn.workers.gthread
    functionUses: 0
    functionsReached:
    - gunicorn.workers.gthread.ThreadWorker.get_thread_pool
    - threading.RLock
    - collections.deque.ThreadPoolExecutor
    - selectors.DefaultSelector
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 96
    functionName: gunicorn.workers.gthread.ThreadWorker.get_thread_pool
    functionSourceFile: gunicorn.workers.gthread
    functionUses: 1
    functionsReached:
    - collections.deque.ThreadPoolExecutor
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: selectors.DefaultSelector
    functionSourceFile: selectors
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: threading.RLock
    functionSourceFile: threading
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.deque.ThreadPoolExecutor
    functionSourceFile: collections
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - sig
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 100
    functionName: gunicorn.workers.gthread.ThreadWorker.handle_quit
    functionSourceFile: gunicorn.workers.gthread
    functionUses: 0
    functionsReached:
    - time.sleep
    - sys.exit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - fs
    - conn
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 108
    functionName: gunicorn.workers.gthread.ThreadWorker._wrap_future
    functionSourceFile: gunicorn.workers.gthread
    functionUses: 2
    functionsReached:
    - collections.deque.append
    - fs.add_done_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.deque.append
    functionSourceFile: collections
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fs.add_done_callback
    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
    argDefaultValues: []
    argNames:
    - self
    - conn
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 113
    functionName: gunicorn.workers.gthread.ThreadWorker.enqueue_req
    functionSourceFile: gunicorn.workers.gthread
    functionUses: 1
    functionsReached:
    - collections.deque.append
    - conn.init
    - gunicorn.workers.gthread.ThreadWorker._wrap_future
    - fs.add_done_callback
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn.init
    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
    argDefaultValues: []
    argNames:
    - self
    - server
    - listener
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 119
    functionName: gunicorn.workers.gthread.ThreadWorker.accept
    functionSourceFile: gunicorn.workers.gthread
    functionUses: 0
    functionsReached:
    - gunicorn.workers.gthread.TConn.__init__
    - functools.partial
    - listener.accept
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: listener.accept
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.partial
    functionSourceFile: functools
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - conn
    - client
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 135
    functionName: gunicorn.workers.gthread.ThreadWorker.on_client_socket_readable
    functionSourceFile: gunicorn.workers.gthread
    functionUses: 0
    functionsReached:
    - gunicorn.workers.gthread.ThreadWorker._wrap_future
    - collections.deque.append
    - fs.add_done_callback
    - conn.init
    - collections.deque.remove
    - gunicorn.workers.gthread.ThreadWorker.enqueue_req
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.deque.remove
    functionSourceFile: collections
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 151
    functionName: gunicorn.workers.gthread.ThreadWorker.murder_keepalived
    functionSourceFile: gunicorn.workers.gthread
    functionUses: 1
    functionsReached:
    - conn.close
    - collections.deque.appendleft
    - time.time
    - collections.deque.popleft
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.deque.popleft
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.deque.appendleft
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn.close
    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
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 186
    functionName: gunicorn.workers.gthread.ThreadWorker.is_parent_alive
    functionSourceFile: gunicorn.workers.gthread
    functionUses: 1
    functionsReached:
    - os.getppid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 193
    functionName: gunicorn.workers.gthread.ThreadWorker.run
    functionSourceFile: gunicorn.workers.gthread
    functionUses: 0
    functionsReached:
    - gunicorn.workers.workertmp.WorkerTmp.notify
    - collections.deque.popleft
    - os.getppid
    - s.close
    - functools.partial
    - gunicorn.workers.gthread.ThreadWorker.is_parent_alive
    - gunicorn.workers.base.Worker.notify
    - conn.close
    - os.utime
    - sock.getsockname
    - collections.deque.appendleft
    - collections.deque.remove
    - gunicorn.workers.gthread.ThreadWorker.murder_keepalived
    - time.monotonic
    - sock.setblocking
    - collections.deque.wait
    - time.time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 70
    functionName: gunicorn.workers.base.Worker.notify
    functionSourceFile: gunicorn.workers.base
    functionUses: 7
    functionsReached:
    - os.utime
    - time.monotonic
    - gunicorn.workers.workertmp.WorkerTmp.notify
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.deque.wait
    functionSourceFile: collections
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.close
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 241
    functionName: gunicorn.workers.gthread.ThreadWorker.finish_request
    functionSourceFile: gunicorn.workers.gthread
    functionUses: 0
    functionsReached:
    - fs.conn.close
    - conn.set_timeout
    - fs.cancelled
    - collections.deque.append
    - fs.result
    - conn.close
    - conn.sock.setblocking
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fs.cancelled
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fs.conn.close
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fs.result
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn.sock.setblocking
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn.set_timeout
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 11
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - conn
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 272
    functionName: gunicorn.workers.gthread.ThreadWorker.handle
    functionSourceFile: gunicorn.workers.gthread
    functionUses: 0
    functionsReached:
    - resp.should_close
    - client.decode
    - gunicorn.util.make_fail_app.app
    - respiter.close
    - resp.write
    - os.environ.get
    - textwrap.dedent
    - msg.format
    - path_info.startswith
    - data.encode
    - html.escape
    - conn.sock.close
    - <builtin>.hasattr
    - hdr_name.replace
    - gunicorn.util.write_error
    - host.split
    - gunicorn.http.wsgi.proxy_environ
    - gunicorn.util.unquote_to_wsgi_str
    - sys.exc_info
    - <builtin>.next
    - gunicorn.workers.base.Worker.handle_error
    - util.reraise
    - sock.send
    - conn.sock.shutdown
    - env.update
    - http.encode
    - resp.close
    - gunicorn.util.write_chunk
    - datetime.datetime.now
    - gunicorn.http.wsgi.default_environ
    - gunicorn.workers.gthread.ThreadWorker.handle_request
    - resp.write_file
    - environ.update
    - urllib.parse.unquote_to_bytes
    - sock.gettimeout
    - server.append
    - logging.getLogger
    - <builtin>.len
    - sock.setblocking
    - gunicorn.http.wsgi.base_environ
    - <builtin>.str
    - gunicorn.http.wsgi.Response.__init__
    - sock.sendall
    - hdr_value.lower
    - gunicorn.util.write_nonblock
    - resp.force_close
    - gunicorn.http.wsgi.WSGIErrorsWrapper.__init__
    - server.split
    - gunicorn.http.wsgi.create
    - <builtin>.isinstance
    - gunicorn.util.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.next
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 17
    IfCount: 8
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - req
    - conn
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 312
    functionName: gunicorn.workers.gthread.ThreadWorker.handle_request
    functionSourceFile: gunicorn.workers.gthread
    functionUses: 1
    functionsReached:
    - resp.should_close
    - client.decode
    - gunicorn.util.make_fail_app.app
    - respiter.close
    - resp.write
    - os.environ.get
    - path_info.startswith
    - conn.sock.close
    - <builtin>.hasattr
    - hdr_name.replace
    - host.split
    - gunicorn.http.wsgi.proxy_environ
    - gunicorn.util.unquote_to_wsgi_str
    - sys.exc_info
    - util.reraise
    - sock.send
    - conn.sock.shutdown
    - env.update
    - resp.close
    - datetime.datetime.now
    - resp.write_file
    - gunicorn.http.wsgi.default_environ
    - environ.update
    - urllib.parse.unquote_to_bytes
    - server.append
    - logging.getLogger
    - <builtin>.len
    - gunicorn.http.wsgi.base_environ
    - <builtin>.str
    - gunicorn.http.wsgi.Response.__init__
    - hdr_value.lower
    - resp.force_close
    - gunicorn.http.wsgi.WSGIErrorsWrapper.__init__
    - server.split
    - gunicorn.http.wsgi.create
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - StopIteration
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn.sock.close
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 25
    ICount: 6
    IfCount: 17
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - req
    - client
    - addr
    - exc
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 206
    functionName: gunicorn.workers.base.Worker.handle_error
    functionSourceFile: gunicorn.workers.base
    functionUses: 7
    functionsReached:
    - textwrap.dedent
    - msg.format
    - data.encode
    - html.escape
    - <builtin>.hasattr
    - gunicorn.util.write_error
    - env.update
    - http.encode
    - gunicorn.util.write_chunk
    - datetime.datetime.now
    - gunicorn.http.wsgi.default_environ
    - sock.gettimeout
    - logging.getLogger
    - <builtin>.len
    - sock.setblocking
    - gunicorn.http.wsgi.base_environ
    - <builtin>.str
    - sock.sendall
    - gunicorn.http.wsgi.Response.__init__
    - gunicorn.util.write_nonblock
    - gunicorn.http.wsgi.WSGIErrorsWrapper.__init__
    - <builtin>.isinstance
    - gunicorn.util.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime.datetime.now
    functionSourceFile: datetime
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 25
    ICount: 6
    IfCount: 17
    argCount: 5
    argDefaultValues: []
    argNames:
    - req
    - sock
    - client
    - server
    - cfg
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 110
    functionName: gunicorn.http.wsgi.create
    functionSourceFile: gunicorn.http.wsgi
    functionUses: 10
    functionsReached:
    - client.decode
    - os.environ.get
    - path_info.startswith
    - hdr_name.replace
    - <builtin>.hasattr
    - gunicorn.http.wsgi.proxy_environ
    - host.split
    - gunicorn.util.unquote_to_wsgi_str
    - sock.send
    - env.update
    - gunicorn.http.wsgi.default_environ
    - urllib.parse.unquote_to_bytes
    - environ.update
    - server.append
    - logging.getLogger
    - <builtin>.len
    - gunicorn.http.wsgi.base_environ
    - <builtin>.str
    - gunicorn.http.wsgi.Response.__init__
    - hdr_value.lower
    - gunicorn.http.wsgi.WSGIErrorsWrapper.__init__
    - server.split
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ConfigurationProblem
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resp.force_close
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resp.write_file
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resp.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resp.close
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: respiter.close
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resp.should_close
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: util.reraise
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn.sock.shutdown
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.http.wsgi
    functionSourceFile: gunicorn.http.wsgi
    functionUses: 0
    functionsReached:
    - logging.getLogger
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f66bb394af0>
    argNames:
    - self
    - filelike
    - blksize
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 29
    functionName: gunicorn.http.wsgi.FileWrapper.__init__
    functionSourceFile: gunicorn.http.wsgi
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 35
    functionName: gunicorn.http.wsgi.FileWrapper.__getitem__
    functionSourceFile: gunicorn.http.wsgi
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cfg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 44
    functionName: gunicorn.http.wsgi.WSGIErrorsWrapper.__init__
    functionSourceFile: gunicorn.http.wsgi
    functionUses: 15
    functionsReached:
    - logging.getLogger
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 60
    functionName: gunicorn.http.wsgi.WSGIErrorsWrapper.write
    functionSourceFile: gunicorn.http.wsgi
    functionUses: 0
    functionsReached:
    - stream.write
    - stream.flush
    - data.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stream.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: 1
    argDefaultValues: []
    argNames:
    - cfg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 69
    functionName: gunicorn.http.wsgi.base_environ
    functionSourceFile: gunicorn.http.wsgi
    functionUses: 14
    functionsReached:
    - logging.getLogger
    - gunicorn.http.wsgi.WSGIErrorsWrapper.__init__
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - req
    - sock
    - cfg
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 82
    functionName: gunicorn.http.wsgi.default_environ
    functionSourceFile: gunicorn.http.wsgi
    functionUses: 12
    functionsReached:
    - <builtin>.hasattr
    - gunicorn.http.wsgi.WSGIErrorsWrapper.__init__
    - logging.getLogger
    - env.update
    - gunicorn.http.wsgi.base_environ
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: env.update
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - req
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 95
    functionName: gunicorn.http.wsgi.proxy_environ
    functionSourceFile: gunicorn.http.wsgi
    functionUses: 11
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - req
    - sock
    - cfg
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 202
    functionName: gunicorn.http.wsgi.Response.__init__
    functionSourceFile: ''
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hdr_value.lower
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sock.send
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hdr_name.replace
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.decode
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: server.split
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: server.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: path_info.startswith
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: environ.update
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 216
    functionName: gunicorn.http.wsgi.Response.force_close
    functionSourceFile: gunicorn.http.wsgi
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 219
    functionName: gunicorn.http.wsgi.Response.should_close
    functionSourceFile: gunicorn.http.wsgi
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f66bb5d8a30>
    argNames:
    - self
    - status
    - headers
    - exc_info
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 230
    functionName: gunicorn.http.wsgi.Response.start_response
    functionSourceFile: gunicorn.http.wsgi
    functionUses: 0
    functionsReached:
    - gunicorn.util.reraise
    - value.strip
    - gunicorn.http.wsgi.Response.is_chunked
    - <builtin>.int
    - value.lower
    - gunicorn.http.wsgi.Response.process_headers
    - name.lower
    - TOKEN_RE.fullmatch
    - gunicorn.util.is_hoppish
    - <builtin>.isinstance
    - HEADER_VALUE_RE.fullmatch
    - header.lower
    linkageType: pythonLinkage
    raised:
    - AssertionError
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 2
    IfCount: 10
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 254
    functionName: gunicorn.http.wsgi.Response.process_headers
    functionSourceFile: gunicorn.http.wsgi
    functionUses: 1
    functionsReached:
    - value.strip
    - <builtin>.int
    - value.lower
    - name.lower
    - TOKEN_RE.fullmatch
    - gunicorn.util.is_hoppish
    - <builtin>.isinstance
    - HEADER_VALUE_RE.fullmatch
    - header.lower
    linkageType: pythonLinkage
    raised:
    - InvalidHeader
    - TypeError
    - InvalidHeaderName
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 286
    functionName: gunicorn.http.wsgi.Response.is_chunked
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: TOKEN_RE.fullmatch
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: HEADER_VALUE_RE.fullmatch
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.strip
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.lower
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.lower
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 303
    functionName: gunicorn.http.wsgi.Response.default_headers
    functionSourceFile: gunicorn.http.wsgi
    functionUses: 5
    functionsReached:
    - email.utils.formatdate
    - gunicorn.http.wsgi.Response.should_close
    - time.time
    - headers.append
    - gunicorn.util.http_date
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: headers.append
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 323
    functionName: gunicorn.http.wsgi.Response.send_headers
    functionSourceFile: gunicorn.http.wsgi
    functionUses: 4
    functionsReached:
    - tosend.extend
    - email.utils.formatdate
    - gunicorn.http.wsgi.Response.default_headers
    - gunicorn.util.write_chunk
    - sock.sendall
    - gunicorn.util.to_bytestring
    - value.encode
    - data.encode
    - gunicorn.util.write
    - gunicorn.http.wsgi.Response.should_close
    - <builtin>.len
    - <builtin>.isinstance
    - time.time
    - headers.append
    - gunicorn.util.http_date
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tosend.extend
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - arg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 333
    functionName: gunicorn.http.wsgi.Response.write
    functionSourceFile: gunicorn.http.wsgi
    functionUses: 1
    functionsReached:
    - gunicorn.util.write_chunk
    - tosend.extend
    - sock.sendall
    - gunicorn.http.wsgi.Response.default_headers
    - email.utils.formatdate
    - gunicorn.util.to_bytestring
    - gunicorn.util.http_date
    - time.time
    - value.encode
    - <builtin>.min
    - data.encode
    - gunicorn.http.wsgi.Response.should_close
    - <builtin>.len
    - <builtin>.isinstance
    - gunicorn.util.write
    - headers.append
    - gunicorn.http.wsgi.Response.send_headers
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.min
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 356
    functionName: gunicorn.http.wsgi.Response.can_sendfile
    functionSourceFile: gunicorn.http.wsgi
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 5
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - respiter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 359
    functionName: gunicorn.http.wsgi.Response.sendfile
    functionSourceFile: gunicorn.http.wsgi
    functionUses: 1
    functionsReached:
    - tosend.extend
    - email.utils.formatdate
    - gunicorn.http.wsgi.Response.default_headers
    - value.encode
    - data.encode
    - gunicorn.http.wsgi.Response.can_sendfile
    - <builtin>.hasattr
    - gunicorn.util.to_bytestring
    - respiter.filelike.fileno
    - os.fstat
    - chunk_size.encode
    - gunicorn.http.wsgi.Response.send_headers
    - gunicorn.http.wsgi.Response.is_chunked
    - gunicorn.util.write_chunk
    - os.lseek
    - gunicorn.util.http_date
    - gunicorn.http.wsgi.Response.should_close
    - <builtin>.len
    - time.time
    - headers.append
    - gunicorn.util.has_fileno
    - sock.sendall
    - obj.fileno
    - <builtin>.isinstance
    - gunicorn.util.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: respiter.filelike.fileno
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.lseek
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.fstat
    functionSourceFile: os
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: chunk_size.encode
    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
    argDefaultValues: []
    argNames:
    - self
    - respiter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 392
    functionName: gunicorn.http.wsgi.Response.write_file
    functionSourceFile: gunicorn.http.wsgi
    functionUses: 0
    functionsReached:
    - tosend.extend
    - email.utils.formatdate
    - gunicorn.http.wsgi.Response.default_headers
    - value.encode
    - data.encode
    - gunicorn.http.wsgi.Response.can_sendfile
    - <builtin>.hasattr
    - gunicorn.util.to_bytestring
    - respiter.filelike.fileno
    - os.fstat
    - <builtin>.min
    - chunk_size.encode
    - gunicorn.http.wsgi.Response.sendfile
    - gunicorn.http.wsgi.Response.send_headers
    - gunicorn.util.write_chunk
    - gunicorn.http.wsgi.Response.is_chunked
    - os.lseek
    - gunicorn.http.wsgi.Response.should_close
    - <builtin>.len
    - gunicorn.util.http_date
    - sock.sendall
    - gunicorn.util.has_fileno
    - headers.append
    - time.time
    - obj.fileno
    - gunicorn.http.wsgi.Response.write
    - <builtin>.isinstance
    - gunicorn.util.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 397
    functionName: gunicorn.http.wsgi.Response.close
    functionSourceFile: gunicorn.http.wsgi
    functionUses: 0
    functionsReached:
    - gunicorn.util.write_chunk
    - tosend.extend
    - gunicorn.http.wsgi.Response.default_headers
    - email.utils.formatdate
    - gunicorn.util.to_bytestring
    - gunicorn.util.http_date
    - time.time
    - value.encode
    - data.encode
    - gunicorn.util.write
    - gunicorn.http.wsgi.Response.should_close
    - <builtin>.len
    - <builtin>.isinstance
    - sock.sendall
    - headers.append
    - gunicorn.http.wsgi.Response.send_headers
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.http.errors
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f66baa9ae20>
    argNames:
    - self
    - buf
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 17
    functionName: gunicorn.http.errors.NoMoreData.__init__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 20
    functionName: gunicorn.http.errors.NoMoreData.__str__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 25
    functionName: gunicorn.http.errors.ConfigurationProblem.__init__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 29
    functionName: gunicorn.http.errors.ConfigurationProblem.__str__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - req
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 34
    functionName: gunicorn.http.errors.InvalidRequestLine.__init__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 38
    functionName: gunicorn.http.errors.InvalidRequestLine.__str__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - method
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 43
    functionName: gunicorn.http.errors.InvalidRequestMethod.__init__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 46
    functionName: gunicorn.http.errors.InvalidRequestMethod.__str__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - version
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 51
    functionName: gunicorn.http.errors.InvalidHTTPVersion.__init__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 54
    functionName: gunicorn.http.errors.InvalidHTTPVersion.__str__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f66bace9910>
    argNames:
    - self
    - hdr
    - req
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 59
    functionName: gunicorn.http.errors.InvalidHeader.__init__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 63
    functionName: gunicorn.http.errors.InvalidHeader.__str__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - hdr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 68
    functionName: gunicorn.http.errors.ObsoleteFolding.__init__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 71
    functionName: gunicorn.http.errors.ObsoleteFolding.__str__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - hdr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 76
    functionName: gunicorn.http.errors.InvalidHeaderName.__init__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 79
    functionName: gunicorn.http.errors.InvalidHeaderName.__str__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - hdr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 84
    functionName: gunicorn.http.errors.UnsupportedTransferCoding.__init__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 88
    functionName: gunicorn.http.errors.UnsupportedTransferCoding.__str__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 93
    functionName: gunicorn.http.errors.InvalidChunkSize.__init__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 96
    functionName: gunicorn.http.errors.InvalidChunkSize.__str__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - term
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 101
    functionName: gunicorn.http.errors.ChunkMissingTerminator.__init__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 104
    functionName: gunicorn.http.errors.ChunkMissingTerminator.__str__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - size
    - max_size
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 109
    functionName: gunicorn.http.errors.LimitRequestLine.__init__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 113
    functionName: gunicorn.http.errors.LimitRequestLine.__str__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 118
    functionName: gunicorn.http.errors.LimitRequestHeaders.__init__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 121
    functionName: gunicorn.http.errors.LimitRequestHeaders.__str__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - line
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 126
    functionName: gunicorn.http.errors.InvalidProxyLine.__init__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 130
    functionName: gunicorn.http.errors.InvalidProxyLine.__str__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - host
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 135
    functionName: gunicorn.http.errors.ForbiddenProxyRequest.__init__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 139
    functionName: gunicorn.http.errors.ForbiddenProxyRequest.__str__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 144
    functionName: gunicorn.http.errors.InvalidSchemeHeaders.__str__
    functionSourceFile: gunicorn.http.errors
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.http.message
    functionSourceFile: gunicorn.http.message
    functionUses: 0
    functionsReached:
    - re.escape
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.escape
    functionSourceFile: re
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - cfg
    - unreader
    - peer_addr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 34
    functionName: gunicorn.http.message.Message.__init__
    functionSourceFile: gunicorn.http.message
    functionUses: 0
    functionsReached:
    - curr.find
    - gunicorn.http.message.Message.force_close
    - gunicorn.http.body.EOFReader.__init__
    - buf.getvalue
    - <builtin>.any
    - TOKEN_RE.fullmatch
    - gunicorn.http.body.ChunkedReader.parse_chunk_size
    - chunk_size.rstrip
    - gunicorn.http.message.Message.parse_headers
    - buf.write
    - data.split
    - name.upper
    - gunicorn.http.body.ChunkedReader.parse_chunked
    - value.strip
    - val.lower
    - name.rstrip
    - RFC9110_5_5_INVALID_AND_DANGEROUS.search
    - unreader.read
    - lines.pop
    - value.append
    - line.split
    - gunicorn.util.bytes_to_str
    - io.BytesIO
    - v.strip
    - gunicorn.http.message.Message.parse
    - gunicorn.http.message.Message.set_body_reader
    - gunicorn.http.body.LengthReader.__init__
    - <builtin>.len
    - <builtin>.str
    - value.split
    - curr.strip
    - gunicorn.http.body.ChunkedReader.get_data
    - headers.append
    - curr.split
    - <builtin>.int
    - gunicorn.http.body.ChunkedReader.parse_trailers
    - gunicorn.http.body.ChunkedReader.__init__
    - gunicorn.http.body.Body.__init__
    - <builtin>.isinstance
    - unreader.unread
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - unreader
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 67
    functionName: gunicorn.http.message.Message.parse
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 22
    ICount: 1
    IfCount: 15
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 169
    functionName: gunicorn.http.message.Message.set_body_reader
    functionSourceFile: gunicorn.http.message
    functionUses: 1
    functionsReached:
    - curr.find
    - gunicorn.http.message.Message.force_close
    - gunicorn.http.body.EOFReader.__init__
    - buf.getvalue
    - <builtin>.any
    - TOKEN_RE.fullmatch
    - gunicorn.http.body.ChunkedReader.parse_chunk_size
    - chunk_size.rstrip
    - gunicorn.http.message.Message.parse_headers
    - buf.write
    - data.split
    - name.upper
    - gunicorn.http.body.ChunkedReader.parse_chunked
    - value.strip
    - val.lower
    - name.rstrip
    - RFC9110_5_5_INVALID_AND_DANGEROUS.search
    - unreader.read
    - lines.pop
    - value.append
    - line.split
    - gunicorn.util.bytes_to_str
    - io.BytesIO
    - v.strip
    - gunicorn.http.body.LengthReader.__init__
    - <builtin>.len
    - <builtin>.str
    - value.split
    - curr.strip
    - gunicorn.http.body.ChunkedReader.get_data
    - headers.append
    - curr.split
    - <builtin>.int
    - gunicorn.http.body.ChunkedReader.parse_trailers
    - gunicorn.http.body.ChunkedReader.__init__
    - gunicorn.http.body.Body.__init__
    - <builtin>.isinstance
    - unreader.unread
    linkageType: pythonLinkage
    raised:
    - UnsupportedTransferCoding
    - InvalidHeader
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 64
    functionName: gunicorn.http.message.Message.force_close
    functionSourceFile: gunicorn.http.message
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 25
    ICount: 2
    IfCount: 17
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f66baf871f0>
    argNames:
    - self
    - data
    - from_trailer
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 70
    functionName: gunicorn.http.message.Message.parse_headers
    functionSourceFile: gunicorn.http.message
    functionUses: 7
    functionsReached:
    - lines.pop
    - value.strip
    - name.rstrip
    - curr.find
    - curr.split
    - value.append
    - gunicorn.util.bytes_to_str
    - curr.strip
    - RFC9110_5_5_INVALID_AND_DANGEROUS.search
    - TOKEN_RE.fullmatch
    - <builtin>.len
    - <builtin>.str
    - <builtin>.isinstance
    - data.split
    - headers.append
    - name.upper
    linkageType: pythonLinkage
    raised:
    - InvalidHeader
    - LimitRequestHeaders
    - InvalidSchemeHeaders
    - InvalidHeaderName
    - ObsoleteFolding
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lines.pop
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: curr.find
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: curr.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.rstrip
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.upper
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: curr.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: RFC9110_5_5_INVALID_AND_DANGEROUS.search
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.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
    argDefaultValues: []
    argNames:
    - self
    - req
    - unreader
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 13
    functionName: gunicorn.http.body.ChunkedReader.__init__
    functionSourceFile: gunicorn.http.body
    functionUses: 2
    functionsReached:
    - curr.find
    - buf.getvalue
    - <builtin>.any
    - TOKEN_RE.fullmatch
    - gunicorn.http.body.ChunkedReader.parse_chunk_size
    - chunk_size.rstrip
    - gunicorn.http.message.Message.parse_headers
    - buf.write
    - data.split
    - name.upper
    - gunicorn.http.body.ChunkedReader.parse_chunked
    - value.strip
    - name.rstrip
    - RFC9110_5_5_INVALID_AND_DANGEROUS.search
    - unreader.read
    - lines.pop
    - value.append
    - line.split
    - gunicorn.util.bytes_to_str
    - io.BytesIO
    - <builtin>.len
    - curr.strip
    - <builtin>.str
    - gunicorn.http.body.ChunkedReader.get_data
    - headers.append
    - curr.split
    - <builtin>.int
    - gunicorn.http.body.ChunkedReader.parse_trailers
    - <builtin>.isinstance
    - unreader.unread
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - reader
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 184
    functionName: gunicorn.http.body.Body.__init__
    functionSourceFile: gunicorn.http.body
    functionUses: 3
    functionsReached:
    - io.BytesIO
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - unreader
    - length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 116
    functionName: gunicorn.http.body.LengthReader.__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
    argDefaultValues: []
    argNames:
    - self
    - unreader
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 146
    functionName: gunicorn.http.body.EOFReader.__init__
    functionSourceFile: gunicorn.http.body
    functionUses: 2
    functionsReached:
    - io.BytesIO
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 229
    functionName: gunicorn.http.message.Message.should_close
    functionSourceFile: gunicorn.http.message
    functionUses: 0
    functionsReached:
    - v.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: v.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f66baf033a0>
    argNames:
    - self
    - cfg
    - unreader
    - peer_addr
    - req_number
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 244
    functionName: gunicorn.http.message.Request.__init__
    functionSourceFile: gunicorn.http.message
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f66baeed820>
    argNames:
    - self
    - unreader
    - buf
    - stop
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 261
    functionName: gunicorn.http.message.Request.get_data
    functionSourceFile: gunicorn.http.message
    functionUses: 2
    functionsReached:
    - unreader.read
    - buf.write
    linkageType: pythonLinkage
    raised:
    - NoMoreData
    - StopIteration
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unreader.read
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: buf.write
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - unreader
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 269
    functionName: gunicorn.http.message.Request.parse
    functionSourceFile: gunicorn.http.message
    functionUses: 0
    functionsReached:
    - curr.find
    - gunicorn.http.message.Request.get_data
    - buf.getvalue
    - data.find
    - TOKEN_RE.fullmatch
    - gunicorn.http.message.Request.read_line
    - VERSION_RE.fullmatch
    - buf.write
    - gunicorn.http.message.Message.parse_headers
    - match.group
    - data.split
    - name.upper
    - value.strip
    - name.rstrip
    - uri.startswith
    - RFC9110_5_5_INVALID_AND_DANGEROUS.search
    - gunicorn.http.message.Request.proxy_protocol
    - unreader.read
    - gunicorn.http.message.Request.parse_request_line
    - METHOD_BADCHAR_RE.search
    - lines.pop
    - value.append
    - line.split
    - gunicorn.util.bytes_to_str
    - io.BytesIO
    - parts._replace
    - urllib.parse.urlsplit
    - gunicorn.http.message.Request.parse_proxy_protocol
    - socket.inet_pton
    - <builtin>.len
    - <builtin>.str
    - gunicorn.http.message.Request.proxy_protocol_access_check
    - curr.strip
    - gunicorn.util.split_request_uri
    - headers.append
    - curr.split
    - <builtin>.int
    - line.startswith
    - line_bytes.split
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - LimitRequestHeaders
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO
    functionSourceFile: io
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f66baf56fd0>
    argNames:
    - self
    - unreader
    - buf
    - limit
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 314
    functionName: gunicorn.http.message.Request.read_line
    functionSourceFile: gunicorn.http.message
    functionUses: 1
    functionsReached:
    - unreader.read
    - buf.getvalue
    - data.find
    - gunicorn.http.message.Request.get_data
    - <builtin>.len
    - buf.write
    linkageType: pythonLinkage
    raised:
    - LimitRequestLine
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - line
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 332
    functionName: gunicorn.http.message.Request.proxy_protocol
    functionSourceFile: gunicorn.http.message
    functionUses: 1
    functionsReached:
    - <builtin>.int
    - line.startswith
    - line.split
    - <builtin>.isinstance
    - gunicorn.http.message.Request.parse_proxy_protocol
    - socket.inet_pton
    - <builtin>.len
    - gunicorn.http.message.Request.proxy_protocol_access_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 0
    IfCount: 10
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - line_bytes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 405
    functionName: gunicorn.http.message.Request.parse_request_line
    functionSourceFile: gunicorn.http.message
    functionUses: 1
    functionsReached:
    - <builtin>.int
    - uri.startswith
    - gunicorn.util.bytes_to_str
    - line_bytes.split
    - METHOD_BADCHAR_RE.search
    - parts._replace
    - urllib.parse.urlsplit
    - VERSION_RE.fullmatch
    - <builtin>.isinstance
    - TOKEN_RE.fullmatch
    - <builtin>.len
    - <builtin>.str
    - match.group
    - gunicorn.util.split_request_uri
    linkageType: pythonLinkage
    raised:
    - InvalidHTTPVersion
    - InvalidRequestLine
    - InvalidRequestMethod
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: buf.getvalue
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.find
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.startswith
    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
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 353
    functionName: gunicorn.http.message.Request.proxy_protocol_access_check
    functionSourceFile: gunicorn.http.message
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ForbiddenProxyRequest
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - line
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 360
    functionName: gunicorn.http.message.Request.parse_proxy_protocol
    functionSourceFile: gunicorn.http.message
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - <builtin>.int
    - line.split
    - socket.inet_pton
    linkageType: pythonLinkage
    raised:
    - InvalidProxyLine
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line_bytes.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: METHOD_BADCHAR_RE.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: VERSION_RE.fullmatch
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.group
    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
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 460
    functionName: gunicorn.http.message.Request.set_body_reader
    functionSourceFile: gunicorn.http.message
    functionUses: 0
    functionsReached:
    - io.BytesIO
    - gunicorn.http.body.Body.__init__
    - gunicorn.http.body.LengthReader.__init__
    - <builtin>.isinstance
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.http.body
    functionSourceFile: gunicorn.http.body
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - unreader
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 56
    functionName: gunicorn.http.body.ChunkedReader.parse_chunked
    functionSourceFile: gunicorn.http.body
    functionUses: 3
    functionsReached:
    - curr.find
    - buf.getvalue
    - <builtin>.any
    - TOKEN_RE.fullmatch
    - gunicorn.http.body.ChunkedReader.parse_chunk_size
    - chunk_size.rstrip
    - gunicorn.http.message.Message.parse_headers
    - buf.write
    - data.split
    - name.upper
    - value.strip
    - name.rstrip
    - RFC9110_5_5_INVALID_AND_DANGEROUS.search
    - unreader.read
    - lines.pop
    - value.append
    - line.split
    - gunicorn.util.bytes_to_str
    - io.BytesIO
    - <builtin>.len
    - curr.strip
    - <builtin>.str
    - gunicorn.http.body.ChunkedReader.get_data
    - headers.append
    - curr.split
    - <builtin>.int
    - gunicorn.http.body.ChunkedReader.parse_trailers
    - <builtin>.isinstance
    - unreader.unread
    linkageType: pythonLinkage
    raised:
    - NoMoreData
    - ChunkMissingTerminator
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 18
    functionName: gunicorn.http.body.ChunkedReader.read
    functionSourceFile: gunicorn.http.body
    functionUses: 4
    functionsReached:
    - <builtin>.next
    - <builtin>.isinstance
    - io.BytesIO
    linkageType: pythonLinkage
    raised:
    - TypeError
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - unreader
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 40
    functionName: gunicorn.http.body.ChunkedReader.parse_trailers
    functionSourceFile: gunicorn.http.body
    functionUses: 5
    functionsReached:
    - curr.find
    - buf.getvalue
    - TOKEN_RE.fullmatch
    - gunicorn.http.message.Message.parse_headers
    - buf.write
    - data.split
    - name.upper
    - value.strip
    - name.rstrip
    - RFC9110_5_5_INVALID_AND_DANGEROUS.search
    - unreader.read
    - lines.pop
    - value.append
    - gunicorn.util.bytes_to_str
    - io.BytesIO
    - <builtin>.len
    - curr.strip
    - <builtin>.str
    - gunicorn.http.body.ChunkedReader.get_data
    - headers.append
    - curr.split
    - <builtin>.isinstance
    - unreader.unread
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - unreader
    - buf
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 108
    functionName: gunicorn.http.body.ChunkedReader.get_data
    functionSourceFile: gunicorn.http.body
    functionUses: 6
    functionsReached:
    - unreader.read
    - buf.write
    linkageType: pythonLinkage
    raised:
    - NoMoreData
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unreader.unread
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f66bb37d9d0>
    argNames:
    - self
    - unreader
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 77
    functionName: gunicorn.http.body.ChunkedReader.parse_chunk_size
    functionSourceFile: gunicorn.http.body
    functionUses: 4
    functionsReached:
    - curr.find
    - buf.getvalue
    - <builtin>.any
    - TOKEN_RE.fullmatch
    - chunk_size.rstrip
    - gunicorn.http.message.Message.parse_headers
    - buf.write
    - data.split
    - name.upper
    - value.strip
    - name.rstrip
    - RFC9110_5_5_INVALID_AND_DANGEROUS.search
    - unreader.read
    - lines.pop
    - value.append
    - line.split
    - gunicorn.util.bytes_to_str
    - io.BytesIO
    - <builtin>.len
    - curr.strip
    - <builtin>.str
    - gunicorn.http.body.ChunkedReader.get_data
    - headers.append
    - curr.split
    - <builtin>.int
    - gunicorn.http.body.ChunkedReader.parse_trailers
    - <builtin>.isinstance
    - unreader.unread
    linkageType: pythonLinkage
    raised:
    - InvalidChunkSize
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: chunk_size.rstrip
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.any
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 120
    functionName: gunicorn.http.body.LengthReader.read
    functionSourceFile: gunicorn.http.body
    functionUses: 4
    functionsReached:
    - io.BytesIO
    - buf.tell
    - <builtin>.isinstance
    - buf.getvalue
    - <builtin>.min
    - buf.write
    linkageType: pythonLinkage
    raised:
    - TypeError
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: buf.tell
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 151
    functionName: gunicorn.http.body.EOFReader.read
    functionSourceFile: gunicorn.http.body
    functionUses: 4
    functionsReached:
    - <builtin>.isinstance
    - io.BytesIO
    linkageType: pythonLinkage
    raised:
    - TypeError
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 188
    functionName: gunicorn.http.body.Body.__iter__
    functionSourceFile: gunicorn.http.body
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 191
    functionName: gunicorn.http.body.Body.__next__
    functionSourceFile: gunicorn.http.body
    functionUses: 0
    functionsReached:
    - buf.write
    - gunicorn.http.body.ChunkedReader.read
    - io.BytesIO
    - gunicorn.http.body.Body.getsize
    - buf.tell
    - gunicorn.http.body.EOFReader.read
    - data.find
    - <builtin>.next
    - <builtin>.len
    - buf.getvalue
    - gunicorn.http.body.LengthReader.read
    - gunicorn.http.body.Body.readline
    - <builtin>.min
    - <builtin>.isinstance
    - ret.append
    linkageType: pythonLinkage
    raised:
    - StopIteration
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f66baf03700>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 232
    functionName: gunicorn.http.body.Body.readline
    functionSourceFile: gunicorn.http.body
    functionUses: 1
    functionsReached:
    - buf.write
    - gunicorn.http.body.ChunkedReader.read
    - io.BytesIO
    - gunicorn.http.body.Body.getsize
    - buf.tell
    - gunicorn.http.body.EOFReader.read
    - data.find
    - <builtin>.next
    - <builtin>.len
    - buf.getvalue
    - gunicorn.http.body.LengthReader.read
    - <builtin>.min
    - <builtin>.isinstance
    - ret.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 199
    functionName: gunicorn.http.body.Body.getsize
    functionSourceFile: gunicorn.http.body
    functionUses: 4
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f66bacaa2b0>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 208
    functionName: gunicorn.http.body.Body.read
    functionSourceFile: gunicorn.http.body
    functionUses: 1
    functionsReached:
    - buf.write
    - gunicorn.http.body.ChunkedReader.read
    - io.BytesIO
    - gunicorn.http.body.Body.getsize
    - buf.tell
    - gunicorn.http.body.EOFReader.read
    - buf.getvalue
    - <builtin>.next
    - gunicorn.http.body.LengthReader.read
    - <builtin>.min
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ret.append
    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
    argDefaultValues:
    - <ast.Constant object at 0x7f66bb3819d0>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 257
    functionName: gunicorn.http.body.Body.readlines
    functionSourceFile: gunicorn.http.body
    functionUses: 0
    functionsReached:
    - gunicorn.http.body.ChunkedReader.read
    - io.BytesIO
    - gunicorn.http.body.Body.getsize
    - gunicorn.http.body.Body.read
    - buf.tell
    - <builtin>.isinstance
    - gunicorn.http.body.EOFReader.read
    - data.find
    - buf.getvalue
    - <builtin>.next
    - gunicorn.http.body.LengthReader.read
    - <builtin>.min
    - buf.write
    - ret.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.workers.base
    functionSourceFile: gunicorn.workers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.workers.base.Worker
    functionSourceFile: gunicorn.workers.base
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 8
    argDefaultValues: []
    argNames:
    - self
    - age
    - ppid
    - sockets
    - app
    - timeout
    - cfg
    - log
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 38
    functionName: gunicorn.workers.base.Worker.__init__
    functionSourceFile: gunicorn.workers.base
    functionUses: 0
    functionsReached:
    - os.path.isdir
    - tempfile.mkstemp
    - os.fdopen
    - os.geteuid
    - os.getegid
    - gunicorn.workers.workertmp.WorkerTmp.__init__
    - gunicorn.util.chown
    - os.chown
    - gunicorn.util.unlink
    - random.randint
    - os.umask
    - os.unlink
    - os.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: random.randint
    functionSourceFile: random
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cfg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 18
    functionName: gunicorn.workers.workertmp.WorkerTmp.__init__
    functionSourceFile: gunicorn.workers.workertmp
    functionUses: 1
    functionsReached:
    - os.path.isdir
    - tempfile.mkstemp
    - os.fdopen
    - os.geteuid
    - os.getegid
    - gunicorn.util.chown
    - os.chown
    - gunicorn.util.unlink
    - os.close
    - os.umask
    - os.unlink
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 67
    functionName: gunicorn.workers.base.Worker.__str__
    functionSourceFile: gunicorn.workers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 42
    functionName: gunicorn.workers.workertmp.WorkerTmp.notify
    functionSourceFile: gunicorn.workers.workertmp
    functionUses: 8
    functionsReached:
    - os.utime
    - time.monotonic
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 78
    functionName: gunicorn.workers.base.Worker.run
    functionSourceFile: gunicorn.workers.base
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 13
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 86
    functionName: gunicorn.workers.base.Worker.init_process
    functionSourceFile: gunicorn.workers.base
    functionUses: 0
    functionsReached:
    - signal.signal
    - os.getuid
    - os.getpid
    - gunicorn.workers.base.Worker.init_signals
    - os.pipe
    - os.initgroups
    - value.encode
    - <builtin>.hasattr
    - tb_string.getvalue
    - gunicorn.util.to_bytestring
    - sys.exc_info
    - os.setgid
    - gunicorn.util.set_non_blocking
    - gunicorn.util.set_owner_process
    - gunicorn.util.make_fail_app
    - gunicorn.workers.workertmp.WorkerTmp.fileno
    - os.setuid
    - gunicorn.workers.base.Worker.load_wsgi
    - <builtin>.isinstance
    - pwd.getpwuid
    - gunicorn.util.close_on_exec
    - fcntl.fcntl
    - time.time
    - random.seed
    - gunicorn.workers.base.Worker.run
    - io.StringIO
    - os.getgid
    - signal.set_wakeup_fd
    - gunicorn.util.get_username
    - gunicorn.util.seed
    - signal.siginterrupt
    - traceback.print_tb
    - os.urandom
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 49
    functionName: gunicorn.workers.workertmp.WorkerTmp.fileno
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 10
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 168
    functionName: gunicorn.workers.base.Worker.init_signals
    functionSourceFile: gunicorn.workers.base
    functionUses: 1
    functionsReached:
    - signal.signal
    - <builtin>.hasattr
    - signal.siginterrupt
    - signal.set_wakeup_fd
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - fname
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 123
    functionName: gunicorn.workers.base.Worker.init_process.changed
    functionSourceFile: gunicorn.workers.base
    functionUses: 0
    functionsReached:
    - time.sleep
    - sys.exit
    - os.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 145
    functionName: gunicorn.workers.base.Worker.load_wsgi
    functionSourceFile: gunicorn.workers.base
    functionUses: 1
    functionsReached:
    - gunicorn.util.make_fail_app
    - tb_string.getvalue
    - gunicorn.util.to_bytestring
    - value.encode
    - sys.exc_info
    - io.StringIO
    - <builtin>.isinstance
    - traceback.print_tb
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.StringIO
    functionSourceFile: io
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traceback.print_tb
    functionSourceFile: traceback
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tb_string.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: signal.signal
    functionSourceFile: signal
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: signal.siginterrupt
    functionSourceFile: signal
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: signal.set_wakeup_fd
    functionSourceFile: signal
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - sig
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 188
    functionName: gunicorn.workers.base.Worker.handle_usr1
    functionSourceFile: gunicorn.workers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - sig
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 191
    functionName: gunicorn.workers.base.Worker.handle_exit
    functionSourceFile: gunicorn.workers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - sig
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 194
    functionName: gunicorn.workers.base.Worker.handle_quit
    functionSourceFile: gunicorn.workers.base
    functionUses: 0
    functionsReached:
    - time.sleep
    - sys.exit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - sig
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 201
    functionName: gunicorn.workers.base.Worker.handle_abort
    functionSourceFile: gunicorn.workers.base
    functionUses: 0
    functionsReached:
    - sys.exit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - sig
    - fname
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 285
    functionName: gunicorn.workers.base.Worker.handle_winch
    functionSourceFile: gunicorn.workers.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.workers.workertmp
    functionSourceFile: gunicorn.workers.workertmp
    functionUses: 0
    functionsReached:
    - platform.system
    - PLATFORM.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: platform.system
    functionSourceFile: platform
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: PLATFORM.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.fdopen
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.utime
    functionSourceFile: os
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 46
    functionName: gunicorn.workers.workertmp.WorkerTmp.last_update
    functionSourceFile: gunicorn.workers.workertmp
    functionUses: 0
    functionsReached:
    - os.fstat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 52
    functionName: gunicorn.workers.workertmp.WorkerTmp.close
    functionSourceFile: gunicorn.workers.workertmp
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.http
    functionSourceFile: gunicorn.http
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.http.parser
    functionSourceFile: gunicorn.http.parser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - cfg
    - source
    - source_addr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 13
    functionName: gunicorn.http.parser.Parser.__init__
    functionSourceFile: gunicorn.http.parser
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.super
    - gunicorn.http.unreader.IterUnreader.__init__
    - gunicorn.http.unreader.SocketUnreader.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f66bae99d90>
    argNames:
    - self
    - sock
    - max_chunk
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 57
    functionName: gunicorn.http.unreader.SocketUnreader.__init__
    functionSourceFile: gunicorn.http.unreader
    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
    argDefaultValues: []
    argNames:
    - self
    - iterable
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 67
    functionName: gunicorn.http.unreader.IterUnreader.__init__
    functionSourceFile: gunicorn.http.unreader
    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
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 25
    functionName: gunicorn.http.parser.Parser.__iter__
    functionSourceFile: gunicorn.http.parser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 28
    functionName: gunicorn.http.parser.Parser.__next__
    functionSourceFile: gunicorn.http.parser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - StopIteration
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.http.unreader
    functionSourceFile: gunicorn.http.unreader
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 13
    functionName: gunicorn.http.unreader.Unreader.__init__
    functionSourceFile: gunicorn.http.unreader
    functionUses: 0
    functionsReached:
    - io.BytesIO
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 16
    functionName: gunicorn.http.unreader.Unreader.chunk
    functionSourceFile: gunicorn.http.unreader
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 3
    IfCount: 7
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f66baf87f40>
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 19
    functionName: gunicorn.http.unreader.Unreader.read
    functionSourceFile: gunicorn.http.unreader
    functionUses: 0
    functionsReached:
    - io.BytesIO
    - gunicorn.http.unreader.IterUnreader.chunk
    - gunicorn.http.unreader.SocketUnreader.chunk
    - <builtin>.next
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 71
    functionName: gunicorn.http.unreader.IterUnreader.chunk
    functionSourceFile: gunicorn.http.unreader
    functionUses: 1
    functionsReached:
    - <builtin>.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 62
    functionName: gunicorn.http.unreader.SocketUnreader.chunk
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 51
    functionName: gunicorn.http.unreader.Unreader.unread
    functionSourceFile: gunicorn.http.unreader
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.workers.geventlet
    functionSourceFile: gunicorn.workers.geventlet
    functionUses: 0
    functionsReached:
    - packaging.version.parse
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: packaging.version.parse
    functionSourceFile: packaging
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 2
    IfCount: 7
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f66bafcf5b0>
    - <ast.Constant object at 0x7f66bafcf250>
    argNames:
    - self
    - file
    - offset
    - count
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 31
    functionName: gunicorn.workers.geventlet._eventlet_socket_sendfile
    functionSourceFile: gunicorn.workers.geventlet
    functionUses: 0
    functionsReached:
    - file.seek
    - <builtin>.hasattr
    - <builtin>.memoryview
    - <builtin>.min
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: file.seek
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.memoryview
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - sock
    - handle
    - concurrency
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 69
    functionName: gunicorn.workers.geventlet._eventlet_serve
    functionSourceFile: gunicorn.workers.geventlet
    functionUses: 0
    functionsReached:
    - gt.link
    - sock.accept
    - eventlet.greenpool.GreenPool
    - pool.spawn
    - pool.waitall
    - sock.close
    - eventlet.greenthread.getcurrent
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: eventlet.greenpool.GreenPool
    functionSourceFile: eventlet
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: eventlet.greenthread.getcurrent
    functionSourceFile: eventlet
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sock.accept
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pool.spawn
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gt.link
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pool.waitall
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - client
    - server
    - conn
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 92
    functionName: gunicorn.workers.geventlet._eventlet_stop
    functionSourceFile: gunicorn.workers.geventlet
    functionUses: 0
    functionsReached:
    - sys.exc_info
    - conn.close
    - client.wait
    - eventlet.greenthread.kill
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.wait
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: eventlet.greenthread.kill
    functionSourceFile: eventlet
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 110
    functionName: gunicorn.workers.geventlet.patch_sendfile
    functionSourceFile: gunicorn.workers.geventlet
    functionUses: 2
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 126
    functionName: gunicorn.workers.geventlet.EventletWorker.patch
    functionSourceFile: gunicorn.workers.geventlet
    functionUses: 1
    functionsReached:
    - gunicorn.workers.geventlet.patch_sendfile
    - <builtin>.hasattr
    - eventlet.hubs.use_hub
    - eventlet.monkey_patch
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: eventlet.hubs.use_hub
    functionSourceFile: eventlet
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: eventlet.monkey_patch
    functionSourceFile: eventlet
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - respiter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 131
    functionName: gunicorn.workers.geventlet.EventletWorker.is_already_handled
    functionSourceFile: gunicorn.workers.geventlet
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - StopIteration
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 140
    functionName: gunicorn.workers.geventlet.EventletWorker.init_process
    functionSourceFile: gunicorn.workers.geventlet
    functionUses: 0
    functionsReached:
    - gunicorn.workers.geventlet.patch_sendfile
    - <builtin>.hasattr
    - gunicorn.workers.geventlet.EventletWorker.patch
    - eventlet.monkey_patch
    - eventlet.hubs.use_hub
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - sig
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 144
    functionName: gunicorn.workers.geventlet.EventletWorker.handle_quit
    functionSourceFile: gunicorn.workers.geventlet
    functionUses: 0
    functionsReached:
    - eventlet.spawn
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: eventlet.spawn
    functionSourceFile: eventlet
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - sig
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 147
    functionName: gunicorn.workers.geventlet.EventletWorker.handle_usr1
    functionSourceFile: gunicorn.workers.geventlet
    functionUses: 0
    functionsReached:
    - eventlet.spawn
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 150
    functionName: gunicorn.workers.geventlet.EventletWorker.timeout_ctx
    functionSourceFile: gunicorn.workers.geventlet
    functionUses: 0
    functionsReached:
    - eventlet.Timeout
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: eventlet.Timeout
    functionSourceFile: eventlet
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - listener
    - client
    - addr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 153
    functionName: gunicorn.workers.geventlet.EventletWorker.handle
    functionSourceFile: gunicorn.workers.geventlet
    functionUses: 0
    functionsReached:
    - conf.ssl_context
    - gunicorn.sock.ssl_context
    - <builtin>.super
    - gunicorn.sock.ssl_wrap_socket
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 9
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 158
    functionName: gunicorn.workers.geventlet.EventletWorker.run
    functionSourceFile: gunicorn.workers.geventlet
    functionUses: 0
    functionsReached:
    - eventlet.greenio.GreenSocket
    - eventlet.sleep
    - eventlet.greenio.GreenSocket.setblocking
    - eventlet.Timeout
    - gunicorn.workers.workertmp.WorkerTmp.notify
    - eventlet.spawn
    - a.wait
    - gunicorn.workers.base.Worker.notify
    - acceptors.append
    - a.kill
    - eventlet.StopServe
    - time.monotonic
    - os.utime
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: eventlet.greenio.GreenSocket
    functionSourceFile: eventlet
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: eventlet.greenio.GreenSocket.setblocking
    functionSourceFile: eventlet
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: acceptors.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: eventlet.sleep
    functionSourceFile: eventlet
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: eventlet.StopServe
    functionSourceFile: eventlet
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: a.kill
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: a.wait
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.workers.base_async
    functionSourceFile: gunicorn.workers.base_async
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.object
    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
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 21
    functionName: gunicorn.workers.base_async.AsyncWorker.__init__
    functionSourceFile: gunicorn.workers.base_async
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 25
    functionName: gunicorn.workers.base_async.AsyncWorker.timeout_ctx
    functionSourceFile: gunicorn.workers.base_async
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - respiter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 28
    functionName: gunicorn.workers.base_async.AsyncWorker.is_already_handled
    functionSourceFile: gunicorn.workers.base_async
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 17
    IfCount: 7
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - listener
    - client
    - addr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 32
    functionName: gunicorn.workers.base_async.AsyncWorker.handle
    functionSourceFile: gunicorn.workers.base_async
    functionUses: 0
    functionsReached:
    - client.close
    - resp.should_close
    - client.decode
    - gunicorn.util.make_fail_app.app
    - respiter.close
    - resp.write
    - sock.shutdown
    - os.environ.get
    - textwrap.dedent
    - msg.format
    - path_info.startswith
    - data.encode
    - html.escape
    - gunicorn.util.reraise
    - gunicorn.util.close
    - <builtin>.hasattr
    - gunicorn.workers.base_async.AsyncWorker.handle_request
    - gunicorn.util.write_error
    - hdr_name.replace
    - host.split
    - gunicorn.http.wsgi.proxy_environ
    - listener.getsockname
    - gunicorn.util.unquote_to_wsgi_str
    - sock.close
    - sys.exc_info
    - <builtin>.next
    - gunicorn.workers.base_async.AsyncWorker.is_already_handled
    - gunicorn.workers.base.Worker.handle_error
    - sock.send
    - env.update
    - http.encode
    - resp.close
    - gunicorn.util.write_chunk
    - datetime.datetime.now
    - resp.write_file
    - gunicorn.http.wsgi.default_environ
    - environ.update
    - urllib.parse.unquote_to_bytes
    - gunicorn.workers.base_async.AsyncWorker.timeout_ctx
    - sock.gettimeout
    - server.append
    - logging.getLogger
    - <builtin>.len
    - sock.setblocking
    - gunicorn.http.wsgi.base_environ
    - <builtin>.str
    - gunicorn.http.wsgi.Response.__init__
    - sock.sendall
    - hdr_value.lower
    - resp.force_close
    - gunicorn.util.write_nonblock
    - gunicorn.http.wsgi.WSGIErrorsWrapper.__init__
    - server.split
    - gunicorn.http.wsgi.create
    - <builtin>.isinstance
    - gunicorn.util.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: listener.getsockname
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 14
    IfCount: 8
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - listener_name
    - req
    - sock
    - addr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 89
    functionName: gunicorn.workers.base_async.AsyncWorker.handle_request
    functionSourceFile: gunicorn.workers.base_async
    functionUses: 1
    functionsReached:
    - resp.should_close
    - client.decode
    - gunicorn.util.make_fail_app.app
    - respiter.close
    - resp.write
    - sock.shutdown
    - os.environ.get
    - path_info.startswith
    - <builtin>.hasattr
    - gunicorn.util.reraise
    - hdr_name.replace
    - host.split
    - gunicorn.http.wsgi.proxy_environ
    - gunicorn.util.unquote_to_wsgi_str
    - sock.close
    - sys.exc_info
    - gunicorn.workers.base_async.AsyncWorker.is_already_handled
    - sock.send
    - env.update
    - resp.close
    - datetime.datetime.now
    - resp.write_file
    - gunicorn.http.wsgi.default_environ
    - environ.update
    - urllib.parse.unquote_to_bytes
    - server.append
    - logging.getLogger
    - <builtin>.len
    - <builtin>.str
    - gunicorn.http.wsgi.base_environ
    - gunicorn.http.wsgi.Response.__init__
    - hdr_value.lower
    - resp.force_close
    - gunicorn.http.wsgi.WSGIErrorsWrapper.__init__
    - server.split
    - gunicorn.http.wsgi.create
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - StopIteration
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.close
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sock.shutdown
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: gunicorn.workers.ggevent
    functionSourceFile: gunicorn.workers.ggevent
    functionUses: 0
    functionsReached:
    - packaging.version.parse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 37
    functionName: gunicorn.workers.ggevent.GeventWorker.patch
    functionSourceFile: gunicorn.workers.ggevent
    functionUses: 1
    functionsReached:
    - gevent.socket.socket
    - s.sock.detach
    - gevent.monkey.patch_all
    - sockets.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gevent.monkey.patch_all
    functionSourceFile: gevent
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.sock.detach
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gevent.socket.socket
    functionSourceFile: gevent
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sockets.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 47
    functionName: gunicorn.workers.ggevent.GeventWorker.notify
    functionSourceFile: gunicorn.workers.ggevent
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - sys.exit
    - os.getppid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 53
    functionName: gunicorn.workers.ggevent.GeventWorker.timeout_ctx
    functionSourceFile: gunicorn.workers.ggevent
    functionUses: 0
    functionsReached:
    - gevent.Timeout
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gevent.Timeout
    functionSourceFile: gevent
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 12
    IfCount: 7
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 56
    functionName: gunicorn.workers.ggevent.GeventWorker.run
    functionSourceFile: gunicorn.workers.ggevent
    functionUses: 0
    functionsReached:
    - servers.append
    - gevent.server.StreamServer.start
    - sys.exit
    - <builtin>.hasattr
    - functools.partial
    - gevent.server.StreamServer.pool.free_count
    - os.getppid
    - gevent.server.StreamServer.stop
    - environ.update
    - gunicorn.workers.ggevent.GeventWorker.notify
    - gevent.pool.Pool
    - gevent.server.StreamServer.kill
    - logging.getLogger
    - gunicorn.http.wsgi.base_environ
    - time.time
    - eventlet.greenio.GreenSocket.setblocking
    - gunicorn.http.wsgi.WSGIErrorsWrapper.__init__
    - gevent.sleep
    - gevent.server.StreamServer
    - <builtin>.super
    - gevent.server.StreamServer.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gevent.pool.Pool
    functionSourceFile: gevent
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gevent.server.StreamServer
    functionSourceFile: gevent
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gevent.server.StreamServer.start
    functionSourceFile: gevent
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: servers.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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gevent.sleep
    functionSourceFile: gevent
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gevent.server.StreamServer.close
    functionSourceFile: gevent
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gevent.server.StreamServer.kill
    functionSourceFile: gevent
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gevent.server.StreamServer.pool.free_count
    functionSourceFile: gevent
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gevent.server.StreamServer.stop
    functionSourceFile: gevent
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - listener
    - client
    - addr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 119
    functionName: gunicorn.workers.ggevent.GeventWorker.handle
    functionSourceFile: gunicorn.workers.ggevent
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - client.setblocking
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.setblocking
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - listener_name
    - req
    - sock
    - addr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 125
    functionName: gunicorn.workers.ggevent.GeventWorker.handle_request
    functionSourceFile: gunicorn.workers.ggevent
    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
    argDefaultValues: []
    argNames:
    - self
    - sig
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 133
    functionName: gunicorn.workers.ggevent.GeventWorker.handle_quit
    functionSourceFile: gunicorn.workers.ggevent
    functionUses: 0
    functionsReached:
    - gevent.spawn
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gevent.spawn
    functionSourceFile: gevent
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - sig
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 138
    functionName: gunicorn.workers.ggevent.GeventWorker.handle_usr1
    functionSourceFile: gunicorn.workers.ggevent
    functionUses: 0
    functionsReached:
    - gevent.spawn
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 143
    functionName: gunicorn.workers.ggevent.GeventWorker.init_process
    functionSourceFile: gunicorn.workers.ggevent
    functionUses: 0
    functionsReached:
    - gevent.socket.socket
    - s.sock.detach
    - gunicorn.workers.ggevent.GeventWorker.patch
    - gevent.hub.reinit
    - gevent.monkey.patch_all
    - <builtin>.super
    - sockets.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gevent.hub.reinit
    functionSourceFile: gevent
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - status
    - headers
    - clength
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 155
    functionName: gunicorn.workers.ggevent.GeventResponse.__init__
    functionSourceFile: gunicorn.workers.ggevent
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 163
    functionName: gunicorn.workers.ggevent.PyWSGIHandler.log_request
    functionSourceFile: gunicorn.workers.ggevent
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.hasattr
    - gevent.pywsgi.WSGIHandler.headers.items
    - gevent.pywsgi.WSGIHandler.status.decode
    - gevent.pywsgi.WSGIHandler.server.log.access
    - datetime.datetime.fromtimestamp
    - gunicorn.workers.ggevent.GeventResponse.__init__
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime.datetime.fromtimestamp
    functionSourceFile: datetime
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gevent.pywsgi.WSGIHandler.status.decode
    functionSourceFile: gevent
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gevent.pywsgi.WSGIHandler.headers.items
    functionSourceFile: gevent
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gevent.pywsgi.WSGIHandler.server.log.access
    functionSourceFile: gevent
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 179
    functionName: gunicorn.workers.ggevent.PyWSGIHandler.get_environ
    functionSourceFile: gunicorn.workers.ggevent
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.workers.sync
    functionSourceFile: gunicorn.workers.sync
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - listener
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 27
    functionName: gunicorn.workers.sync.SyncWorker.accept
    functionSourceFile: gunicorn.workers.sync
    functionUses: 3
    functionsReached:
    - client.close
    - client.decode
    - gunicorn.util.make_fail_app.app
    - respiter.close
    - resp.write
    - gunicorn.sock.ssl_context
    - os.environ.get
    - textwrap.dedent
    - msg.format
    - path_info.startswith
    - data.encode
    - html.escape
    - listener.accept
    - client.setblocking
    - <builtin>.hasattr
    - gunicorn.util.close
    - gunicorn.util.reraise
    - gunicorn.util.write_error
    - hdr_name.replace
    - host.split
    - gunicorn.http.wsgi.proxy_environ
    - listener.getsockname
    - gunicorn.util.unquote_to_wsgi_str
    - sock.close
    - sys.exc_info
    - <builtin>.next
    - gunicorn.workers.base.Worker.handle_error
    - sock.send
    - env.update
    - http.encode
    - resp.close
    - gunicorn.util.write_chunk
    - datetime.datetime.now
    - gunicorn.http.wsgi.default_environ
    - resp.write_file
    - environ.update
    - urllib.parse.unquote_to_bytes
    - sock.gettimeout
    - <builtin>.isinstance
    - conf.ssl_context
    - gunicorn.util.close_on_exec
    - server.append
    - logging.getLogger
    - <builtin>.len
    - sock.setblocking
    - gunicorn.http.wsgi.base_environ
    - <builtin>.str
    - gunicorn.http.wsgi.Response.__init__
    - sock.sendall
    - gunicorn.workers.sync.SyncWorker.handle
    - hdr_value.lower
    - gunicorn.util.write_nonblock
    - gunicorn.http.wsgi.WSGIErrorsWrapper.__init__
    - resp.force_close
    - server.split
    - gunicorn.sock.ssl_wrap_socket
    - client.shutdown
    - gunicorn.http.wsgi.create
    - fcntl.fcntl
    - gunicorn.workers.sync.SyncWorker.handle_request
    - gunicorn.util.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 13
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - listener
    - client
    - addr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 127
    functionName: gunicorn.workers.sync.SyncWorker.handle
    functionSourceFile: gunicorn.workers.sync
    functionUses: 4
    functionsReached:
    - client.close
    - client.decode
    - gunicorn.util.make_fail_app.app
    - respiter.close
    - resp.write
    - gunicorn.sock.ssl_context
    - os.environ.get
    - textwrap.dedent
    - msg.format
    - path_info.startswith
    - data.encode
    - html.escape
    - <builtin>.hasattr
    - gunicorn.util.close
    - gunicorn.util.reraise
    - gunicorn.util.write_error
    - hdr_name.replace
    - host.split
    - gunicorn.http.wsgi.proxy_environ
    - listener.getsockname
    - gunicorn.util.unquote_to_wsgi_str
    - sock.close
    - sys.exc_info
    - <builtin>.next
    - gunicorn.workers.base.Worker.handle_error
    - sock.send
    - env.update
    - http.encode
    - resp.close
    - gunicorn.util.write_chunk
    - datetime.datetime.now
    - resp.write_file
    - gunicorn.http.wsgi.default_environ
    - environ.update
    - urllib.parse.unquote_to_bytes
    - sock.gettimeout
    - conf.ssl_context
    - server.append
    - logging.getLogger
    - <builtin>.len
    - sock.setblocking
    - gunicorn.http.wsgi.base_environ
    - <builtin>.str
    - gunicorn.http.wsgi.Response.__init__
    - sock.sendall
    - hdr_value.lower
    - resp.force_close
    - gunicorn.util.write_nonblock
    - gunicorn.http.wsgi.WSGIErrorsWrapper.__init__
    - server.split
    - gunicorn.sock.ssl_wrap_socket
    - client.shutdown
    - gunicorn.http.wsgi.create
    - <builtin>.isinstance
    - gunicorn.workers.sync.SyncWorker.handle_request
    - gunicorn.util.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 33
    functionName: gunicorn.workers.sync.SyncWorker.wait
    functionSourceFile: gunicorn.workers.sync
    functionUses: 3
    functionsReached:
    - gunicorn.workers.workertmp.WorkerTmp.notify
    - gunicorn.workers.base.Worker.notify
    - os.read
    - time.monotonic
    - os.utime
    - select.select
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 52
    functionName: gunicorn.workers.sync.SyncWorker.is_parent_alive
    functionSourceFile: gunicorn.workers.sync
    functionUses: 3
    functionsReached:
    - os.getppid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 59
    functionName: gunicorn.workers.sync.SyncWorker.run_for_one
    functionSourceFile: gunicorn.workers.sync
    functionUses: 1
    functionsReached:
    - client.close
    - client.decode
    - gunicorn.util.make_fail_app.app
    - gunicorn.workers.workertmp.WorkerTmp.notify
    - respiter.close
    - resp.write
    - gunicorn.sock.ssl_context
    - os.environ.get
    - textwrap.dedent
    - msg.format
    - os.read
    - path_info.startswith
    - data.encode
    - os.utime
    - select.select
    - html.escape
    - listener.accept
    - <builtin>.hasattr
    - gunicorn.util.close
    - gunicorn.util.reraise
    - gunicorn.util.write_error
    - hdr_name.replace
    - host.split
    - gunicorn.workers.sync.SyncWorker.accept
    - gunicorn.http.wsgi.proxy_environ
    - client.setblocking
    - gunicorn.workers.sync.SyncWorker.wait
    - listener.getsockname
    - sock.close
    - gunicorn.util.unquote_to_wsgi_str
    - sys.exc_info
    - <builtin>.next
    - gunicorn.workers.base.Worker.handle_error
    - time.monotonic
    - sock.send
    - env.update
    - http.encode
    - gunicorn.workers.sync.SyncWorker.is_parent_alive
    - resp.close
    - gunicorn.util.write_chunk
    - datetime.datetime.now
    - os.getppid
    - gunicorn.http.wsgi.default_environ
    - resp.write_file
    - environ.update
    - urllib.parse.unquote_to_bytes
    - sock.gettimeout
    - <builtin>.isinstance
    - gunicorn.workers.base.Worker.notify
    - conf.ssl_context
    - gunicorn.util.close_on_exec
    - server.append
    - logging.getLogger
    - <builtin>.len
    - sock.setblocking
    - gunicorn.http.wsgi.base_environ
    - <builtin>.str
    - gunicorn.http.wsgi.Response.__init__
    - sock.sendall
    - gunicorn.workers.sync.SyncWorker.handle
    - hdr_value.lower
    - gunicorn.util.write_nonblock
    - gunicorn.http.wsgi.WSGIErrorsWrapper.__init__
    - resp.force_close
    - server.split
    - gunicorn.sock.ssl_wrap_socket
    - client.shutdown
    - gunicorn.http.wsgi.create
    - fcntl.fcntl
    - gunicorn.workers.sync.SyncWorker.handle_request
    - gunicorn.util.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 88
    functionName: gunicorn.workers.sync.SyncWorker.run_for_multiple
    functionSourceFile: gunicorn.workers.sync
    functionUses: 1
    functionsReached:
    - client.close
    - client.decode
    - gunicorn.util.make_fail_app.app
    - gunicorn.workers.workertmp.WorkerTmp.notify
    - respiter.close
    - resp.write
    - gunicorn.sock.ssl_context
    - os.environ.get
    - textwrap.dedent
    - msg.format
    - os.read
    - path_info.startswith
    - data.encode
    - os.utime
    - select.select
    - html.escape
    - listener.accept
    - <builtin>.hasattr
    - gunicorn.util.close
    - gunicorn.util.reraise
    - gunicorn.util.write_error
    - hdr_name.replace
    - host.split
    - gunicorn.workers.sync.SyncWorker.accept
    - gunicorn.http.wsgi.proxy_environ
    - client.setblocking
    - gunicorn.workers.sync.SyncWorker.wait
    - listener.getsockname
    - sock.close
    - gunicorn.util.unquote_to_wsgi_str
    - sys.exc_info
    - <builtin>.next
    - time.monotonic
    - gunicorn.workers.base.Worker.handle_error
    - sock.send
    - env.update
    - http.encode
    - gunicorn.workers.sync.SyncWorker.is_parent_alive
    - resp.close
    - gunicorn.util.write_chunk
    - datetime.datetime.now
    - os.getppid
    - gunicorn.http.wsgi.default_environ
    - resp.write_file
    - environ.update
    - urllib.parse.unquote_to_bytes
    - sock.gettimeout
    - gunicorn.workers.base.Worker.notify
    - conf.ssl_context
    - gunicorn.util.close_on_exec
    - fcntl.fcntl
    - server.append
    - logging.getLogger
    - <builtin>.len
    - sock.setblocking
    - gunicorn.http.wsgi.base_environ
    - <builtin>.str
    - gunicorn.http.wsgi.Response.__init__
    - sock.sendall
    - gunicorn.workers.sync.SyncWorker.handle
    - hdr_value.lower
    - gunicorn.util.write_nonblock
    - gunicorn.http.wsgi.WSGIErrorsWrapper.__init__
    - resp.force_close
    - server.split
    - gunicorn.sock.ssl_wrap_socket
    - client.shutdown
    - gunicorn.http.wsgi.create
    - <builtin>.isinstance
    - gunicorn.workers.sync.SyncWorker.handle_request
    - gunicorn.util.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 112
    functionName: gunicorn.workers.sync.SyncWorker.run
    functionSourceFile: gunicorn.workers.sync
    functionUses: 0
    functionsReached:
    - client.close
    - client.decode
    - gunicorn.util.make_fail_app.app
    - gunicorn.workers.workertmp.WorkerTmp.notify
    - respiter.close
    - resp.write
    - gunicorn.sock.ssl_context
    - os.environ.get
    - textwrap.dedent
    - gunicorn.workers.sync.SyncWorker.run_for_multiple
    - s.setblocking
    - msg.format
    - os.read
    - path_info.startswith
    - data.encode
    - os.utime
    - select.select
    - listener.accept
    - html.escape
    - <builtin>.hasattr
    - gunicorn.util.close
    - gunicorn.util.reraise
    - gunicorn.util.write_error
    - hdr_name.replace
    - host.split
    - gunicorn.workers.sync.SyncWorker.accept
    - gunicorn.http.wsgi.proxy_environ
    - client.setblocking
    - gunicorn.workers.sync.SyncWorker.wait
    - listener.getsockname
    - sock.close
    - gunicorn.util.unquote_to_wsgi_str
    - sys.exc_info
    - <builtin>.next
    - time.monotonic
    - gunicorn.workers.base.Worker.handle_error
    - sock.send
    - env.update
    - http.encode
    - resp.close
    - gunicorn.workers.sync.SyncWorker.is_parent_alive
    - gunicorn.util.write_chunk
    - datetime.datetime.now
    - resp.write_file
    - gunicorn.http.wsgi.default_environ
    - environ.update
    - urllib.parse.unquote_to_bytes
    - os.getppid
    - sock.gettimeout
    - gunicorn.workers.base.Worker.notify
    - conf.ssl_context
    - gunicorn.util.close_on_exec
    - fcntl.fcntl
    - server.append
    - logging.getLogger
    - <builtin>.len
    - <builtin>.str
    - sock.setblocking
    - gunicorn.http.wsgi.base_environ
    - gunicorn.http.wsgi.Response.__init__
    - sock.sendall
    - gunicorn.workers.sync.SyncWorker.handle
    - hdr_value.lower
    - resp.force_close
    - gunicorn.util.write_nonblock
    - gunicorn.http.wsgi.WSGIErrorsWrapper.__init__
    - server.split
    - gunicorn.sock.ssl_wrap_socket
    - client.shutdown
    - gunicorn.http.wsgi.create
    - <builtin>.isinstance
    - gunicorn.workers.sync.SyncWorker.handle_request
    - gunicorn.util.write
    - gunicorn.workers.sync.SyncWorker.run_for_one
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.setblocking
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 14
    IfCount: 4
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - listener
    - req
    - client
    - addr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 161
    functionName: gunicorn.workers.sync.SyncWorker.handle_request
    functionSourceFile: gunicorn.workers.sync
    functionUses: 5
    functionsReached:
    - client.close
    - client.decode
    - gunicorn.util.make_fail_app.app
    - respiter.close
    - resp.write
    - os.environ.get
    - path_info.startswith
    - <builtin>.hasattr
    - gunicorn.util.reraise
    - hdr_name.replace
    - host.split
    - gunicorn.http.wsgi.proxy_environ
    - listener.getsockname
    - gunicorn.util.unquote_to_wsgi_str
    - sys.exc_info
    - sock.send
    - env.update
    - resp.close
    - datetime.datetime.now
    - resp.write_file
    - gunicorn.http.wsgi.default_environ
    - environ.update
    - urllib.parse.unquote_to_bytes
    - server.append
    - logging.getLogger
    - <builtin>.len
    - <builtin>.str
    - gunicorn.http.wsgi.base_environ
    - gunicorn.http.wsgi.Response.__init__
    - hdr_value.lower
    - resp.force_close
    - gunicorn.http.wsgi.WSGIErrorsWrapper.__init__
    - server.split
    - client.shutdown
    - gunicorn.http.wsgi.create
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - StopIteration
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.shutdown
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.workers.gtornado
    functionSourceFile: gunicorn.workers.gtornado
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - cls
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 33
    functionName: gunicorn.workers.gtornado.TornadoWorker.setup
    functionSourceFile: gunicorn.workers.gtornado
    functionUses: 0
    functionsReached:
    - sys.modules.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.modules.pop
    functionSourceFile: sys
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 37
    functionName: gunicorn.workers.gtornado.TornadoWorker.setup.clear
    functionSourceFile: gunicorn.workers.gtornado
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - sig
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 44
    functionName: gunicorn.workers.gtornado.TornadoWorker.handle_exit
    functionSourceFile: gunicorn.workers.gtornado
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 48
    functionName: gunicorn.workers.gtornado.TornadoWorker.handle_request
    functionSourceFile: gunicorn.workers.gtornado
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 54
    functionName: gunicorn.workers.gtornado.TornadoWorker.watchdog
    functionSourceFile: gunicorn.workers.gtornado
    functionUses: 0
    functionsReached:
    - gunicorn.workers.workertmp.WorkerTmp.notify
    - os.getppid
    - gunicorn.workers.base.Worker.notify
    - time.monotonic
    - os.utime
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 62
    functionName: gunicorn.workers.gtornado.TornadoWorker.heartbeat
    functionSourceFile: gunicorn.workers.gtornado
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - callback.stop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: callback.stop
    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
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 80
    functionName: gunicorn.workers.gtornado.TornadoWorker.init_process
    functionSourceFile: gunicorn.workers.gtornado
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.clear_current
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.ioloop.IOLoop.clear_current
    functionSourceFile: tornado
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 9
    IfCount: 10
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 88
    functionName: gunicorn.workers.gtornado.TornadoWorker.run
    functionSourceFile: gunicorn.workers.gtornado
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - callback.start
    - gunicorn.sock.ssl_context
    - server.start
    - tornado.httpserver.HTTPServer
    - s.setblocking
    - server.add_socket
    - tornado.ioloop.PeriodicCallback.start
    - conf.ssl_context
    - s.fileno
    - tornado.ioloop.IOLoop.instance
    - tornado.ioloop.PeriodicCallback
    - tornado.wsgi.WSGIContainer
    - tornado.httpserver.HTTPServer.__init__
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.ioloop.IOLoop.instance
    functionSourceFile: tornado
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.ioloop.PeriodicCallback
    functionSourceFile: tornado
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: callback.start
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.ioloop.PeriodicCallback.start
    functionSourceFile: tornado
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.wsgi.WSGIContainer
    functionSourceFile: tornado
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - other
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 124
    functionName: gunicorn.workers.gtornado.TornadoWorker.run.finish
    functionSourceFile: gunicorn.workers.gtornado
    functionUses: 0
    functionsReached:
    - gunicorn.workers.gtornado.TornadoWorker.handle_request
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - instance
    - server_conn
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 135
    functionName: gunicorn.workers.gtornado.TornadoWorker.run._HTTPServer.on_close
    functionSourceFile: gunicorn.workers.gtornado
    functionUses: 0
    functionsReached:
    - gunicorn.workers.gtornado.TornadoWorker.handle_request
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.httpserver.HTTPServer
    functionSourceFile: tornado
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.httpserver.HTTPServer.__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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: server.add_socket
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.fileno
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: server.start
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.instrument.statsd
    functionSourceFile: gunicorn.instrument.statsd
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cfg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 25
    functionName: gunicorn.instrument.statsd.Statsd.__init__
    functionSourceFile: gunicorn.instrument.statsd
    functionUses: 0
    functionsReached:
    - logging.StreamHandler
    - logging.config.fileConfig
    - log.addHandler
    - sys.stdout.fileno
    - gunicorn.glogging.parse_syslog_address
    - port.isdigit
    - re.sub
    - cfg.proc_name.replace
    - logging.FileHandler
    - threading.Lock
    - sys.stderr.fileno
    - gunicorn.glogging.Logger._set_handler
    - addr.lower
    - addr.split
    - <builtin>.open
    - f.close
    - stream.flush
    - gunicorn.glogging.Logger.setup
    - h.setFormatter
    - os.path.exists
    - os.chown
    - CONFIG_DEFAULTS.copy
    - addr.startswith
    - logging.getLogger
    - os.dup2
    - logging.Formatter
    - <builtin>.len
    - <builtin>.getattr
    - gunicorn.glogging.Logger._set_syslog_handler
    - json.load
    - <builtin>.int
    - cfg.syslog_facility.lower
    - gunicorn.glogging.Logger.__init__
    - socket.socket
    - os.path.dirname
    - logging.handlers.SysLogHandler
    - logging.config.dictConfig
    - config.update
    - logging.INFO.lower
    - gunicorn.glogging.Logger._get_gunicorn_handler
    - <builtin>.isinstance
    - log.handlers.remove
    - gunicorn.util.check_is_writable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.sub
    functionSourceFile: re
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - msg
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 43
    functionName: gunicorn.instrument.statsd.Statsd.critical
    functionSourceFile: gunicorn.instrument.statsd
    functionUses: 0
    functionsReached:
    - gunicorn.glogging.Logger.warning
    - gunicorn.instrument.statsd.Statsd._sock_send
    - msg.encode
    - gunicorn.glogging.Logger.critical
    - gunicorn.instrument.statsd.Statsd.increment
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f66baf87340>
    argNames:
    - self
    - name
    - value
    - sampling_rate
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 113
    functionName: gunicorn.instrument.statsd.Statsd.increment
    functionSourceFile: gunicorn.instrument.statsd
    functionUses: 8
    functionsReached:
    - gunicorn.instrument.statsd.Statsd._sock_send
    - <builtin>.isinstance
    - gunicorn.glogging.Logger.warning
    - msg.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - msg
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 47
    functionName: gunicorn.instrument.statsd.Statsd.error
    functionSourceFile: gunicorn.instrument.statsd
    functionUses: 0
    functionsReached:
    - gunicorn.glogging.Logger.warning
    - gunicorn.instrument.statsd.Statsd._sock_send
    - msg.encode
    - gunicorn.glogging.Logger.error
    - gunicorn.instrument.statsd.Statsd.increment
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - msg
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 51
    functionName: gunicorn.instrument.statsd.Statsd.warning
    functionSourceFile: gunicorn.instrument.statsd
    functionUses: 0
    functionsReached:
    - gunicorn.glogging.Logger.warning
    - gunicorn.instrument.statsd.Statsd._sock_send
    - msg.encode
    - gunicorn.instrument.statsd.Statsd.increment
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - msg
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 55
    functionName: gunicorn.instrument.statsd.Statsd.exception
    functionSourceFile: gunicorn.instrument.statsd
    functionUses: 0
    functionsReached:
    - gunicorn.glogging.Logger.warning
    - gunicorn.instrument.statsd.Statsd._sock_send
    - msg.encode
    - gunicorn.instrument.statsd.Statsd.increment
    - gunicorn.glogging.Logger.exception
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - msg
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 60
    functionName: gunicorn.instrument.statsd.Statsd.info
    functionSourceFile: gunicorn.instrument.statsd
    functionUses: 0
    functionsReached:
    - gunicorn.glogging.Logger.warning
    - kwargs.get
    - gunicorn.instrument.statsd.Statsd._sock_send
    - msg.encode
    - <builtin>.isinstance
    - lvl.lower
    - gunicorn.instrument.statsd.Statsd.increment
    - extra.get
    - gunicorn.instrument.statsd.Statsd.histogram
    - gunicorn.instrument.statsd.Statsd.log
    - gunicorn.instrument.statsd.Statsd.gauge
    - gunicorn.glogging.Logger.log
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 6
    IfCount: 6
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - lvl
    - msg
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 67
    functionName: gunicorn.instrument.statsd.Statsd.log
    functionSourceFile: gunicorn.instrument.statsd
    functionUses: 2
    functionsReached:
    - gunicorn.glogging.Logger.warning
    - kwargs.get
    - gunicorn.instrument.statsd.Statsd._sock_send
    - msg.encode
    - <builtin>.isinstance
    - lvl.lower
    - gunicorn.instrument.statsd.Statsd.increment
    - extra.get
    - gunicorn.instrument.statsd.Statsd.histogram
    - gunicorn.instrument.statsd.Statsd.gauge
    - gunicorn.glogging.Logger.log
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - msg
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 64
    functionName: gunicorn.instrument.statsd.Statsd.debug
    functionSourceFile: gunicorn.instrument.statsd
    functionUses: 0
    functionsReached:
    - gunicorn.glogging.Logger.warning
    - kwargs.get
    - gunicorn.instrument.statsd.Statsd._sock_send
    - msg.encode
    - <builtin>.isinstance
    - lvl.lower
    - gunicorn.instrument.statsd.Statsd.increment
    - extra.get
    - gunicorn.instrument.statsd.Statsd.histogram
    - gunicorn.instrument.statsd.Statsd.log
    - gunicorn.instrument.statsd.Statsd.gauge
    - gunicorn.glogging.Logger.log
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: extra.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: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 110
    functionName: gunicorn.instrument.statsd.Statsd.gauge
    functionSourceFile: gunicorn.instrument.statsd
    functionUses: 3
    functionsReached:
    - gunicorn.instrument.statsd.Statsd._sock_send
    - <builtin>.isinstance
    - gunicorn.glogging.Logger.warning
    - msg.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 119
    functionName: gunicorn.instrument.statsd.Statsd.histogram
    functionSourceFile: gunicorn.instrument.statsd
    functionUses: 4
    functionsReached:
    - gunicorn.instrument.statsd.Statsd._sock_send
    - <builtin>.isinstance
    - gunicorn.glogging.Logger.warning
    - msg.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - resp
    - req
    - environ
    - request_time
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 93
    functionName: gunicorn.instrument.statsd.Statsd.access
    functionSourceFile: gunicorn.instrument.statsd
    functionUses: 0
    functionsReached:
    - k.lower
    - req_headers.items
    - gunicorn.glogging.Logger.warning
    - traceback.format_exc
    - msg.encode
    - os.getpid
    - value.replace
    - gunicorn.instrument.statsd.Statsd.histogram
    - time.strftime
    - environ.items
    - status.split
    - resp_headers.items
    - <builtin>.hasattr
    - environ.get
    - <builtin>.float
    - gunicorn.glogging.Logger.error
    - auth.split
    - gunicorn.glogging.Logger.atoms
    - gunicorn.glogging.Logger.access
    - gunicorn.instrument.statsd.Statsd._sock_send
    - base64.b64decode
    - <builtin>.isinstance
    - gunicorn.glogging.Logger.debug
    - gunicorn.glogging.Logger.now
    - gunicorn.glogging.SafeAtoms.__init__
    - status.decode
    - <builtin>.len
    - <builtin>.str
    - http_auth.lower
    - <builtin>.getattr
    - <builtin>.int
    - gunicorn.glogging.Logger._get_user
    - gunicorn.instrument.statsd.Statsd.increment
    - atoms.update
    - http_auth.split
    - dict.__init__
    - atoms.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.float
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: status.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 122
    functionName: gunicorn.instrument.statsd.Statsd._sock_send
    functionSourceFile: gunicorn.instrument.statsd
    functionUses: 12
    functionsReached:
    - msg.encode
    - <builtin>.isinstance
    - gunicorn.glogging.Logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f66baf87a60>
    argNames:
    - self
    - name
    - value
    - sampling_rate
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 116
    functionName: gunicorn.instrument.statsd.Statsd.decrement
    functionSourceFile: gunicorn.instrument.statsd
    functionUses: 0
    functionsReached:
    - gunicorn.instrument.statsd.Statsd._sock_send
    - <builtin>.isinstance
    - gunicorn.glogging.Logger.warning
    - msg.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: msg.encode
    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
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gunicorn.instrument
    functionSourceFile: gunicorn.instrument
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_util':
  - 80
  - 18
  - 79
  '...fuzz_util.TestInput':
  - 33
  - 37
  - 69
  - 39
  - 70
  - 72
  - 42
  - 46
  - 47
  - 49
  - 53
  - 24
  - 26
  - 27
  - 28
  - 31
  '...fuzz_util.main':
  - 76
  - 77
  gunicorn:
  - 6
  gunicorn.__main__:
  - 10
  - 7
  gunicorn.app.base.Application.chdir:
  - 89
  - 90
  - 86
  gunicorn.app.base.Application.get_config_from_filename:
  - 97
  - 101
  - 102
  - 105
  - 106
  - 107
  - 108
  - 110
  - 112
  - 113
  - 114
  - 115
  - 117
  - 94
  gunicorn.app.base.Application.get_config_from_module_name:
  - 120
  gunicorn.app.base.Application.load_config:
  - 156
  - 157
  - 160
  - 163
  - 166
  - 167
  - 168
  - 170
  - 172
  - 173
  - 174
  - 175
  - 177
  - 178
  - 179
  - 182
  - 183
  - 185
  - 187
  - 190
  - 191
  - 193
  - 195
  - 199
  gunicorn.app.base.Application.load_config_from_file:
  - 152
  gunicorn.app.base.Application.load_config_from_module_name_or_filename:
  - 128
  - 129
  - 130
  - 132
  - 133
  - 136
  - 138
  - 140
  - 143
  - 145
  - 146
  - 123
  gunicorn.app.base.Application.run:
  - 202
  - 203
  - 205
  - 207
  - 210
  - 211
  - 212
  - 213
  - 214
  - 216
  - 217
  - 219
  - 220
  - 223
  - 225
  - 228
  - 229
  - 230
  - 231
  - 232
  - 233
  - 235
  gunicorn.app.base.BaseApplication:
  - 17
  gunicorn.app.base.BaseApplication.__init__:
  - 27
  gunicorn.app.base.BaseApplication.do_load_config:
  - 34
  - 35
  - 37
  - 38
  - 39
  - 30
  gunicorn.app.base.BaseApplication.load_config:
  - 52
  gunicorn.app.base.BaseApplication.load_default_config:
  - 43
  gunicorn.app.base.BaseApplication.reload:
  - 60
  - 61
  - 62
  gunicorn.app.base.BaseApplication.run:
  - 73
  - 74
  - 75
  - 71
  gunicorn.app.base.BaseApplication.wsgi:
  - 65
  - 66
  gunicorn.app.pasterapp.get_wsgi_app:
  - 18
  - 21
  - 15
  gunicorn.app.pasterapp.has_logging_config:
  - 27
  - 28
  - 29
  gunicorn.app.pasterapp.serve:
  - 33
  - 74
  - 44
  - 46
  - 47
  - 48
  - 50
  - 51
  gunicorn.app.pasterapp.serve.PasterServerApplication.load_config:
  - 64
  - 65
  - 67
  - 68
  - 69
  - 55
  - 57
  - 58
  - 60
  - 61
  - 63
  gunicorn.app.wsgiapp:
  - 69
  - 70
  gunicorn.app.wsgiapp.WSGIApplication.init:
  - 33
  - 34
  - 16
  - 19
  - 20
  - 22
  - 25
  - 28
  - 29
  gunicorn.app.wsgiapp.WSGIApplication.load:
  - 57
  - 54
  - 55
  gunicorn.app.wsgiapp.WSGIApplication.load_config:
  - 40
  - 41
  - 38
  gunicorn.app.wsgiapp.WSGIApplication.load_pasteapp:
  - 51
  gunicorn.app.wsgiapp.WSGIApplication.load_wsgiapp:
  - 47
  gunicorn.app.wsgiapp.run:
  - 66
  - 61
  gunicorn.arbiter.Arbiter:
  - 44
  - 45
  - 46
  - 47
  - 22
  - 86
  gunicorn.arbiter.Arbiter.__init__:
  - 58
  - 67
  - 70
  gunicorn.arbiter.Arbiter._set_num_workers:
  - 85
  gunicorn.arbiter.Arbiter.halt:
  - 352
  - 353
  - 342
  - 343
  - 346
  - 347
  - 348
  - 350
  - 351
  gunicorn.arbiter.Arbiter.handle_chld:
  - 242
  - 243
  - 244
  gunicorn.arbiter.Arbiter.handle_hup:
  - 253
  - 254
  - 247
  gunicorn.arbiter.Arbiter.handle_int:
  - 261
  - 262
  gunicorn.arbiter.Arbiter.handle_quit:
  - 266
  - 267
  gunicorn.arbiter.Arbiter.handle_term:
  - 257
  gunicorn.arbiter.Arbiter.handle_ttin:
  - 276
  - 271
  gunicorn.arbiter.Arbiter.handle_ttou:
  - 283
  - 286
  - 279
  gunicorn.arbiter.Arbiter.handle_usr1:
  - 289
  - 293
  - 294
  gunicorn.arbiter.Arbiter.handle_usr2:
  - 297
  - 303
  gunicorn.arbiter.Arbiter.handle_winch:
  - 306
  - 307
  - 308
  - 310
  - 312
  gunicorn.arbiter.Arbiter.init_signals:
  - 171
  - 176
  - 177
  - 180
  - 181
  - 182
  - 183
  - 185
  - 188
  - 189
  - 190
  gunicorn.arbiter.Arbiter.kill_worker:
  - 658
  - 665
  - 667
  - 669
  - 670
  - 671
  gunicorn.arbiter.Arbiter.kill_workers:
  - 649
  - 653
  - 654
  - 655
  gunicorn.arbiter.Arbiter.manage_workers:
  - 576
  - 577
  - 578
  - 580
  - 581
  - 583
  - 567
  - 571
  - 572
  - 574
  - 575
  gunicorn.arbiter.Arbiter.maybe_promote_master:
  - 326
  - 327
  - 329
  - 315
  - 318
  - 319
  gunicorn.arbiter.Arbiter.murder_workers:
  - 491
  - 494
  - 496
  - 497
  - 499
  - 504
  - 505
  - 507
  - 509
  gunicorn.arbiter.Arbiter.reap_workers:
  - 512
  - 517
  - 518
  - 520
  - 527
  - 528
  - 529
  - 532
  - 536
  - 539
  - 541
  - 546
  - 548
  - 549
  - 553
  - 555
  - 557
  - 558
  - 560
  - 561
  - 563
  gunicorn.arbiter.Arbiter.reexec:
  - 418
  - 420
  - 421
  - 423
  - 424
  - 425
  - 427
  - 428
  - 430
  - 433
  - 402
  - 405
  - 406
  - 409
  - 410
  - 413
  - 414
  - 415
  gunicorn.arbiter.Arbiter.reload:
  - 439
  - 440
  - 452
  - 453
  - 456
  - 459
  - 461
  - 462
  - 464
  - 465
  - 466
  - 469
  - 472
  - 473
  - 476
  - 477
  - 478
  - 481
  - 484
  - 485
  - 488
  gunicorn.arbiter.Arbiter.run:
  - 198
  - 199
  - 200
  - 203
  - 206
  - 208
  - 209
  - 210
  - 211
  - 212
  - 215
  - 216
  - 219
  - 220
  - 221
  - 222
  - 224
  - 225
  - 226
  - 228
  - 230
  - 234
  - 236
  - 237
  - 238
  - 239
  gunicorn.arbiter.Arbiter.setup:
  - 96
  - 97
  - 105
  - 106
  - 107
  - 109
  - 110
  - 113
  - 114
  - 117
  - 118
  - 92
  - 93
  gunicorn.arbiter.Arbiter.signal:
  - 193
  - 194
  - 195
  gunicorn.arbiter.Arbiter.sleep:
  - 356
  - 361
  - 362
  - 364
  - 368
  - 369
  - 372
  gunicorn.arbiter.Arbiter.spawn_worker:
  - 590
  - 593
  - 594
  - 595
  - 601
  - 602
  - 605
  - 607
  - 608
  - 609
  - 610
  - 611
  - 612
  - 613
  - 617
  - 619
  - 620
  - 621
  - 623
  - 624
  - 625
  - 626
  - 628
  - 630
  - 631
  - 633
  - 634
  gunicorn.arbiter.Arbiter.spawn_workers:
  - 646
  - 644
  - 637
  - 645
  gunicorn.arbiter.Arbiter.start:
  - 131
  - 132
  - 134
  - 136
  - 137
  - 138
  - 140
  - 142
  - 144
  - 145
  - 147
  - 150
  - 152
  - 153
  - 155
  - 156
  - 158
  - 159
  - 160
  - 161
  - 162
  - 165
  - 166
  - 168
  - 121
  - 124
  - 126
  - 127
  gunicorn.arbiter.Arbiter.stop:
  - 386
  - 390
  - 392
  - 394
  - 396
  - 397
  - 399
  - 375
  gunicorn.arbiter.Arbiter.wakeup:
  - 336
  - 338
  - 332
  gunicorn.config:
  - 332
  gunicorn.config.Bind:
  - 595
  - 596
  gunicorn.config.Chdir:
  - 1065
  gunicorn.config.ChildExit:
  - 1953
  - 1948
  gunicorn.config.Config.__getattr__:
  - 65
  - 67
  gunicorn.config.Config.__init__:
  - 49
  - 51
  - 52
  gunicorn.config.Config.__setattr__:
  - 72
  - 70
  gunicorn.config.Config.__str__:
  - 56
  - 57
  - 59
  - 60
  - 61
  - 62
  gunicorn.config.Config.address:
  - 130
  - 131
  gunicorn.config.Config.env:
  - 192
  - 194
  - 185
  - 188
  - 191
  gunicorn.config.Config.get_cmd_args_from_env:
  - 80
  - 81
  gunicorn.config.Config.gid:
  - 139
  gunicorn.config.Config.logger_class:
  - 162
  - 167
  - 168
  - 151
  - 152
  - 158
  - 159
  gunicorn.config.Config.parser:
  - 96
  - 97
  - 98
  - 89
  - 90
  - 94
  gunicorn.config.Config.paste_global_conf:
  - 224
  - 225
  - 227
  - 230
  - 231
  - 219
  - 220
  gunicorn.config.Config.proc_name:
  - 144
  - 147
  - 143
  gunicorn.config.Config.reuse_port:
  - 215
  gunicorn.config.Config.sendfile:
  - 208
  - 204
  - 207
  gunicorn.config.Config.set:
  - 75
  - 77
  gunicorn.config.Config.ssl_options:
  - 178
  - 179
  - 180
  gunicorn.config.Config.uid:
  - 135
  gunicorn.config.Config.worker_class:
  - 116
  - 119
  - 120
  - 123
  - 124
  - 125
  gunicorn.config.Config.worker_class_str:
  - 104
  - 106
  - 108
  - 109
  gunicorn.config.ForwardedAllowIPS:
  - 1277
  gunicorn.config.Group:
  - 1174
  gunicorn.config.NewSSLContext:
  - 2026
  - 2020
  gunicorn.config.NewSSLContext.ssl_context:
  - 2024
  gunicorn.config.NumWorkersChanged:
  - 1984
  - 1989
  gunicorn.config.OnExit:
  - 2009
  - 2004
  gunicorn.config.OnReload:
  - 1776
  - 1781
  gunicorn.config.OnStarting:
  - 1760
  - 1765
  gunicorn.config.PostRequest:
  - 1936
  gunicorn.config.PostWorkerInit:
  - 1848
  - 1842
  gunicorn.config.Postfork:
  - 1825
  - 1830
  gunicorn.config.PreExec:
  - 1898
  - 1903
  gunicorn.config.PreRequest:
  - 1914
  - 1919
  gunicorn.config.PreRequest.pre_request:
  - 1918
  gunicorn.config.Prefork:
  - 1808
  - 1813
  gunicorn.config.SSLVersion:
  - 2129
  gunicorn.config.Setting.__init__:
  - 274
  - 275
  gunicorn.config.Setting.__repr__:
  - 327
  gunicorn.config.Setting.add_option:
  - 293
  - 296
  - 297
  - 299
  - 302
  - 305
  - 278
  - 280
  - 283
  gunicorn.config.Setting.copy:
  - 308
  gunicorn.config.Setting.set:
  - 314
  - 316
  gunicorn.config.SettingMeta.__new__:
  - 239
  - 240
  - 241
  - 242
  - 244
  - 245
  - 247
  - 248
  - 249
  gunicorn.config.SettingMeta.fmt_desc:
  - 253
  - 254
  - 255
  gunicorn.config.SyslogTo:
  - 1562
  - 1564
  - 1566
  gunicorn.config.User:
  - 1157
  gunicorn.config.WhenReady:
  - 1792
  - 1797
  gunicorn.config.WorkerAbort:
  - 1884
  - 1878
  gunicorn.config.WorkerExit:
  - 1972
  - 1967
  gunicorn.config.WorkerInt:
  - 1866
  - 1860
  gunicorn.config.Workers:
  - 649
  gunicorn.config.auto_int:
  - 41
  - 42
  - 43
  gunicorn.config.get_default_config_file:
  - 545
  - 543
  gunicorn.config.make_settings:
  - 32
  - 33
  - 35
  - 31
  gunicorn.config.validate_bool:
  - 336
  - 339
  - 341
  - 343
  - 345
  gunicorn.config.validate_callable._validate_callable:
  - 449
  - 451
  - 435
  - 437
  - 442
  - 443
  gunicorn.config.validate_chdir:
  - 505
  - 508
  - 502
  gunicorn.config.validate_class:
  - 426
  - 427
  - 428
  - 430
  gunicorn.config.validate_dict:
  - 352
  gunicorn.config.validate_file_exists:
  - 385
  - 383
  gunicorn.config.validate_group:
  - 481
  - 472
  - 473
  - 475
  - 477
  - 478
  gunicorn.config.validate_header_map_behaviour:
  - 2379
  - 2382
  - 2384
  - 2386
  - 2388
  gunicorn.config.validate_list_of_existing_files:
  - 402
  gunicorn.config.validate_list_string:
  - 395
  - 398
  - 391
  gunicorn.config.validate_pos_int:
  - 362
  - 363
  - 358
  - 359
  gunicorn.config.validate_post_request:
  - 487
  - 489
  - 490
  - 492
  - 493
  - 494
  - 495
  gunicorn.config.validate_post_request.<lambda1>:
  - 493
  gunicorn.config.validate_post_request.<lambda2>:
  - 495
  gunicorn.config.validate_reload_engine:
  - 536
  gunicorn.config.validate_ssl_version:
  - 369
  - 370
  gunicorn.config.validate_statsd_address:
  - 515
  - 516
  - 523
  - 524
  - 525
  - 528
  gunicorn.config.validate_string:
  - 377
  - 379
  - 375
  gunicorn.config.validate_string_to_addr_list:
  - 408
  - 409
  - 411
  - 406
  gunicorn.config.validate_string_to_list:
  - 417
  - 419
  - 422
  gunicorn.config.validate_user:
  - 458
  - 459
  - 460
  - 462
  - 463
  - 466
  gunicorn.debug:
  - 5
  - 15
  gunicorn.debug.Spew.__call__:
  - 33
  - 37
  - 42
  - 43
  - 44
  - 47
  - 48
  - 49
  - 50
  - 51
  - 52
  - 53
  - 54
  - 25
  - 27
  - 29
  - 30
  gunicorn.debug.spew:
  - 59
  - 62
  gunicorn.debug.unspew:
  - 66
  - 68
  gunicorn.errors.AppImportError:
  - 28
  gunicorn.errors.ConfigError:
  - 24
  gunicorn.glogging.Logger.__init__:
  - 184
  - 193
  - 186
  - 191
  gunicorn.glogging.Logger._get_gunicorn_handler:
  - 405
  - 406
  gunicorn.glogging.Logger._get_user:
  - 461
  - 462
  - 463
  - 464
  - 468
  - 470
  - 472
  gunicorn.glogging.Logger._set_handler:
  - 416
  - 417
  - 419
  - 420
  - 423
  - 429
  - 431
  - 411
  - 412
  - 413
  - 415
  gunicorn.glogging.Logger._set_syslog_handler:
  - 449
  - 452
  - 455
  - 457
  - 435
  - 440
  - 444
  gunicorn.glogging.Logger.access:
  - 357
  - 358
  - 362
  - 364
  - 345
  - 349
  gunicorn.glogging.Logger.atoms:
  - 291
  - 294
  - 295
  - 297
  - 299
  - 300
  - 305
  - 306
  - 307
  - 308
  - 309
  - 310
  - 311
  - 312
  - 315
  - 317
  - 321
  - 326
  - 327
  - 329
  - 332
  - 333
  - 336
  - 339
  - 340
  gunicorn.glogging.Logger.close_on_exec:
  - 394
  - 395
  - 396
  - 397
  - 399
  - 400
  - 402
  gunicorn.glogging.Logger.critical:
  - 268
  gunicorn.glogging.Logger.debug:
  - 280
  gunicorn.glogging.Logger.error:
  - 271
  gunicorn.glogging.Logger.exception:
  - 283
  gunicorn.glogging.Logger.info:
  - 277
  gunicorn.glogging.Logger.log:
  - 288
  - 286
  - 287
  gunicorn.glogging.Logger.now:
  - 368
  - 367
  gunicorn.glogging.Logger.reopen_files:
  - 384
  - 385
  - 387
  - 388
  - 389
  - 391
  - 371
  - 372
  - 373
  - 376
  - 377
  - 378
  - 379
  - 380
  - 382
  - 383
  gunicorn.glogging.Logger.setup:
  - 256
  - 257
  - 258
  - 260
  - 261
  - 196
  - 197
  - 198
  - 201
  - 202
  - 203
  - 205
  - 206
  - 207
  - 209
  - 210
  - 213
  - 214
  - 216
  - 220
  - 221
  - 224
  - 225
  - 229
  - 230
  - 231
  - 233
  - 241
  - 242
  - 243
  - 245
  - 246
  - 247
  gunicorn.glogging.Logger.warning:
  - 274
  gunicorn.glogging.SafeAtoms.__getitem__:
  - 106
  - 107
  - 108
  - 109
  - 112
  - 113
  gunicorn.glogging.SafeAtoms.__init__:
  - 98
  - 99
  - 100
  - 101
  gunicorn.glogging.loggers:
  - 89
  - 91
  - 92
  gunicorn.glogging.parse_syslog_address:
  - 129
  - 132
  - 134
  - 135
  - 137
  - 138
  - 143
  - 144
  - 145
  - 146
  - 147
  - 150
  - 152
  - 153
  - 154
  - 155
  - 157
  - 122
  - 126
  - 127
  gunicorn.http.body.Body.__init__:
  - 186
  gunicorn.http.body.Body.__next__:
  - 192
  - 193
  gunicorn.http.body.Body.getsize:
  - 200
  - 202
  - 204
  gunicorn.http.body.Body.read:
  - 224
  - 226
  - 228
  - 229
  - 209
  - 210
  - 213
  - 214
  - 216
  - 217
  - 220
  - 221
  - 222
  gunicorn.http.body.Body.readline:
  - 233
  - 234
  - 237
  - 238
  - 242
  - 243
  - 244
  - 245
  - 246
  - 249
  - 250
  - 251
  - 252
  - 255
  gunicorn.http.body.Body.readlines:
  - 259
  - 261
  - 262
  - 263
  - 267
  gunicorn.http.body.ChunkedReader.__init__:
  - 16
  - 15
  gunicorn.http.body.ChunkedReader.get_data:
  - 112
  - 109
  - 110
  gunicorn.http.body.ChunkedReader.parse_chunk_size:
  - 96
  - 98
  - 100
  - 102
  - 78
  - 79
  - 80
  - 82
  - 84
  - 85
  - 87
  - 91
  - 92
  - 93
  - 94
  gunicorn.http.body.ChunkedReader.parse_chunked:
  - 65
  - 68
  - 69
  - 70
  - 73
  - 75
  - 57
  - 59
  - 60
  - 61
  - 62
  - 63
  gunicorn.http.body.ChunkedReader.parse_trailers:
  - 41
  - 42
  - 44
  - 45
  - 47
  - 48
  - 49
  - 50
  - 51
  - 53
  - 54
  gunicorn.http.body.ChunkedReader.read:
  - 34
  - 36
  - 37
  - 19
  - 21
  - 23
  - 26
  - 27
  - 29
  gunicorn.http.body.EOFReader.__init__:
  - 148
  gunicorn.http.body.EOFReader.read:
  - 160
  - 162
  - 163
  - 166
  - 168
  - 169
  - 171
  - 173
  - 176
  - 178
  - 179
  - 152
  - 154
  - 156
  - 159
  gunicorn.http.body.LengthReader.read:
  - 130
  - 131
  - 133
  - 134
  - 136
  - 138
  - 140
  - 121
  - 124
  - 125
  - 127
  gunicorn.http.message:
  - 26
  - 27
  - 29
  - 30
  gunicorn.http.message.Message.__init__:
  - 48
  - 52
  - 60
  - 61
  - 62
  gunicorn.http.message.Message.parse_headers:
  - 129
  - 132
  - 135
  - 138
  - 139
  - 150
  - 151
  - 154
  - 157
  - 165
  - 75
  - 81
  - 85
  - 86
  - 94
  - 98
  - 99
  - 100
  - 102
  - 103
  - 104
  - 105
  - 112
  - 114
  - 117
  - 119
  - 121
  - 122
  - 123
  - 126
  - 127
  gunicorn.http.message.Message.set_body_reader:
  - 173
  - 174
  - 175
  - 178
  - 181
  - 182
  - 183
  - 185
  - 188
  - 191
  - 193
  - 195
  - 197
  - 201
  - 205
  - 208
  - 212
  - 213
  - 215
  - 216
  - 222
  - 225
  - 227
  gunicorn.http.message.Message.should_close:
  - 230
  - 232
  - 233
  - 234
  - 235
  - 237
  gunicorn.http.message.Request.__init__:
  - 259
  - 253
  gunicorn.http.message.Request.get_data:
  - 264
  - 267
  - 262
  - 263
  gunicorn.http.message.Request.parse:
  - 270
  - 271
  - 274
  - 277
  - 279
  - 280
  - 281
  - 283
  - 284
  - 285
  - 288
  - 289
  - 293
  - 296
  - 297
  - 298
  - 299
  - 304
  - 305
  - 308
  gunicorn.http.message.Request.parse_proxy_protocol:
  - 388
  - 389
  - 361
  - 393
  - 363
  - 372
  - 374
  - 376
  - 377
  - 380
  - 382
  - 383
  gunicorn.http.message.Request.parse_request_line:
  - 416
  - 439
  - 418
  - 451
  - 452
  - 421
  - 454
  - 455
  - 425
  - 426
  - 457
  - 406
  - 407
  - 443
  - 415
  gunicorn.http.message.Request.proxy_protocol:
  - 333
  - 339
  - 342
  - 345
  - 348
  - 349
  gunicorn.http.message.Request.proxy_protocol_access_check:
  - 355
  - 356
  gunicorn.http.message.Request.read_line:
  - 321
  - 324
  - 326
  - 327
  - 315
  - 318
  - 319
  gunicorn.http.message.Request.set_body_reader:
  - 461
  - 462
  - 463
  gunicorn.http.parser.Parser.__init__:
  - 16
  - 18
  - 15
  gunicorn.http.parser.Parser.__next__:
  - 34
  - 35
  - 37
  - 41
  - 42
  - 30
  gunicorn.http.unreader.IterUnreader.__init__:
  - 68
  - 69
  gunicorn.http.unreader.IterUnreader.chunk:
  - 72
  - 75
  gunicorn.http.unreader.SocketUnreader.__init__:
  - 58
  gunicorn.http.unreader.SocketUnreader.chunk:
  - 63
  gunicorn.http.unreader.Unreader.__init__:
  - 14
  gunicorn.http.unreader.Unreader.read:
  - 20
  - 23
  - 24
  - 26
  - 29
  - 31
  - 32
  - 33
  - 35
  - 36
  - 39
  - 40
  - 41
  - 42
  - 43
  - 45
  - 46
  - 47
  - 48
  gunicorn.http.unreader.Unreader.unread:
  - 52
  - 53
  gunicorn.http.wsgi:
  - 24
  - 22
  gunicorn.http.wsgi.FileWrapper.__getitem__:
  - 36
  - 37
  gunicorn.http.wsgi.FileWrapper.__init__:
  - 32
  gunicorn.http.wsgi.Response.close:
  - 400
  - 401
  - 398
  - 399
  gunicorn.http.wsgi.Response.default_headers:
  - 320
  - 305
  - 307
  - 316
  - 319
  gunicorn.http.wsgi.Response.is_chunked:
  - 297
  - 290
  - 292
  - 294
  gunicorn.http.wsgi.Response.process_headers:
  - 256
  - 259
  - 262
  - 265
  - 269
  - 270
  - 271
  - 272
  - 273
  - 274
  - 276
  - 278
  - 279
  - 280
  - 284
  - 255
  gunicorn.http.wsgi.Response.send_headers:
  - 324
  - 326
  - 327
  - 329
  - 330
  gunicorn.http.wsgi.Response.sendfile:
  - 385
  - 386
  - 388
  - 360
  - 363
  - 366
  - 368
  - 369
  - 370
  - 377
  - 379
  - 381
  - 382
  - 383
  gunicorn.http.wsgi.Response.should_close:
  - 224
  - 226
  - 220
  - 222
  gunicorn.http.wsgi.Response.start_response:
  - 231
  - 233
  - 234
  - 237
  - 246
  - 250
  - 251
  gunicorn.http.wsgi.Response.write:
  - 354
  - 334
  - 335
  - 337
  - 339
  - 340
  - 344
  - 345
  - 350
  gunicorn.http.wsgi.Response.write_file:
  - 393
  - 394
  - 395
  gunicorn.http.wsgi.WSGIErrorsWrapper.__init__:
  - 48
  - 52
  - 53
  - 56
  - 57
  - 58
  gunicorn.http.wsgi.WSGIErrorsWrapper.write:
  - 65
  - 66
  - 61
  - 63
  gunicorn.http.wsgi.base_environ:
  - 71
  gunicorn.http.wsgi.create:
  - 128
  - 130
  - 133
  - 139
  - 140
  - 151
  - 153
  - 154
  - 157
  - 163
  - 164
  - 165
  - 167
  - 168
  - 169
  - 170
  - 171
  - 172
  - 173
  - 175
  - 179
  - 181
  - 185
  - 186
  - 190
  - 191
  - 196
  - 111
  - 114
  - 118
  - 121
  - 122
  - 124
  - 125
  - 126
  gunicorn.http.wsgi.default_environ:
  - 83
  - 84
  gunicorn.http.wsgi.proxy_environ:
  - 104
  - 98
  - 106
  gunicorn.instrument.statsd:
  - 5
  gunicorn.instrument.statsd.Statsd:
  - 23
  gunicorn.instrument.statsd.Statsd.__init__:
  - 35
  - 36
  - 26
  - 27
  - 29
  gunicorn.instrument.statsd.Statsd._sock_send:
  - 128
  - 129
  - 131
  - 132
  - 134
  - 124
  - 125
  gunicorn.instrument.statsd.Statsd.access:
  - 97
  - 98
  - 100
  - 101
  - 102
  - 103
  - 104
  - 105
  - 106
  - 94
  gunicorn.instrument.statsd.Statsd.critical:
  - 44
  - 45
  gunicorn.instrument.statsd.Statsd.debug:
  - 65
  gunicorn.instrument.statsd.Statsd.decrement:
  - 117
  gunicorn.instrument.statsd.Statsd.error:
  - 48
  - 49
  gunicorn.instrument.statsd.Statsd.exception:
  - 56
  - 57
  gunicorn.instrument.statsd.Statsd.gauge:
  - 111
  gunicorn.instrument.statsd.Statsd.histogram:
  - 120
  gunicorn.instrument.statsd.Statsd.increment:
  - 114
  gunicorn.instrument.statsd.Statsd.info:
  - 61
  gunicorn.instrument.statsd.Statsd.log:
  - 68
  - 71
  - 72
  - 73
  - 74
  - 75
  - 76
  - 77
  - 78
  - 79
  - 80
  - 81
  - 82
  - 87
  - 88
  - 90
  gunicorn.instrument.statsd.Statsd.warning:
  - 52
  - 53
  gunicorn.pidfile.Pidfile:
  - 11
  gunicorn.pidfile.Pidfile.create:
  - 32
  - 33
  - 35
  - 36
  - 37
  - 38
  - 41
  - 44
  - 22
  - 23
  - 24
  gunicorn.pidfile.Pidfile.rename:
  - 49
  - 47
  gunicorn.pidfile.Pidfile.unlink:
  - 52
  - 54
  - 55
  - 57
  - 58
  gunicorn.pidfile.Pidfile.validate:
  - 64
  - 67
  - 69
  - 74
  - 77
  - 79
  - 83
  - 63
  gunicorn.reloader:
  - 57
  - 66
  - 13
  gunicorn.reloader.InotifyReloader.__init__:
  - 75
  - 78
  - 79
  - 81
  - 82
  gunicorn.reloader.InotifyReloader.add_extra_file:
  - 90
  - 91
  - 85
  - 87
  gunicorn.reloader.InotifyReloader.get_dirs:
  - 96
  - 97
  - 100
  - 95
  gunicorn.reloader.InotifyReloader.run:
  - 103
  - 105
  - 106
  - 107
  - 109
  - 110
  - 115
  gunicorn.reloader.Reloader.__init__:
  - 18
  - 20
  gunicorn.reloader.Reloader.add_extra_file:
  - 25
  gunicorn.reloader.Reloader.get_files:
  - 34
  - 29
  - 30
  - 31
  gunicorn.reloader.Reloader.run:
  - 41
  - 43
  - 46
  - 47
  - 50
  - 51
  - 52
  - 53
  gunicorn.sock.BaseSocket.__getattr__:
  - 37
  gunicorn.sock.BaseSocket.__init__:
  - 23
  - 24
  - 27
  - 28
  - 31
  gunicorn.sock.BaseSocket.__str__:
  - 34
  gunicorn.sock.BaseSocket.bind:
  - 60
  gunicorn.sock.BaseSocket.close:
  - 67
  - 69
  - 63
  gunicorn.sock.BaseSocket.set_options:
  - 40
  - 41
  - 42
  - 44
  - 46
  - 48
  - 49
  - 50
  - 53
  - 54
  - 56
  gunicorn.sock.TCP6Socket.__str__:
  - 97
  gunicorn.sock.TCPSocket.__str__:
  - 84
  - 79
  gunicorn.sock.TCPSocket.set_options:
  - 88
  - 89
  gunicorn.sock.UnixSocket.__init__:
  - 106
  - 108
  - 110
  - 113
  - 114
  - 117
  gunicorn.sock.UnixSocket.bind:
  - 123
  - 124
  - 125
  - 126
  gunicorn.sock._sock_type:
  - 130
  - 131
  - 135
  gunicorn.sock.close_sockets:
  - 208
  - 209
  - 210
  - 211
  - 212
  gunicorn.sock.create_sockets:
  - 143
  - 154
  - 155
  - 156
  - 157
  - 161
  - 164
  - 168
  - 169
  - 170
  - 171
  - 172
  - 173
  - 174
  - 179
  - 180
  - 182
  - 184
  - 186
  - 187
  - 188
  - 189
  - 191
  - 192
  - 193
  - 194
  - 198
  - 199
  - 200
  - 202
  gunicorn.sock.ssl_context:
  - 224
  gunicorn.sock.ssl_context.default_ssl_context_factory:
  - 217
  - 218
  - 220
  - 221
  gunicorn.sock.ssl_wrap_socket:
  - 228
  gunicorn.systemd.listen_fds:
  - 35
  - 36
  - 38
  - 41
  - 42
  - 43
  - 12
  gunicorn.systemd.sd_notify:
  - 65
  - 66
  - 68
  - 69
  - 71
  - 73
  - 74
  - 75
  - 49
  - 60
  - 61
  gunicorn.util:
  - 33
  - 43
  - 163
  gunicorn.util._called_with_wrong_args:
  - 344
  - 340
  - 333
  gunicorn.util._setproctitle:
  - 53
  gunicorn.util._unlink:
  - 198
  gunicorn.util._waitfor:
  - 192
  - 194
  - 166
  - 168
  - 171
  - 188
  - 189
  gunicorn.util.bytes_to_str:
  - 643
  - 645
  gunicorn.util.check_is_writable:
  - 562
  - 563
  gunicorn.util.chown:
  - 160
  gunicorn.util.close:
  - 266
  gunicorn.util.close_on_exec:
  - 256
  - 254
  gunicorn.util.closerange:
  - 276
  - 278
  gunicorn.util.daemonize:
  - 512
  - 513
  - 514
  - 549
  - 550
  - 468
  - 472
  - 473
  - 474
  - 475
  - 477
  - 478
  - 480
  - 488
  - 493
  - 495
  - 497
  - 500
  - 501
  - 503
  - 504
  - 507
  gunicorn.util.daemonize.redirect:
  - 544
  - 545
  - 542
  - 543
  gunicorn.util.get_arity:
  - 128
  - 129
  - 125
  gunicorn.util.get_username:
  - 136
  - 137
  gunicorn.util.getcwd:
  - 449
  - 451
  - 444
  - 445
  - 446
  gunicorn.util.has_fileno:
  - 584
  - 579
  gunicorn.util.http_date:
  - 456
  - 457
  - 458
  - 459
  gunicorn.util.import_app:
  - 385
  - 417
  - 387
  - 419
  - 359
  - 360
  - 424
  - 394
  - 395
  - 366
  - 368
  - 433
  - 436
  - 376
  - 409
  - 411
  - 412
  - 382
  gunicorn.util.is_hoppish:
  - 464
  gunicorn.util.is_ipv6:
  - 214
  gunicorn.util.load_class:
  - 99
  - 70
  - 103
  - 72
  - 74
  - 107
  - 76
  - 110
  - 112
  - 82
  - 115
  - 84
  - 88
  - 89
  - 91
  - 94
  - 95
  gunicorn.util.load_entry_point:
  - 65
  - 60
  - 63
  gunicorn.util.make_fail_app:
  - 605
  gunicorn.util.make_fail_app.app:
  - 608
  - 610
  gunicorn.util.parse_address:
  - 224
  - 226
  - 229
  - 233
  - 234
  - 237
  - 238
  - 239
  - 240
  - 241
  - 242
  - 246
  - 250
  - 223
  gunicorn.util.reraise:
  - 632
  - 633
  - 634
  gunicorn.util.seed:
  - 555
  - 557
  gunicorn.util.set_non_blocking:
  - 260
  - 261
  gunicorn.util.set_owner_process:
  - 141
  - 143
  - 144
  - 146
  - 150
  - 151
  - 152
  - 153
  - 155
  - 156
  gunicorn.util.split_request_uri:
  - 624
  - 618
  - 626
  - 623
  gunicorn.util.to_bytestring:
  - 569
  - 570
  - 572
  - 575
  gunicorn.util.unlink:
  - 208
  - 205
  gunicorn.util.unquote_to_wsgi_str:
  - 649
  gunicorn.util.warn:
  - 592
  - 594
  - 595
  - 596
  - 598
  - 600
  - 601
  gunicorn.util.write:
  - 292
  - 293
  - 294
  gunicorn.util.write_chunk:
  - 288
  - 284
  - 285
  - 286
  - 287
  gunicorn.util.write_error:
  - 320
  - 322
  - 328
  - 329
  - 310
  gunicorn.util.write_nonblock:
  - 298
  - 299
  - 301
  - 302
  - 304
  - 306
  gunicorn.workers.base.Worker:
  - 32
  - 33
  gunicorn.workers.base.Worker.__init__:
  - 65
  - 57
  - 58
  - 39
  gunicorn.workers.base.Worker.handle_abort:
  - 203
  - 204
  gunicorn.workers.base.Worker.handle_error:
  - 256
  - 260
  - 262
  - 263
  - 265
  - 270
  - 271
  - 272
  - 274
  - 275
  - 277
  - 278
  - 281
  - 283
  - 207
  - 209
  - 222
  - 223
  - 224
  - 225
  - 226
  - 227
  - 228
  - 229
  - 231
  - 232
  - 234
  - 235
  - 236
  - 237
  - 238
  - 240
  - 241
  - 242
  - 244
  - 246
  - 247
  - 248
  - 252
  - 253
  - 254
  gunicorn.workers.base.Worker.handle_quit:
  - 197
  - 198
  - 199
  gunicorn.workers.base.Worker.handle_usr1:
  - 189
  gunicorn.workers.base.Worker.handle_winch:
  - 287
  gunicorn.workers.base.Worker.init_process:
  - 132
  - 135
  - 136
  - 137
  - 139
  - 143
  - 87
  - 94
  - 95
  - 98
  - 102
  - 105
  - 106
  - 107
  - 108
  - 111
  - 112
  - 113
  - 117
  - 119
  - 122
  gunicorn.workers.base.Worker.init_process.changed:
  - 128
  - 129
  - 124
  - 126
  - 127
  gunicorn.workers.base.Worker.init_signals:
  - 170
  - 171
  - 173
  - 174
  - 175
  - 176
  - 177
  - 178
  - 182
  - 183
  - 185
  - 186
  gunicorn.workers.base.Worker.load_wsgi:
  - 160
  - 162
  - 163
  - 164
  - 147
  - 149
  - 152
  - 159
  gunicorn.workers.base.Worker.notify:
  - 76
  - 71
  gunicorn.workers.base.Worker.run:
  - 79
  gunicorn.workers.base_async:
  - 16
  gunicorn.workers.base_async.AsyncWorker.__init__:
  - 22
  gunicorn.workers.base_async.AsyncWorker.handle:
  - 35
  - 37
  - 38
  - 39
  - 40
  - 46
  - 47
  - 48
  - 50
  - 54
  - 56
  - 58
  - 61
  - 64
  - 66
  - 68
  - 69
  - 70
  - 72
  - 73
  - 75
  - 76
  - 78
  - 79
  - 80
  - 81
  - 83
  - 85
  - 87
  gunicorn.workers.base_async.AsyncWorker.handle_request:
  - 129
  - 131
  - 134
  - 136
  - 137
  - 144
  - 146
  - 90
  - 94
  - 95
  - 99
  - 100
  - 101
  - 104
  - 105
  - 107
  - 108
  - 111
  - 112
  - 114
  - 115
  - 116
  - 118
  - 119
  - 120
  - 121
  - 122
  gunicorn.workers.geventlet:
  - 27
  - 28
  - 14
  gunicorn.workers.geventlet.EventletWorker.handle:
  - 154
  - 155
  - 156
  gunicorn.workers.geventlet.EventletWorker.handle_quit:
  - 145
  gunicorn.workers.geventlet.EventletWorker.handle_usr1:
  - 148
  gunicorn.workers.geventlet.EventletWorker.init_process:
  - 141
  - 142
  gunicorn.workers.geventlet.EventletWorker.is_already_handled:
  - 136
  - 138
  - 133
  gunicorn.workers.geventlet.EventletWorker.patch:
  - 128
  - 129
  - 127
  gunicorn.workers.geventlet.EventletWorker.run:
  - 160
  - 161
  - 162
  - 163
  - 164
  - 167
  - 168
  - 171
  - 172
  - 174
  - 177
  - 178
  - 179
  - 180
  - 181
  - 183
  - 185
  - 186
  gunicorn.workers.geventlet.EventletWorker.timeout_ctx:
  - 151
  gunicorn.workers.geventlet._eventlet_serve:
  - 70
  - 77
  - 78
  - 82
  - 83
  - 84
  - 87
  - 88
  gunicorn.workers.geventlet._eventlet_socket_sendfile:
  - 65
  - 34
  - 66
  - 36
  - 37
  - 38
  - 45
  - 46
  - 47
  - 49
  - 50
  - 54
  - 59
  gunicorn.workers.geventlet._eventlet_stop:
  - 101
  - 107
  - 93
  - 103
  gunicorn.workers.geventlet.patch_sendfile:
  - 120
  gunicorn.workers.ggevent:
  - 17
  gunicorn.workers.ggevent.GeventPyWSGIWorker:
  - 191
  gunicorn.workers.ggevent.GeventWorker.handle:
  - 122
  - 123
  gunicorn.workers.ggevent.GeventWorker.handle_quit:
  - 136
  gunicorn.workers.ggevent.GeventWorker.handle_request:
  - 127
  gunicorn.workers.ggevent.GeventWorker.handle_usr1:
  - 141
  gunicorn.workers.ggevent.GeventWorker.init_process:
  - 144
  - 145
  - 146
  gunicorn.workers.ggevent.GeventWorker.notify:
  - 48
  - 49
  - 50
  - 51
  gunicorn.workers.ggevent.GeventWorker.patch:
  - 42
  - 43
  - 44
  - 38
  gunicorn.workers.ggevent.GeventWorker.run:
  - 60
  - 61
  - 63
  - 64
  - 65
  - 66
  - 67
  - 68
  - 72
  - 77
  - 78
  - 79
  - 82
  - 83
  - 86
  - 87
  - 91
  - 92
  - 93
  - 94
  - 95
  - 98
  - 99
  - 101
  - 102
  - 106
  - 109
  - 110
  - 113
  - 114
  - 115
  gunicorn.workers.ggevent.GeventWorker.timeout_ctx:
  - 54
  gunicorn.workers.ggevent.PyWSGIHandler.get_environ:
  - 180
  gunicorn.workers.ggevent.PyWSGIHandler.log_request:
  - 164
  - 165
  - 167
  - 171
  - 172
  - 173
  - 174
  - 177
  gunicorn.workers.gthread.TConn.__init__:
  - 46
  gunicorn.workers.gthread.TConn.close:
  - 65
  gunicorn.workers.gthread.TConn.init:
  - 50
  - 52
  - 54
  - 55
  - 58
  gunicorn.workers.gthread.TConn.set_timeout:
  - 62
  gunicorn.workers.gthread.ThreadWorker.__init__:
  - 79
  - 78
  - 71
  gunicorn.workers.gthread.ThreadWorker._wrap_future:
  - 110
  - 111
  gunicorn.workers.gthread.ThreadWorker.accept:
  - 128
  - 129
  - 131
  - 121
  - 123
  gunicorn.workers.gthread.ThreadWorker.check_config:
  - 86
  - 87
  gunicorn.workers.gthread.ThreadWorker.enqueue_req:
  - 114
  - 116
  - 117
  gunicorn.workers.gthread.ThreadWorker.finish_request:
  - 256
  - 258
  - 261
  - 262
  - 265
  - 270
  - 242
  - 244
  - 248
  - 251
  - 253
  gunicorn.workers.gthread.ThreadWorker.get_thread_pool:
  - 97
  - 98
  gunicorn.workers.gthread.ThreadWorker.handle:
  - 276
  - 277
  - 281
  - 282
  - 285
  - 288
  - 290
  - 291
  - 292
  - 294
  - 295
  - 298
  - 299
  - 301
  - 302
  - 303
  - 304
  - 306
  - 308
  gunicorn.workers.gthread.ThreadWorker.handle_quit:
  - 104
  - 105
  - 106
  - 103
  gunicorn.workers.gthread.ThreadWorker.handle_request:
  - 316
  - 317
  - 318
  - 322
  - 323
  - 324
  - 326
  - 328
  - 329
  - 330
  - 331
  - 333
  - 335
  - 336
  - 338
  - 339
  - 341
  - 343
  - 344
  - 345
  - 346
  - 348
  - 349
  - 353
  - 355
  - 358
  - 360
  - 361
  - 368
  - 370
  gunicorn.workers.gthread.ThreadWorker.init_process:
  - 91
  - 92
  - 93
  - 94
  gunicorn.workers.gthread.ThreadWorker.is_parent_alive:
  - 188
  - 189
  gunicorn.workers.gthread.ThreadWorker.murder_keepalived:
  - 162
  - 165
  - 172
  - 174
  - 152
  - 157
  - 184
  gunicorn.workers.gthread.ThreadWorker.on_client_socket_readable:
  - 138
  - 140
  - 149
  - 143
  gunicorn.workers.gthread.ThreadWorker.run:
  - 195
  - 196
  - 199
  - 200
  - 201
  - 205
  - 208
  - 210
  - 211
  - 213
  - 216
  - 220
  - 224
  - 225
  - 227
  - 231
  - 233
  - 234
  - 236
  - 237
  - 239
  gunicorn.workers.gtornado.TornadoWorker.handle_exit:
  - 45
  - 46
  gunicorn.workers.gtornado.TornadoWorker.handle_request:
  - 50
  - 51
  gunicorn.workers.gtornado.TornadoWorker.heartbeat:
  - 64
  - 65
  - 67
  - 72
  - 73
  - 74
  - 75
  - 77
  - 78
  - 63
  gunicorn.workers.gtornado.TornadoWorker.init_process:
  - 85
  - 86
  gunicorn.workers.gtornado.TornadoWorker.run:
  - 141
  - 142
  - 143
  - 145
  - 146
  - 148
  - 149
  - 151
  - 156
  - 157
  - 158
  - 159
  - 160
  - 161
  - 164
  - 166
  - 89
  - 93
  - 95
  - 96
  - 97
  - 98
  - 100
  - 101
  - 108
  - 109
  - 110
  - 111
  - 112
  - 113
  - 114
  - 121
  gunicorn.workers.gtornado.TornadoWorker.run._HTTPServer.on_close:
  - 136
  - 137
  gunicorn.workers.gtornado.TornadoWorker.run.finish:
  - 125
  - 126
  gunicorn.workers.gtornado.TornadoWorker.setup:
  - 34
  gunicorn.workers.gtornado.TornadoWorker.setup.clear:
  - 38
  - 39
  gunicorn.workers.gtornado.TornadoWorker.watchdog:
  - 56
  - 58
  - 59
  - 55
  gunicorn.workers.sync.StopWaiting:
  - 22
  gunicorn.workers.sync.SyncWorker.accept:
  - 28
  - 29
  - 30
  - 31
  gunicorn.workers.sync.SyncWorker.handle:
  - 130
  - 131
  - 132
  - 133
  - 134
  - 136
  - 138
  - 140
  - 141
  - 142
  - 144
  - 145
  - 147
  - 148
  - 150
  - 151
  - 152
  - 153
  - 155
  - 157
  - 159
  gunicorn.workers.sync.SyncWorker.handle_request:
  - 165
  - 166
  - 167
  - 168
  - 172
  - 174
  - 175
  - 177
  - 179
  - 180
  - 182
  - 183
  - 184
  - 186
  - 187
  - 188
  - 189
  - 192
  - 194
  - 197
  - 199
  - 200
  - 207
  - 209
  gunicorn.workers.sync.SyncWorker.is_parent_alive:
  - 54
  - 55
  gunicorn.workers.sync.SyncWorker.run:
  - 119
  - 120
  - 122
  - 123
  - 125
  gunicorn.workers.sync.SyncWorker.run_for_multiple:
  - 97
  - 98
  - 99
  - 103
  - 105
  - 109
  - 90
  - 93
  gunicorn.workers.sync.SyncWorker.run_for_one:
  - 69
  - 76
  - 80
  - 84
  - 62
  gunicorn.workers.sync.SyncWorker.wait:
  - 35
  - 36
  - 37
  - 38
  - 39
  - 43
  - 45
  - 46
  gunicorn.workers.workertmp:
  - 12
  - 13
  gunicorn.workers.workertmp.WorkerTmp.__init__:
  - 33
  - 34
  - 37
  - 39
  - 19
  - 21
  - 23
  - 24
  - 28
  - 29
  gunicorn.workers.workertmp.WorkerTmp.close:
  - 53
  gunicorn.workers.workertmp.WorkerTmp.fileno:
  - 50
  gunicorn.workers.workertmp.WorkerTmp.last_update:
  - 47
  gunicorn.workers.workertmp.WorkerTmp.notify:
  - 43
  - 44
Fuzzer filename: /src/fuzz_util.py
Inheritance:
  gunicorn.app.base.Application:
  - BaseApplication
  gunicorn.app.base.BaseApplication: []
  gunicorn.app.pasterapp.serve.PasterServerApplication:
  - WSGIApplication
  gunicorn.app.wsgiapp.WSGIApplication:
  - Application
  gunicorn.arbiter.Arbiter: []
  gunicorn.config.AccessLog:
  - Setting
  gunicorn.config.AccessLogFormat:
  - Setting
  gunicorn.config.Backlog:
  - Setting
  gunicorn.config.Bind:
  - Setting
  gunicorn.config.CACerts:
  - Setting
  gunicorn.config.CaptureOutput:
  - Setting
  gunicorn.config.CasefoldHTTPMethod:
  - Setting
  gunicorn.config.CertFile:
  - Setting
  gunicorn.config.CertReqs:
  - Setting
  gunicorn.config.Chdir:
  - Setting
  gunicorn.config.ChildExit:
  - Setting
  gunicorn.config.Ciphers:
  - Setting
  gunicorn.config.Config: []
  gunicorn.config.ConfigCheck:
  - Setting
  gunicorn.config.ConfigFile:
  - Setting
  gunicorn.config.Daemon:
  - Setting
  gunicorn.config.DefaultProcName:
  - Setting
  gunicorn.config.DisableRedirectAccessToSyslog:
  - Setting
  gunicorn.config.DoHandshakeOnConnect:
  - Setting
  gunicorn.config.DogstatsdTags:
  - Setting
  gunicorn.config.EnableStdioInheritance:
  - Setting
  gunicorn.config.Env:
  - Setting
  gunicorn.config.ErrorLog:
  - Setting
  gunicorn.config.ForwardedAllowIPS:
  - Setting
  gunicorn.config.ForwarderHeaders:
  - Setting
  gunicorn.config.GracefulTimeout:
  - Setting
  gunicorn.config.Group:
  - Setting
  gunicorn.config.HeaderMap:
  - Setting
  gunicorn.config.Initgroups:
  - Setting
  gunicorn.config.Keepalive:
  - Setting
  gunicorn.config.KeyFile:
  - Setting
  gunicorn.config.LimitRequestFieldSize:
  - Setting
  gunicorn.config.LimitRequestFields:
  - Setting
  gunicorn.config.LimitRequestLine:
  - Setting
  gunicorn.config.LogConfig:
  - Setting
  gunicorn.config.LogConfigDict:
  - Setting
  gunicorn.config.LogConfigJson:
  - Setting
  gunicorn.config.LoggerClass:
  - Setting
  gunicorn.config.Loglevel:
  - Setting
  gunicorn.config.MaxRequests:
  - Setting
  gunicorn.config.MaxRequestsJitter:
  - Setting
  gunicorn.config.NewSSLContext:
  - Setting
  gunicorn.config.NumWorkersChanged:
  - Setting
  gunicorn.config.OnExit:
  - Setting
  gunicorn.config.OnReload:
  - Setting
  gunicorn.config.OnStarting:
  - Setting
  gunicorn.config.Paste:
  - Setting
  gunicorn.config.PasteGlobalConf:
  - Setting
  gunicorn.config.PermitObsoleteFolding:
  - Setting
  gunicorn.config.PermitUnconventionalHTTPMethod:
  - Setting
  gunicorn.config.PermitUnconventionalHTTPVersion:
  - Setting
  gunicorn.config.Pidfile:
  - Setting
  gunicorn.config.PostRequest:
  - Setting
  gunicorn.config.PostWorkerInit:
  - Setting
  gunicorn.config.Postfork:
  - Setting
  gunicorn.config.PreExec:
  - Setting
  gunicorn.config.PreRequest:
  - Setting
  gunicorn.config.Prefork:
  - Setting
  gunicorn.config.PreloadApp:
  - Setting
  gunicorn.config.PrintConfig:
  - Setting
  gunicorn.config.Procname:
  - Setting
  gunicorn.config.ProxyAllowFrom:
  - Setting
  gunicorn.config.ProxyProtocol:
  - Setting
  gunicorn.config.PythonPath:
  - Setting
  gunicorn.config.Reload:
  - Setting
  gunicorn.config.ReloadEngine:
  - Setting
  gunicorn.config.ReloadExtraFiles:
  - Setting
  gunicorn.config.ReusePort:
  - Setting
  gunicorn.config.SSLVersion:
  - Setting
  gunicorn.config.SecureSchemeHeader:
  - Setting
  gunicorn.config.Sendfile:
  - Setting
  gunicorn.config.Setting: []
  gunicorn.config.SettingMeta:
  - type
  gunicorn.config.Spew:
  - Setting
  gunicorn.config.StatsdHost:
  - Setting
  gunicorn.config.StatsdPrefix:
  - Setting
  gunicorn.config.StripHeaderSpaces:
  - Setting
  gunicorn.config.SuppressRaggedEOFs:
  - Setting
  gunicorn.config.Syslog:
  - Setting
  gunicorn.config.SyslogFacility:
  - Setting
  gunicorn.config.SyslogPrefix:
  - Setting
  gunicorn.config.SyslogTo:
  - Setting
  gunicorn.config.Timeout:
  - Setting
  gunicorn.config.TmpUploadDir:
  - Setting
  gunicorn.config.Umask:
  - Setting
  gunicorn.config.User:
  - Setting
  gunicorn.config.WSGIApp:
  - Setting
  gunicorn.config.WhenReady:
  - Setting
  gunicorn.config.WorkerAbort:
  - Setting
  gunicorn.config.WorkerClass:
  - Setting
  gunicorn.config.WorkerConnections:
  - Setting
  gunicorn.config.WorkerExit:
  - Setting
  gunicorn.config.WorkerInt:
  - Setting
  gunicorn.config.WorkerThreads:
  - Setting
  gunicorn.config.WorkerTmpDir:
  - Setting
  gunicorn.config.Workers:
  - Setting
  gunicorn.debug.Spew: []
  gunicorn.errors.AppImportError:
  - Exception
  gunicorn.errors.ConfigError:
  - Exception
  gunicorn.errors.HaltServer:
  - BaseException
  gunicorn.glogging.Logger: []
  gunicorn.glogging.SafeAtoms:
  - dict
  gunicorn.http.body.Body: []
  gunicorn.http.body.ChunkedReader: []
  gunicorn.http.body.EOFReader: []
  gunicorn.http.body.LengthReader: []
  gunicorn.http.errors.ChunkMissingTerminator:
  - IOError
  gunicorn.http.errors.ConfigurationProblem:
  - ParseException
  gunicorn.http.errors.ForbiddenProxyRequest:
  - ParseException
  gunicorn.http.errors.InvalidChunkSize:
  - IOError
  gunicorn.http.errors.InvalidHTTPVersion:
  - ParseException
  gunicorn.http.errors.InvalidHeader:
  - ParseException
  gunicorn.http.errors.InvalidHeaderName:
  - ParseException
  gunicorn.http.errors.InvalidProxyLine:
  - ParseException
  gunicorn.http.errors.InvalidRequestLine:
  - ParseException
  gunicorn.http.errors.InvalidRequestMethod:
  - ParseException
  gunicorn.http.errors.InvalidSchemeHeaders:
  - ParseException
  gunicorn.http.errors.LimitRequestHeaders:
  - ParseException
  gunicorn.http.errors.LimitRequestLine:
  - ParseException
  gunicorn.http.errors.NoMoreData:
  - IOError
  gunicorn.http.errors.ObsoleteFolding:
  - ParseException
  gunicorn.http.errors.ParseException:
  - Exception
  gunicorn.http.errors.UnsupportedTransferCoding:
  - ParseException
  gunicorn.http.message.Message: []
  gunicorn.http.message.Request:
  - Message
  gunicorn.http.parser.Parser: []
  gunicorn.http.parser.RequestParser:
  - Parser
  gunicorn.http.unreader.IterUnreader:
  - Unreader
  gunicorn.http.unreader.SocketUnreader:
  - Unreader
  gunicorn.http.unreader.Unreader: []
  gunicorn.http.wsgi.FileWrapper: []
  gunicorn.http.wsgi.Response: []
  gunicorn.http.wsgi.WSGIErrorsWrapper: []
  gunicorn.instrument.statsd.Statsd:
  - Logger
  gunicorn.pidfile.Pidfile: []
  gunicorn.reloader.InotifyReloader: []
  gunicorn.reloader.Reloader: []
  gunicorn.sock.BaseSocket: []
  gunicorn.sock.TCP6Socket:
  - TCPSocket
  gunicorn.sock.TCPSocket:
  - BaseSocket
  gunicorn.sock.UnixSocket:
  - BaseSocket
  gunicorn.workers.base.Worker: []
  gunicorn.workers.base_async.AsyncWorker: []
  gunicorn.workers.geventlet.EventletWorker:
  - AsyncWorker
  gunicorn.workers.ggevent.GeventPyWSGIWorker:
  - GeventWorker
  gunicorn.workers.ggevent.GeventResponse: []
  gunicorn.workers.ggevent.GeventWorker:
  - AsyncWorker
  gunicorn.workers.ggevent.PyWSGIHandler: []
  gunicorn.workers.ggevent.PyWSGIServer: []
  gunicorn.workers.gthread.TConn: []
  gunicorn.workers.gthread.ThreadWorker: []
  gunicorn.workers.gtornado.TornadoWorker:
  - Worker
  gunicorn.workers.gtornado.TornadoWorker.run._HTTPServer: []
  gunicorn.workers.sync.StopWaiting:
  - Exception
  gunicorn.workers.sync.SyncWorker: []
  gunicorn.workers.workertmp.WorkerTmp: []
ep:
  func_name: TestInput
  module: '...fuzz_util'
