All classes:
- jupyter_client.adapter.Adapter
- jupyter_client.adapter.V5toV4
- jupyter_client.adapter.V4toV5
- jupyter_client.session.SessionFactory
- jupyter_client.session.Message
- jupyter_client.session.Session
- jupyter_client.channelsabc.ChannelABC
- jupyter_client.channelsabc.HBChannelABC
- jupyter_client.channels.InvalidPortNumber
- jupyter_client.channels.HBChannel
- jupyter_client.channels.ZMQSocketChannel
- jupyter_client.channels.AsyncZMQSocketChannel
- jupyter_client.clientabc.KernelClientABC
- jupyter_client.localinterfaces.NoIPAddresses
- jupyter_client.ssh.tunnel.SSHException
- jupyter_client.ssh.forward.ForwardServer
- jupyter_client.ssh.forward.Handler
- jupyter_client.ssh.forward.forward_tunnel.SubHander
- jupyter_client.connect.ConnectionFileMixin
- jupyter_client.connect.LocalPortCache
- jupyter_client.client.KernelClient
- jupyter_client.provisioning.provisioner_base.KernelProvisionerMeta
- jupyter_client.provisioning.provisioner_base.KernelProvisionerBase
- jupyter_client.provisioning.factory.KernelProvisionerFactory
- jupyter_client.win_interrupt.create_interrupt_event.SECURITY_ATTRIBUTES
- jupyter_client.provisioning.local_provisioner.LocalProvisioner
- jupyter_client.kernelspec.KernelSpec
- jupyter_client.kernelspec.NoSuchKernel
- jupyter_client.kernelspec.KernelSpecManager
- jupyter_client.blocking.client.BlockingKernelClient
- jupyter_client.managerabc.KernelManagerABC
- jupyter_client.manager._ShutdownStatus
- jupyter_client.manager.KernelManager
- jupyter_client.manager.AsyncKernelManager
- jupyter_client.asynchronous.client.AsyncKernelClient
- jupyter_client.multikernelmanager.DuplicateKernelError
- jupyter_client.multikernelmanager.MultiKernelManager
- jupyter_client.multikernelmanager.AsyncMultiKernelManager
- jupyter_server.base.call_context.CallContext
- jupyter_server._tz.tzUTC
- jupyter_server.auth.identity.User
- jupyter_server.auth.identity.IdentityProvider
- jupyter_server.auth.identity.PasswordIdentityProvider
- jupyter_server.auth.identity.LegacyIdentityProvider
- jupyter_server.auth.login.LoginFormHandler
- jupyter_server.auth.login.LegacyLoginHandler
- jupyter_server.auth.authorizer.Authorizer
- jupyter_server.auth.authorizer.AllowAllAuthorizer
- jupyter_server.auth.logout.LogoutHandler
- jupyter_server.config_manager.BaseJSONConfigManager
- jupyter_server.services.config.manager.ConfigManager
- jupyter_server.extension.config.ExtensionConfigManager
- jupyter_server.extension.utils.ExtensionLoadingError
- jupyter_server.extension.utils.ExtensionMetadataError
- jupyter_server.extension.utils.ExtensionModuleNotFound
- jupyter_server.extension.utils.NotAnExtensionApp
- jupyter_server.extension.manager.ExtensionPoint
- jupyter_server.extension.manager.ExtensionPackage
- jupyter_server.extension.manager.ExtensionManager
- jupyter_server.extension.serverextension.ArgumentConflict
- jupyter_server.extension.serverextension.BaseExtensionApp
- jupyter_server.extension.serverextension.ToggleServerExtensionApp
- jupyter_server.extension.serverextension.EnableServerExtensionApp
- jupyter_server.extension.serverextension.DisableServerExtensionApp
- jupyter_server.extension.serverextension.ListServerExtensionsApp
- jupyter_server.extension.serverextension.ServerExtensionApp
- jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC
- jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection
- jupyter_server.utils._request_for_tornado_client.UnixSocketResolver
- jupyter_server.utils.JupyterServerAuthWarning
- jupyter_server.gateway.gateway_client.GatewayTokenRenewerMeta
- jupyter_server.gateway.gateway_client.GatewayTokenRenewerBase
- jupyter_server.gateway.gateway_client.NoOpTokenRenewer
- jupyter_server.gateway.gateway_client.GatewayClient
- jupyter_server.gateway.gateway_client.RetryableHTTPClient
- jupyter_server.gateway.connections.GatewayWebSocketConnection
- jupyter_client.restarter.KernelRestarter
- jupyter_client.ioloop.restarter.IOLoopKernelRestarter
- jupyter_client.ioloop.restarter.AsyncIOLoopKernelRestarter
- jupyter_client.ioloop.manager.IOLoopKernelManager
- jupyter_client.ioloop.manager.AsyncIOLoopKernelManager
- jupyter_server.services.kernels.kernelmanager.MappingKernelManager
- jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager
- jupyter_server.services.kernels.kernelmanager.ServerKernelManager
- jupyter_server.traittypes.TypeFromClasses
- jupyter_server.traittypes.InstanceFromClasses
- jupyter_server.services.sessions.sessionmanager.KernelSessionRecordConflict
- jupyter_server.services.sessions.sessionmanager.KernelSessionRecord
- jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList
- jupyter_server.services.sessions.sessionmanager.SessionManager
- jupyter_server.gateway.managers.GatewayMappingKernelManager
- jupyter_server.gateway.managers.GatewayKernelSpecManager
- jupyter_server.gateway.managers.GatewaySessionManager
- jupyter_server.gateway.managers.GatewayKernelManager
- jupyter_server.gateway.managers.ChannelQueue
- jupyter_server.gateway.managers.HBChannelQueue
- jupyter_server.gateway.managers.GatewayKernelClient
- jupyter_server.services.contents.checkpoints.Checkpoints
- jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin
- jupyter_server.services.contents.checkpoints.AsyncCheckpoints
- jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin
- jupyter_server.services.contents.fileio.FileManagerMixin
- jupyter_server.services.contents.fileio.AsyncFileManagerMixin
- jupyter_server.services.contents.filecheckpoints.FileCheckpoints
- jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints
- jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints
- jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints
- jupyter_server.files.handlers.FilesHandler
- jupyter_server.services.contents.manager.ContentsManager
- jupyter_server.services.contents.manager.AsyncContentsManager
- jupyter_server.services.contents.filemanager.FileContentsManager
- jupyter_server.services.contents.filemanager.AsyncFileContentsManager
- jupyter_server.services.contents.largefilemanager.LargeFileManager
- jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager
- jupyter_server.services.kernels.websocket.KernelWebsocketHandler
- jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection
- jupyter_server.serverapp.ServerWebApplication
- jupyter_server.serverapp.JupyterPasswordApp
- jupyter_server.serverapp.JupyterServerStopApp
- jupyter_server.serverapp.JupyterServerListApp
- jupyter_server.serverapp.ServerApp
- jupyter_server.base.handlers.AuthenticatedHandler
- jupyter_server.base.handlers.JupyterHandler
- jupyter_server.base.handlers.APIHandler
- jupyter_server.base.handlers.Template404
- jupyter_server.base.handlers.AuthenticatedFileHandler
- jupyter_server.base.handlers.FileFindHandler
- jupyter_server.base.handlers.APIVersionHandler
- jupyter_server.base.handlers.TrailingSlashHandler
- jupyter_server.base.handlers.MainHandler
- jupyter_server.base.handlers.FilesRedirectHandler
- jupyter_server.base.handlers.RedirectWithParams
- jupyter_server.base.handlers.PrometheusMetricsHandler
- jupyter_server.base.handlers.PublicStaticFileHandler
- jupyter_server.base.websocket.WebSocketMixin
- jupyter_server.extension.application.ExtensionAppJinjaMixin
- jupyter_server.extension.application.JupyterServerExtensionException
- jupyter_server.extension.application.ExtensionApp
- jupyter_server.extension.handler.ExtensionHandlerJinjaMixin
- jupyter_server.extension.handler.ExtensionHandlerMixin
- jupyter_server.view.handlers.ViewHandler
- jupyter_server.nbconvert.handlers.NbconvertFileHandler
- jupyter_server.nbconvert.handlers.NbconvertPostHandler
- jupyter_server.services.shutdown.ShutdownHandler
- jupyter_server.services.sessions.handlers.SessionsAPIHandler
- jupyter_server.services.sessions.handlers.SessionRootHandler
- jupyter_server.services.sessions.handlers.SessionHandler
- jupyter_server.services.config.handlers.ConfigHandler
- jupyter_server.services.kernels.handlers.KernelsAPIHandler
- jupyter_server.services.kernels.handlers.MainKernelHandler
- jupyter_server.services.kernels.handlers.KernelHandler
- jupyter_server.services.kernels.handlers.KernelActionHandler
- jupyter_server.services.contents.handlers.ContentsAPIHandler
- jupyter_server.services.contents.handlers.ContentsHandler
- jupyter_server.services.contents.handlers.CheckpointsHandler
- jupyter_server.services.contents.handlers.ModifyCheckpointsHandler
- jupyter_server.services.contents.handlers.NotebooksRedirectHandler
- jupyter_server.services.contents.handlers.TrustNotebooksHandler
- jupyter_server.services.security.handlers.CSPReportHandler
- jupyter_server.services.api.handlers.APISpecHandler
- jupyter_server.services.api.handlers.APIStatusHandler
- jupyter_server.services.api.handlers.IdentityHandler
- jupyter_server.services.nbconvert.handlers.NbconvertRootHandler
- jupyter_server.services.events.handlers.SubscribeWebsocket
- jupyter_server.services.events.handlers.EventHandler
- jupyter_server.services.kernelspecs.handlers.KernelSpecsAPIHandler
- jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler
- jupyter_server.services.kernelspecs.handlers.KernelSpecHandler
- jupyter_server.gateway.handlers.WebSocketChannelsHandler
- jupyter_server.gateway.handlers.GatewayWebSocketClient
- jupyter_server.gateway.handlers.GatewayResourceHandler
- jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler
- jupyter_client.kernelapp.KernelApp
- jupyter_client.consoleapp.JupyterConsoleApp
- jupyter_client.consoleapp.IPythonConsoleApp
- jupyter_client.runapp.RunApp
- jupyter_client.threaded.ThreadedZMQSocketChannel
- jupyter_client.threaded.IOLoopThread
- jupyter_client.threaded.ThreadedKernelClient
- jupyter_client.kernelspecapp.ListKernelSpecs
- jupyter_client.kernelspecapp.InstallKernelSpec
- jupyter_client.kernelspecapp.RemoveKernelSpec
- jupyter_client.kernelspecapp.InstallNativeKernelSpec
- jupyter_client.kernelspecapp.ListProvisioners
- jupyter_client.kernelspecapp.KernelSpecApp
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_serialization'
    functionSourceFile: '...fuzz_serialization'
    functionUses: 0
    functionsReached:
    - atheris.instrument_all
    - atheris.Setup
    - '...fuzz_serialization.main'
    - atheris.Fuzz
    - atheris.instrument_imports
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 27
    functionName: '...fuzz_serialization.TestOneInput'
    functionSourceFile: '...fuzz_serialization'
    functionUses: 0
    functionsReached:
    - atheris.FuzzedDataProvider
    - jupyter_client.session.Session.msg
    - jupyter_client.jsonutil.json_clean
    - jupyter_client.session.extract_header
    - <builtin>.set
    - buffers.insert
    - pickle.dumps
    - datetime.datetime.now
    - msg.pop
    - <builtin>.super
    - jupyter_client.session.pickle_packer
    - jupyter_client.jsonutil.parse_date
    - struct.pack
    - traitlets.utils.importstring.import_item
    - ISO8601_PAT.match
    - dateutil.parser.parse
    - <builtin>.hasattr
    - obj.isoformat
    - jupyter_client.session.Session._check_packers.<lambda2>
    - dateutil.parser.parse.items
    - jupyter_client.session.Session.__init__
    - struct.unpack
    - jupyter_client.session.Session.msg_header
    - <builtin>.str
    - jupyter_client.session.utcnow
    - traitlets.Dict.copy
    - fdp.ConsumeString
    - jupyter_client.jsonutil._ensure_tzinfo
    - <builtin>.float
    - os.getpid
    - warnings.warn
    - fdp.ConsumeBytes
    - msg.copy
    - jupyter_server.services.kernels.connection.base.deserialize_binary_message
    - dateutil.parser.parse.replace
    - <builtin>.isinstance
    - dateutil.tz.tzlocal
    - <builtin>.type
    - jupyter_client.session.json_packer
    - s.decode
    - jupyter_client.session.Session._new_auth
    - <builtin>.list
    - obj.items
    - traitlets.log.get_logger.warning
    - traitlets.Any
    - pickle.loads
    - traitlets.log.get_logger
    - obj.strftime
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - math.isinf
    - <builtin>.int
    - jupyter_client.session.json_unpacker
    - <builtin>.map
    - <builtin>.len
    - json.dumps
    - json.loads
    - binascii.b2a_base64
    - bufs.append
    - <builtin>.memoryview
    - offsets.append
    - <builtin>.zip
    - jupyter_client.session.Session._check_packers.<lambda1>
    - jupyter_client.jsonutil.extract_dates
    - jupyter_server.services.kernels.connection.base.serialize_binary_message
    - math.isnan
    - hmac.HMAC
    - <builtin>.repr
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session._check_packers
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.len
    functionSourceFile: <builtin>
    functionUses: 181
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 528
    functionName: jupyter_client.session.Session.__init__
    functionSourceFile: jupyter_client.session
    functionUses: 9
    functionsReached:
    - jupyter_client.jsonutil.json_clean
    - <builtin>.set
    - pickle.dumps
    - datetime.datetime.now
    - <builtin>.super
    - jupyter_client.session.pickle_packer
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session._check_packers.<lambda2>
    - obj.isoformat
    - <builtin>.hasattr
    - <builtin>.str
    - jupyter_client.session.utcnow
    - <builtin>.float
    - os.getpid
    - warnings.warn
    - <builtin>.isinstance
    - <builtin>.type
    - jupyter_client.session.json_packer
    - s.decode
    - jupyter_client.session.Session._new_auth
    - obj.items
    - traitlets.log.get_logger.warning
    - <builtin>.list
    - traitlets.Any
    - pickle.loads
    - traitlets.log.get_logger
    - obj.strftime
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - math.isinf
    - <builtin>.int
    - jupyter_client.session.json_unpacker
    - <builtin>.map
    - json.dumps
    - <builtin>.len
    - json.loads
    - binascii.b2a_base64
    - jupyter_client.session.Session._check_packers.<lambda1>
    - math.isnan
    - hmac.HMAC
    - <builtin>.repr
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session._check_packers
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f80244435e0>
    - <ast.Constant object at 0x7f8024443370>
    - <ast.Constant object at 0x7f8024443340>
    - <ast.Constant object at 0x7f8024443280>
    argNames:
    - self
    - msg_type
    - content
    - parent
    - header
    - metadata
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 649
    functionName: jupyter_client.session.Session.msg
    functionSourceFile: jupyter_client.session
    functionUses: 2
    functionsReached:
    - traitlets.Dict.copy
    - jupyter_client.session.extract_header
    - <builtin>.dict
    - <builtin>.isinstance
    - jupyter_client.session.Session.msg_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.ConsumeBytes
    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: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - msg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 24
    functionName: jupyter_server.services.kernels.connection.base.serialize_binary_message
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 5
    functionsReached:
    - json.dumps
    - <builtin>.len
    - <builtin>.list
    - buffers.insert
    - offsets.append
    - msg.pop
    - struct.pack
    - msg.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - bmsg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 53
    functionName: jupyter_server.services.kernels.connection.base.deserialize_binary_message
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 2
    functionsReached:
    - json.loads
    - <builtin>.list
    - dateutil.tz.tzlocal
    - offsets.append
    - jupyter_client.jsonutil._ensure_tzinfo
    - warnings.warn
    - <builtin>.zip
    - jupyter_client.jsonutil.extract_dates
    - jupyter_client.jsonutil.parse_date
    - ISO8601_PAT.match
    - dateutil.parser.parse
    - dateutil.parser.parse.replace
    - <builtin>.isinstance
    - dateutil.parser.parse.items
    - bufs.append
    - struct.unpack
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 45
    functionName: '...fuzz_serialization.main'
    functionSourceFile: '...fuzz_serialization'
    functionUses: 1
    functionsReached:
    - atheris.Fuzz
    - atheris.instrument_all
    - atheris.Setup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_all
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.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: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.base
    functionSourceFile: jupyter_server.base
    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: -1
    functionName: jupyter_server
    functionSourceFile: jupyter_server
    functionUses: 0
    functionsReached:
    - os.path.dirname
    - os.path.join
    - pathlib.Path
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: os.path.join
    functionSourceFile: os
    functionUses: 178
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathlib.Path
    functionSourceFile: pathlib
    functionUses: 15
    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: jupyter_server.base.call_context
    functionSourceFile: jupyter_server.base.call_context
    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: contextvars.ContextVar
    functionSourceFile: contextvars
    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: jupyter_server.base.call_context.CallContext
    functionSourceFile: jupyter_server.base.call_context
    functionUses: 0
    functionsReached:
    - contextvars.ContextVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 28
    functionName: jupyter_server.base.call_context.CallContext.get
    functionSourceFile: jupyter_server.base.call_context
    functionUses: 0
    functionsReached:
    - contextvars.copy_context
    - CallContext._name_value_map.get
    - jupyter_server.base.call_context.CallContext._get_map
    - CallContext._name_value_map.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - cls
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 80
    functionName: jupyter_server.base.call_context.CallContext._get_map
    functionSourceFile: jupyter_server.base.call_context
    functionUses: 4
    functionsReached:
    - contextvars.copy_context
    - CallContext._name_value_map.get
    - CallContext._name_value_map.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 50
    functionName: jupyter_server.base.call_context.CallContext.set
    functionSourceFile: jupyter_server.base.call_context
    functionUses: 1
    functionsReached:
    - contextvars.copy_context
    - CallContext._name_value_map.get
    - jupyter_server.base.call_context.CallContext._get_map
    - CallContext._name_value_map.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - cls
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 68
    functionName: jupyter_server.base.call_context.CallContext.context_variable_names
    functionSourceFile: jupyter_server.base.call_context
    functionUses: 0
    functionsReached:
    - jupyter_server.base.call_context.CallContext._get_map
    - CallContext._name_value_map.set
    - <builtin>.list
    - CallContext._name_value_map.get
    - contextvars.copy_context
    - name_value_map.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_value_map.keys
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.list
    functionSourceFile: <builtin>
    functionUses: 63
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: contextvars.copy_context
    functionSourceFile: contextvars
    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: CallContext._name_value_map.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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: CallContext._name_value_map.get
    functionSourceFile: <builtin>
    functionUses: 5
    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: -1
    functionName: jupyter_server._version
    functionSourceFile: jupyter_server._version
    functionUses: 0
    functionsReached:
    - parts.append
    - re.match
    - <builtin>.int
    - <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: re.match
    functionSourceFile: re
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 76
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.tuple
    functionSourceFile: <builtin>
    functionUses: 10
    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: 3
    functionLinenumber: -1
    functionName: jupyter_client.session
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - jupyter_client.session.new_id_bytes
    - zmq.MessageTracker
    - os.urandom
    - jupyter_client.session.new_id
    - binascii.b2a_hex.decode
    - binascii.b2a_hex
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 64
    functionName: jupyter_client.session.squash_unicode
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - jupyter_client.session.squash_unicode
    - <builtin>.list
    - obj.keys
    - <builtin>.enumerate
    - obj.encode
    - obj.pop
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.isinstance
    functionSourceFile: <builtin>
    functionUses: 186
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.keys
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: obj.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: <builtin>.enumerate
    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: obj.encode
    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:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 92
    functionName: jupyter_client.session.json_packer
    functionSourceFile: jupyter_client.session
    functionUses: 14
    functionsReached:
    - jupyter_client.jsonutil.json_clean
    - <builtin>.set
    - <builtin>.hasattr
    - <builtin>.str
    - <builtin>.float
    - warnings.warn
    - <builtin>.isinstance
    - <builtin>.type
    - obj.items
    - <builtin>.list
    - obj.strftime
    - math.isinf
    - <builtin>.int
    - <builtin>.map
    - json.dumps
    - <builtin>.len
    - binascii.b2a_base64
    - math.isnan
    - <builtin>.repr
    - binascii.b2a_base64.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: json.dumps
    functionSourceFile: json
    functionUses: 107
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 0
    IfCount: 11
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 131
    functionName: jupyter_client.jsonutil.json_clean
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 15
    functionsReached:
    - <builtin>.len
    - <builtin>.str
    - jupyter_client.jsonutil.json_clean
    - obj.items
    - <builtin>.list
    - <builtin>.set
    - binascii.b2a_base64
    - <builtin>.type
    - <builtin>.isinstance
    - <builtin>.float
    - <builtin>.repr
    - <builtin>.int
    - obj.strftime
    - math.isnan
    - math.isinf
    - binascii.b2a_base64.decode
    - <builtin>.hasattr
    - <builtin>.map
    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: warnings.warn
    functionSourceFile: warnings
    functionUses: 89
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 120
    functionName: jupyter_client.session.json_unpacker
    functionSourceFile: jupyter_client.session
    functionUses: 16
    functionsReached:
    - <builtin>.isinstance
    - s.decode
    - json.loads
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.decode
    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: json.loads
    functionSourceFile: json
    functionUses: 58
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - o
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 127
    functionName: jupyter_client.session.pickle_packer
    functionSourceFile: jupyter_client.session
    functionUses: 14
    functionsReached:
    - obj.items
    - pickle.dumps
    - jupyter_client.jsonutil.squash_dates
    - obj.isoformat
    - <builtin>.dict
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 84
    functionName: jupyter_client.jsonutil.squash_dates
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 15
    functionsReached:
    - obj.items
    - jupyter_client.jsonutil.squash_dates
    - obj.isoformat
    - <builtin>.dict
    - <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: pickle.dumps
    functionSourceFile: pickle
    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: zmq.MessageTracker
    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: 1
    functionLinenumber: 146
    functionName: jupyter_client.session.new_id
    functionSourceFile: jupyter_client.session
    functionUses: 5
    functionsReached:
    - binascii.b2a_hex
    - binascii.b2a_hex.decode
    - 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: 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: binascii.b2a_hex
    functionSourceFile: binascii
    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: binascii.b2a_hex.decode
    functionSourceFile: binascii
    functionUses: 6
    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: 2
    functionLinenumber: 160
    functionName: jupyter_client.session.new_id_bytes
    functionSourceFile: jupyter_client.session
    functionUses: 3
    functionsReached:
    - binascii.b2a_hex
    - jupyter_client.session.new_id
    - binascii.b2a_hex.decode
    - os.urandom
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - cfg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 185
    functionName: jupyter_client.session.default_secure
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - jupyter_client.session.new_id_bytes
    - os.urandom
    - warnings.warn
    - jupyter_client.session.new_id
    - binascii.b2a_hex.decode
    - binascii.b2a_hex
    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: 198
    functionName: jupyter_client.session.utcnow
    functionSourceFile: jupyter_client.session
    functionUses: 22
    functionsReached:
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: traitlets.Unicode
    functionSourceFile: traitlets
    functionUses: 28
    functionsReached: []
    linkageType: 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: jupyter_client.session.SessionFactory
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.observe
    - traitlets.Instance
    - traitlets.Unicode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.observe
    functionSourceFile: traitlets
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 216
    functionName: jupyter_client.session.SessionFactory._logname_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.getLogger
    functionSourceFile: logging
    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: traitlets.Instance
    functionSourceFile: traitlets
    functionUses: 32
    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: 222
    functionName: jupyter_client.session.SessionFactory._context_default
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - zmq.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: zmq.Context
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 229
    functionName: jupyter_client.session.SessionFactory._loop_default
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.current
    functionSourceFile: tornado
    functionUses: 36
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 232
    functionName: jupyter_client.session.SessionFactory.__init__
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - jupyter_client.jsonutil.json_clean
    - <builtin>.set
    - pickle.dumps
    - datetime.datetime.now
    - <builtin>.super
    - jupyter_client.session.pickle_packer
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session._check_packers.<lambda2>
    - obj.isoformat
    - <builtin>.hasattr
    - jupyter_client.session.Session.__init__
    - <builtin>.str
    - jupyter_client.session.utcnow
    - <builtin>.float
    - os.getpid
    - warnings.warn
    - <builtin>.isinstance
    - <builtin>.type
    - jupyter_client.session.json_packer
    - s.decode
    - jupyter_client.session.Session._new_auth
    - obj.items
    - traitlets.log.get_logger.warning
    - <builtin>.list
    - traitlets.Any
    - pickle.loads
    - traitlets.log.get_logger
    - obj.strftime
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - math.isinf
    - <builtin>.int
    - jupyter_client.session.json_unpacker
    - <builtin>.map
    - json.dumps
    - <builtin>.len
    - json.loads
    - binascii.b2a_base64
    - jupyter_client.session.Session._check_packers.<lambda1>
    - math.isnan
    - hmac.HMAC
    - <builtin>.repr
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session._check_packers
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 173
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg_dict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 247
    functionName: jupyter_client.session.Message.__init__
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - jupyter_client.session.Message.__init__
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 32
    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: 256
    functionName: jupyter_client.session.Message.__iter__
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.iter
    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: 259
    functionName: jupyter_client.session.Message.__repr__
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.repr
    functionSourceFile: <builtin>
    functionUses: 20
    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: 262
    functionName: jupyter_client.session.Message.__str__
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - pprint.pformat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pprint.pformat
    functionSourceFile: pprint
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - k
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 265
    functionName: jupyter_client.session.Message.__contains__
    functionSourceFile: jupyter_client.session
    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
    - k
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 268
    functionName: jupyter_client.session.Message.__getitem__
    functionSourceFile: jupyter_client.session
    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:
    - msg_id
    - msg_type
    - username
    - session
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 272
    functionName: jupyter_client.session.msg_header
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - jupyter_client.session.utcnow
    - datetime.datetime.now
    - <builtin>.locals
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.locals
    functionSourceFile: <builtin>
    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:
    - msg_or_header
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 281
    functionName: jupyter_client.session.extract_header
    functionSourceFile: jupyter_client.session
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Bool
    functionSourceFile: traitlets
    functionUses: 28
    functionsReached: []
    linkageType: 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: jupyter_client.session.Session
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.observe
    - traitlets.Set
    - traitlets.Bool
    - traitlets.CBytes
    - traitlets.Dict
    - traitlets.Any
    - os.environ.get
    - traitlets.Instance
    - traitlets.CUnicode
    - traitlets.DottedObjectName
    - traitlets.Integer
    - traitlets.Unicode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.DottedObjectName
    functionSourceFile: traitlets
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 362
    functionName: jupyter_client.session.Session._packer_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - <builtin>.str
    - new.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: new.lower
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.str
    functionSourceFile: <builtin>
    functionUses: 146
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.utils.importstring.import_item
    functionSourceFile: traitlets
    functionUses: 35
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 383
    functionName: jupyter_client.session.Session._unpacker_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - <builtin>.str
    - new.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: traitlets.CUnicode
    functionSourceFile: traitlets
    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: 2
    functionLinenumber: 398
    functionName: jupyter_client.session.Session._session_default
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - os.urandom
    - u.encode
    - jupyter_client.session.new_id
    - binascii.b2a_hex.decode
    - binascii.b2a_hex
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: u.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 404
    functionName: jupyter_client.session.Session._session_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - traitlets.CUnicode.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: traitlets.CUnicode.encode
    functionSourceFile: traitlets
    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: traitlets.CBytes
    functionSourceFile: traitlets
    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.environ.get
    functionSourceFile: os
    functionUses: 30
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Dict
    functionSourceFile: traitlets
    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: traitlets.Integer
    functionSourceFile: traitlets
    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: 3
    functionLinenumber: 430
    functionName: jupyter_client.session.Session._key_default
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - jupyter_client.session.new_id_bytes
    - os.urandom
    - jupyter_client.session.new_id
    - binascii.b2a_hex.decode
    - binascii.b2a_hex
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 434
    functionName: jupyter_client.session.Session._key_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - hmac.HMAC
    - jupyter_client.session.Session._new_auth
    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: 463
    functionName: jupyter_client.session.Session._new_auth
    functionSourceFile: jupyter_client.session
    functionUses: 12
    functionsReached:
    - hmac.HMAC
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 445
    functionName: jupyter_client.session.Session._signature_scheme_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - jupyter_client.session.Session._new_auth
    - new.split
    - hmac.HMAC
    - <builtin>.getattr
    - new.startswith
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/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.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: new.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: <builtin>.getattr
    functionSourceFile: <builtin>
    functionUses: 149
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Any
    functionSourceFile: traitlets
    functionUses: 41
    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: 458
    functionName: jupyter_client.session.Session._digest_mod_default
    functionSourceFile: jupyter_client.session
    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: hmac.HMAC
    functionSourceFile: hmac
    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: traitlets.Set
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 482
    functionName: jupyter_client.session.Session._keyfile_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - f.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 77
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 494
    functionName: jupyter_client.session.Session._pack_changed
    functionSourceFile: jupyter_client.session
    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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.callable
    functionSourceFile: <builtin>
    functionUses: 31
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 502
    functionName: jupyter_client.session.Session._unpack_changed
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - <builtin>.callable
    linkageType: pythonLinkage
    raised:
    - TypeError
    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: 606
    functionName: jupyter_client.session.Session._check_packers
    functionSourceFile: jupyter_client.session
    functionUses: 10
    functionsReached:
    - jupyter_client.jsonutil.json_clean
    - <builtin>.set
    - pickle.dumps
    - datetime.datetime.now
    - jupyter_client.session.pickle_packer
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session._check_packers.<lambda2>
    - obj.isoformat
    - <builtin>.hasattr
    - jupyter_client.session.utcnow
    - <builtin>.str
    - <builtin>.float
    - warnings.warn
    - <builtin>.isinstance
    - <builtin>.type
    - jupyter_client.session.json_packer
    - s.decode
    - obj.items
    - <builtin>.list
    - pickle.loads
    - traitlets.Any
    - obj.strftime
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - math.isinf
    - <builtin>.int
    - jupyter_client.session.json_unpacker
    - <builtin>.map
    - json.dumps
    - <builtin>.len
    - json.loads
    - binascii.b2a_base64
    - jupyter_client.session.Session._check_packers.<lambda1>
    - math.isnan
    - <builtin>.repr
    - binascii.b2a_base64.decode
    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: 3
    functionLinenumber: -1
    functionName: jupyter_client.session.Session._check_packers.<lambda1>
    functionSourceFile: jupyter_client.session
    functionUses: 13
    functionsReached:
    - jupyter_client.jsonutil.json_clean
    - <builtin>.set
    - pickle.dumps
    - jupyter_client.session.pickle_packer
    - traitlets.utils.importstring.import_item
    - obj.isoformat
    - <builtin>.hasattr
    - <builtin>.str
    - <builtin>.float
    - warnings.warn
    - <builtin>.isinstance
    - <builtin>.type
    - jupyter_client.session.json_packer
    - obj.items
    - <builtin>.list
    - traitlets.Any
    - obj.strftime
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - math.isinf
    - <builtin>.int
    - <builtin>.map
    - json.dumps
    - <builtin>.len
    - binascii.b2a_base64
    - jupyter_client.session.Session._check_packers.<lambda1>
    - math.isnan
    - <builtin>.repr
    - binascii.b2a_base64.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.log.get_logger
    functionSourceFile: traitlets
    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: traitlets.log.get_logger.warning
    functionSourceFile: traitlets
    functionUses: 12
    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: 580
    functionName: jupyter_client.session.Session.clone
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - <builtin>.set
    - traitlets.config.configurable.Configurable.traits
    - new_session.digest_history.update
    - <builtin>.getattr
    - <builtin>.setattr
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.type
    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: traitlets.config.configurable.Configurable.traits
    functionSourceFile: traitlets
    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>.setattr
    functionSourceFile: <builtin>
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.set
    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: new_session.digest_history.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 601
    functionName: jupyter_client.session.Session.msg_id
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - os.getpid
    linkageType: 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: jupyter_client.session.Session._check_packers.<lambda2>
    functionSourceFile: jupyter_client.session
    functionUses: 15
    functionsReached:
    - json.loads
    - s.decode
    - pickle.loads
    - traitlets.Any
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session._check_packers.<lambda2>
    - <builtin>.isinstance
    - jupyter_client.session.json_unpacker
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pickle.loads
    functionSourceFile: pickle
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 645
    functionName: jupyter_client.session.Session.msg_header
    functionSourceFile: jupyter_client.session
    functionUses: 3
    functionsReached:
    - jupyter_client.session.Session.msg_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Dict.copy
    functionSourceFile: traitlets
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg_list
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 675
    functionName: jupyter_client.session.Session.sign
    functionSourceFile: jupyter_client.session
    functionUses: 7
    functionsReached:
    - h.hexdigest
    - traitlets.Instance.copy
    - h.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.copy
    functionSourceFile: traitlets
    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: h.update
    functionSourceFile: <builtin>
    functionUses: 43
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: h.hexdigest
    functionSourceFile: <builtin>
    functionUses: 42
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 6
    IfCount: 6
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8024e92040>
    argNames:
    - self
    - msg
    - ident
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 690
    functionName: jupyter_client.session.Session.serialize
    functionSourceFile: jupyter_client.session
    functionUses: 1
    functionsReached:
    - traitlets.Instance.copy
    - jupyter_client.jsonutil.json_clean
    - <builtin>.set
    - pickle.dumps
    - h.update
    - jupyter_client.session.pickle_packer
    - traitlets.utils.importstring.import_item
    - obj.isoformat
    - <builtin>.hasattr
    - to_send.append
    - <builtin>.str
    - h.hexdigest
    - <builtin>.float
    - warnings.warn
    - <builtin>.repr
    - <builtin>.isinstance
    - <builtin>.type
    - jupyter_client.session.Session.sign
    - jupyter_client.session.json_packer
    - obj.items
    - <builtin>.list
    - traitlets.Any
    - obj.strftime
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - math.isinf
    - <builtin>.int
    - <builtin>.map
    - json.dumps
    - <builtin>.len
    - binascii.b2a_base64
    - jupyter_client.session.Session._check_packers.<lambda1>
    - math.isnan
    - content.encode
    - to_send.extend
    - binascii.b2a_base64.decode
    - msg.get
    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: msg.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: content.encode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: to_send.extend
    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: to_send.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 7
    IfCount: 10
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7f80259d2310>
    - <ast.Constant object at 0x7f80259d2a60>
    - <ast.Constant object at 0x7f80259d2730>
    - <ast.Constant object at 0x7f80259d2c40>
    - <ast.Constant object at 0x7f80259d2ca0>
    - <ast.Constant object at 0x7f80259d2610>
    - <ast.Constant object at 0x7f80259d2370>
    argNames:
    - self
    - stream
    - msg_or_type
    - content
    - parent
    - ident
    - buffers
    - track
    - header
    - metadata
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 754
    functionName: jupyter_client.session.Session.send
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - jupyter_client.session.Session.msg
    - traitlets.Instance.copy
    - jupyter_client.jsonutil.json_clean
    - jupyter_client.adapter.adapt
    - jupyter_client.session.extract_header
    - <builtin>.set
    - pickle.dumps
    - datetime.datetime.now
    - h.update
    - jupyter_client.session.pickle_packer
    - traitlets.utils.importstring.import_item
    - obj.isoformat
    - <builtin>.hasattr
    - pprint.pprint
    - jupyter_client.session.Session.serialize
    - jupyter_client.session.Session.msg_header
    - to_send.append
    - jupyter_client.session.utcnow
    - <builtin>.str
    - traitlets.Dict.copy
    - h.hexdigest
    - stream.send_multipart
    - <builtin>.float
    - os.getpid
    - warnings.warn
    - zmq.Socket.shadow
    - <builtin>.isinstance
    - <builtin>.repr
    - <builtin>.type
    - jupyter_client.session.Session.sign
    - <builtin>.max
    - jupyter_client.session.json_packer
    - obj.items
    - traitlets.log.get_logger.warning
    - <builtin>.list
    - traitlets.Any
    - traitlets.log.get_logger
    - obj.strftime
    - adapters.get
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - <builtin>.int
    - math.isinf
    - <builtin>.map
    - <builtin>.len
    - json.dumps
    - binascii.b2a_base64
    - <builtin>.memoryview
    - <builtin>.enumerate
    - jupyter_client.session.Session._check_packers.<lambda1>
    - math.isnan
    - content.encode
    - to_send.extend
    - binascii.b2a_base64.decode
    - msg.get
    linkageType: pythonLinkage
    raised:
    - ValueError
    - 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: zmq.Socket.shadow
    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>.hasattr
    functionSourceFile: <builtin>
    functionUses: 60
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Subscript object at 0x7f8024d49880>
    argNames:
    - msg
    - to_version
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 393
    functionName: jupyter_client.adapter.adapt
    functionSourceFile: jupyter_client.adapter
    functionUses: 5
    functionsReached:
    - jupyter_client.session.utcnow
    - adapters.get
    - datetime.datetime.now
    - <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: <builtin>.max
    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: stream.send_multipart
    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: pprint.pprint
    functionSourceFile: pprint
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f802537ae50>
    - <ast.Constant object at 0x7f802537a220>
    - <ast.Constant object at 0x7f802537abb0>
    argNames:
    - self
    - stream
    - msg_list
    - flags
    - copy
    - ident
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 876
    functionName: jupyter_client.session.Session.send_raw
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - to_send.append
    - h.hexdigest
    - traitlets.Instance.copy
    - stream.send_multipart
    - h.update
    - to_send.extend
    - <builtin>.isinstance
    - zmq.Socket.shadow
    - jupyter_client.session.Session.sign
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Attribute object at 0x7f8024387460>
    - <ast.Constant object at 0x7f8024387df0>
    - <ast.Constant object at 0x7f8024387e50>
    argNames:
    - self
    - socket
    - mode
    - content
    - copy
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 913
    functionName: jupyter_client.session.Session.recv
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - typing.cast
    - random.sample
    - traitlets.Instance.copy
    - jupyter_client.adapter.adapt
    - <builtin>.set
    - jupyter_client.session.Session.deserialize
    - datetime.datetime.now
    - h.update
    - traitlets.utils.importstring.import_item
    - socket.recv_multipart
    - jupyter_client.session.Session._check_packers.<lambda2>
    - jupyter_client.jsonutil.parse_date
    - ISO8601_PAT.match
    - <builtin>.bytes
    - dateutil.parser.parse
    - pprint.pprint
    - dateutil.parser.parse.items
    - jupyter_client.session.Session._add_digest
    - h.hexdigest
    - jupyter_client.session.utcnow
    - traitlets.Set.difference_update
    - jupyter_client.jsonutil._ensure_tzinfo
    - <builtin>.sorted
    - warnings.warn
    - msg_list.index
    - zmq.Socket.shadow
    - <builtin>.tuple
    - traitlets.Set.add
    - dateutil.parser.parse.replace
    - <builtin>.isinstance
    - dateutil.tz.tzlocal
    - jupyter_client.session.Session.sign
    - <builtin>.max
    - s.decode
    - pickle.loads
    - traitlets.Any
    - adapters.get
    - jupyter_client.session.Session._cull_digest_history
    - <builtin>.int
    - jupyter_client.session.json_unpacker
    - <builtin>.len
    - json.loads
    - <builtin>.memoryview
    - <builtin>.enumerate
    - jupyter_client.jsonutil.extract_dates
    - jupyter_client.session.Session.feed_identities
    - hmac.compare_digest
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.recv_multipart
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8024f1c490>
    argNames:
    - self
    - msg_list
    - copy
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 956
    functionName: jupyter_client.session.Session.feed_identities
    functionSourceFile: jupyter_client.session
    functionUses: 2
    functionsReached:
    - typing.cast
    - msg_list.index
    - <builtin>.bytes
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 3
    IfCount: 10
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f8024dda370>
    - <ast.Constant object at 0x7f8024ddaac0>
    argNames:
    - self
    - msg_list
    - content
    - copy
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1022
    functionName: jupyter_client.session.Session.deserialize
    functionSourceFile: jupyter_client.session
    functionUses: 3
    functionsReached:
    - typing.cast
    - random.sample
    - traitlets.Instance.copy
    - jupyter_client.adapter.adapt
    - <builtin>.set
    - datetime.datetime.now
    - h.update
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session._check_packers.<lambda2>
    - jupyter_client.jsonutil.parse_date
    - <builtin>.bytes
    - ISO8601_PAT.match
    - dateutil.parser.parse
    - pprint.pprint
    - dateutil.parser.parse.items
    - jupyter_client.session.Session._add_digest
    - h.hexdigest
    - jupyter_client.session.utcnow
    - traitlets.Set.difference_update
    - jupyter_client.jsonutil._ensure_tzinfo
    - <builtin>.sorted
    - warnings.warn
    - traitlets.Set.add
    - <builtin>.tuple
    - dateutil.parser.parse.replace
    - <builtin>.isinstance
    - dateutil.tz.tzlocal
    - jupyter_client.session.Session.sign
    - <builtin>.max
    - s.decode
    - pickle.loads
    - traitlets.Any
    - adapters.get
    - jupyter_client.session.Session._cull_digest_history
    - <builtin>.int
    - jupyter_client.session.json_unpacker
    - <builtin>.len
    - json.loads
    - <builtin>.memoryview
    - jupyter_client.jsonutil.extract_dates
    - hmac.compare_digest
    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: typing.cast
    functionSourceFile: typing
    functionUses: 131
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_list.index
    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>.bytes
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - signature
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 998
    functionName: jupyter_client.session.Session._add_digest
    functionSourceFile: jupyter_client.session
    functionUses: 4
    functionsReached:
    - <builtin>.len
    - <builtin>.max
    - random.sample
    - traitlets.Set.difference_update
    - <builtin>.set
    - <builtin>.tuple
    - <builtin>.sorted
    - jupyter_client.session.Session._cull_digest_history
    - traitlets.Set.add
    - <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: traitlets.Set.add
    functionSourceFile: traitlets
    functionUses: 5
    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: 1009
    functionName: jupyter_client.session.Session._cull_digest_history
    functionSourceFile: jupyter_client.session
    functionUses: 5
    functionsReached:
    - <builtin>.len
    - <builtin>.max
    - random.sample
    - traitlets.Set.difference_update
    - <builtin>.set
    - <builtin>.sorted
    - <builtin>.tuple
    - <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: <builtin>.sorted
    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: random.sample
    functionSourceFile: random
    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: traitlets.Set.difference_update
    functionSourceFile: traitlets
    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: hmac.compare_digest
    functionSourceFile: hmac
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 70
    functionName: jupyter_client.jsonutil.extract_dates
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 7
    functionsReached:
    - jupyter_client.jsonutil._ensure_tzinfo
    - warnings.warn
    - jupyter_client.jsonutil.extract_dates
    - jupyter_client.jsonutil.parse_date
    - ISO8601_PAT.match
    - dateutil.parser.parse
    - dateutil.parser.parse.replace
    - <builtin>.isinstance
    - dateutil.parser.parse.items
    - dateutil.tz.tzlocal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1099
    functionName: jupyter_client.session.Session.unserialize
    functionSourceFile: jupyter_client.session
    functionUses: 0
    functionsReached:
    - typing.cast
    - random.sample
    - traitlets.Instance.copy
    - jupyter_client.adapter.adapt
    - <builtin>.set
    - jupyter_client.session.Session.deserialize
    - datetime.datetime.now
    - h.update
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session._check_packers.<lambda2>
    - jupyter_client.jsonutil.parse_date
    - <builtin>.bytes
    - ISO8601_PAT.match
    - dateutil.parser.parse
    - pprint.pprint
    - dateutil.parser.parse.items
    - jupyter_client.session.Session._add_digest
    - h.hexdigest
    - jupyter_client.session.utcnow
    - traitlets.Set.difference_update
    - jupyter_client.jsonutil._ensure_tzinfo
    - <builtin>.sorted
    - warnings.warn
    - traitlets.Set.add
    - <builtin>.tuple
    - dateutil.parser.parse.replace
    - <builtin>.isinstance
    - dateutil.tz.tzlocal
    - jupyter_client.session.Session.sign
    - <builtin>.max
    - s.decode
    - pickle.loads
    - traitlets.Any
    - adapters.get
    - jupyter_client.session.Session._cull_digest_history
    - <builtin>.int
    - jupyter_client.session.json_unpacker
    - <builtin>.len
    - json.loads
    - <builtin>.memoryview
    - jupyter_client.jsonutil.extract_dates
    - hmac.compare_digest
    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: jupyter_client.adapter
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - code
    - cursor_pos
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 11
    functionName: jupyter_client.adapter.code_to_line
    functionSourceFile: jupyter_client.adapter
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - code.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: code.splitlines
    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: re.compile
    functionSourceFile: re
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - code
    - cursor_pos
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 33
    functionName: jupyter_client.adapter.extract_oname_v4
    functionSourceFile: jupyter_client.adapter
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - _match_bracket.sub
    - jupyter_client.adapter.code_to_line
    - _identifier.findall
    - _end_bracket.sub
    - code.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_bracket.sub
    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: _end_bracket.sub
    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: _identifier.findall
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 64
    functionName: jupyter_client.adapter.Adapter.update_header
    functionSourceFile: jupyter_client.adapter
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 68
    functionName: jupyter_client.adapter.Adapter.update_metadata
    functionSourceFile: jupyter_client.adapter
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 72
    functionName: jupyter_client.adapter.Adapter.update_msg_type
    functionSourceFile: jupyter_client.adapter
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 80
    functionName: jupyter_client.adapter.Adapter.handle_reply_status_error
    functionSourceFile: jupyter_client.adapter
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 87
    functionName: jupyter_client.adapter.Adapter.__call__
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - jupyter_client.adapter.Adapter.update_msg_type
    - jupyter_client.adapter.Adapter.handle_reply_status_error
    - jupyter_client.adapter.V5toV4.update_header
    - jupyter_client.adapter.Adapter.update_metadata
    - jupyter_client.adapter.V4toV5.update_header
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 246
    functionName: jupyter_client.adapter.V4toV5.update_header
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 130
    functionName: jupyter_client.adapter.V5toV4.update_header
    functionSourceFile: ''
    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:
    - version
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 103
    functionName: jupyter_client.adapter._version_str_to_list
    functionSourceFile: jupyter_client.adapter
    functionUses: 1
    functionsReached:
    - <builtin>.int
    - v.append
    - version.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: version.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: v.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 138
    functionName: jupyter_client.adapter.V5toV4.kernel_info_reply
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.get
    - jupyter_client.adapter._version_str_to_list
    - v4c.setdefault
    - v.append
    - version.split
    - <builtin>.int
    - language_info.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: content.get
    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: language_info.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: v4c.setdefault
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 155
    functionName: jupyter_client.adapter.V5toV4.execute_request
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: content.setdefault
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 161
    functionName: jupyter_client.adapter.V5toV4.execute_reply
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 168
    functionName: jupyter_client.adapter.V5toV4.complete_request
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - jupyter_client.adapter.code_to_line
    - code.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 182
    functionName: jupyter_client.adapter.V5toV4.complete_reply
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.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: content.pop
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 192
    functionName: jupyter_client.adapter.V5toV4.object_info_request
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - _match_bracket.sub
    - jupyter_client.adapter.code_to_line
    - jupyter_client.adapter.extract_oname_v4
    - _identifier.findall
    - _end_bracket.sub
    - code.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 204
    functionName: jupyter_client.adapter.V5toV4.object_info_reply
    functionSourceFile: jupyter_client.adapter
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 211
    functionName: jupyter_client.adapter.V5toV4.stream
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 217
    functionName: jupyter_client.adapter.V5toV4.display_data
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.setdefault
    - json.dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 232
    functionName: jupyter_client.adapter.V5toV4.input_request
    functionSourceFile: jupyter_client.adapter
    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: V5toV4.msg_type_map.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.adapter.V4toV5
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - V5toV4.msg_type_map.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 255
    functionName: jupyter_client.adapter.V4toV5.kernel_info_reply
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.setdefault
    - language_info.setdefault
    - content.pop
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.map
    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: language_info.setdefault
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 278
    functionName: jupyter_client.adapter.V4toV5.execute_request
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.setdefault
    - content.pop
    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: 287
    functionName: jupyter_client.adapter.V4toV5.execute_reply
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.get
    - content.pop
    - content.setdefault
    - payload.get
    - user_expressions.update
    - payload.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: user_expressions.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: payload.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: payload.pop
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 304
    functionName: jupyter_client.adapter.V4toV5.complete_request
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 313
    functionName: jupyter_client.adapter.V4toV5.complete_reply
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 331
    functionName: jupyter_client.adapter.V4toV5.inspect_request
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 342
    functionName: jupyter_client.adapter.V4toV5.inspect_reply
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - lines.append
    - content.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: lines.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 366
    functionName: jupyter_client.adapter.V4toV5.stream
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - content.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 372
    functionName: jupyter_client.adapter.V4toV5.display_data
    functionSourceFile: jupyter_client.adapter
    functionUses: 0
    functionsReached:
    - json.loads
    - content.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 387
    functionName: jupyter_client.adapter.V4toV5.input_request
    functionSourceFile: jupyter_client.adapter
    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: adapters.get
    functionSourceFile: <builtin>
    functionUses: 6
    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: -1
    functionName: jupyter_client._version
    functionSourceFile: jupyter_client._version
    functionUses: 0
    functionsReached:
    - parts.append
    - re.match
    - <builtin>.int
    - <builtin>.tuple
    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: -1
    functionName: jupyter_client.jsonutil
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 0
    functionsReached:
    - re.compile
    - datetime.datetime.strptime
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.strptime
    functionSourceFile: datetime
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - dt
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: jupyter_client.jsonutil._ensure_tzinfo
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 11
    functionsReached:
    - dateutil.tz.tzlocal
    - dateutil.parser.parse.replace
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dateutil.tz.tzlocal
    functionSourceFile: dateutil
    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: dateutil.parser.parse.replace
    functionSourceFile: dateutil
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 54
    functionName: jupyter_client.jsonutil.parse_date
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 8
    functionsReached:
    - jupyter_client.jsonutil._ensure_tzinfo
    - warnings.warn
    - ISO8601_PAT.match
    - dateutil.parser.parse
    - dateutil.parser.parse.replace
    - dateutil.tz.tzlocal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ISO8601_PAT.match
    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: dateutil.parser.parse
    functionSourceFile: dateutil
    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: dateutil.parser.parse.items
    functionSourceFile: dateutil
    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: obj.items
    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: obj.isoformat
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 97
    functionName: jupyter_client.jsonutil.date_default
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - binascii.b2a_base64
    - dateutil.parser.parse.isoformat
    - dateutil.tz.tzlocal
    - <builtin>.isinstance
    - <builtin>.float
    - jupyter_client.jsonutil._ensure_tzinfo
    - warnings.warn
    - dateutil.parser.parse.replace
    - <builtin>.int
    - binascii.b2a_base64.decode
    - jupyter_client.jsonutil.json_default
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 107
    functionName: jupyter_client.jsonutil.json_default
    functionSourceFile: jupyter_client.jsonutil
    functionUses: 1
    functionsReached:
    - <builtin>.list
    - binascii.b2a_base64
    - dateutil.parser.parse.isoformat
    - <builtin>.isinstance
    - <builtin>.float
    - jupyter_client.jsonutil._ensure_tzinfo
    - warnings.warn
    - dateutil.parser.parse.replace
    - binascii.b2a_base64.decode
    - dateutil.tz.tzlocal
    - <builtin>.int
    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: dateutil.parser.parse.isoformat
    functionSourceFile: dateutil
    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: binascii.b2a_base64
    functionSourceFile: binascii
    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: binascii.b2a_base64.decode
    functionSourceFile: binascii
    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: <builtin>.float
    functionSourceFile: <builtin>
    functionUses: 36
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: math.isnan
    functionSourceFile: math
    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: math.isinf
    functionSourceFile: math
    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: obj.strftime
    functionSourceFile: <builtin>
    functionUses: 16
    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: jupyter_client
    functionSourceFile: jupyter_client
    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: jupyter_client.asynchronous
    functionSourceFile: jupyter_client.asynchronous
    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: 0
    functionLinenumber: -1
    functionName: jupyter_client.asynchronous.client
    functionSourceFile: jupyter_client.asynchronous.client
    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:
    - meth
    - channel
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 15
    functionName: jupyter_client.asynchronous.client.wrapped
    functionSourceFile: jupyter_client.asynchronous.client
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 18
    functionName: jupyter_client.asynchronous.client.wrapped._
    functionSourceFile: jupyter_client.asynchronous.client
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - jupyter_client.blocking.client.wrapped
    - traitlets.Instance.msg
    - jupyter_client.client.KernelClient.inspect
    - jupyter_client.client.KernelClient.kernel_info
    - jupyter_client.asynchronous.client.wrapped
    - jupyter_client.client.KernelClient.is_complete
    - kwargs.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: kwargs.pop
    functionSourceFile: <builtin>
    functionUses: 50
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f80243871c0>
    - <ast.Constant object at 0x7f8024387e80>
    argNames:
    - self
    - code
    - cursor_pos
    - detail_level
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 670
    functionName: jupyter_client.client.KernelClient.inspect
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - traitlets.Instance.msg
    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: 747
    functionName: jupyter_client.client.KernelClient.kernel_info
    functionSourceFile: jupyter_client.client
    functionUses: 3
    functionsReached:
    - traitlets.Instance.msg
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - meth
    - channel
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 18
    functionName: jupyter_client.blocking.client.wrapped
    functionSourceFile: ''
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 780
    functionName: jupyter_client.client.KernelClient.is_complete
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - traitlets.Instance.msg
    linkageType: 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: jupyter_client.asynchronous.client.AsyncKernelClient
    functionSourceFile: jupyter_client.asynchronous.client
    functionUses: 0
    functionsReached:
    - jupyter_client.client.reqrep
    - meth.__doc__.split
    - basedoc.strip
    - jupyter_client.blocking.client.wrapped
    - traitlets.Type
    - traitlets.Instance
    - parts.append
    - jupyter_client.asynchronous.client.wrapped
    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: 38
    functionName: jupyter_client.asynchronous.client.AsyncKernelClient._context_default
    functionSourceFile: jupyter_client.asynchronous.client
    functionUses: 0
    functionsReached:
    - zmq.asyncio.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: zmq.asyncio.Context
    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: traitlets.Type
    functionSourceFile: traitlets
    functionUses: 38
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8025366370>
    argNames:
    - wrapped
    - meth
    - channel
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: jupyter_client.client.reqrep
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - meth.__doc__.split
    - basedoc.strip
    - jupyter_client.blocking.client.wrapped
    - parts.append
    - jupyter_client.asynchronous.client.wrapped
    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: -1
    functionName: jupyter_client.channels
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - HBChannelABC.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f8024a5b130>
    - <ast.Constant object at 0x7f8024a5b1f0>
    - <ast.Constant object at 0x7f8024a5bdf0>
    argNames:
    - self
    - context
    - session
    - address
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 52
    functionName: jupyter_client.channels.HBChannel.__init__
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.isinstance
    - zmq.Poller
    - threading.Event
    linkageType: pythonLinkage
    raised:
    - InvalidPortNumber
    returnType: N/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.Event
    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: zmq.Poller
    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: jupyter_client.channels.HBChannel
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - atexit.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atexit.register
    functionSourceFile: atexit
    functionUses: 6
    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: 0
    functionLinenumber: 92
    functionName: jupyter_client.channels.HBChannel._notice_exit
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached: []
    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: 0
    functionLinenumber: 98
    functionName: jupyter_client.channels.HBChannel._create_socket
    functionSourceFile: jupyter_client.channels
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 8
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 111
    functionName: jupyter_client.channels.HBChannel._async_run
    functionSourceFile: jupyter_client.channels
    functionUses: 1
    functionsReached:
    - <builtin>.bool
    - jupyter_core.utils.ensure_async
    - jupyter_client.channels.HBChannel._create_socket
    - time.time
    - threading.Event.wait
    - jupyter_client.channels.HBChannel.call_handlers
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.Event.wait
    functionSourceFile: threading
    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: jupyter_core.utils.ensure_async
    functionSourceFile: jupyter_core
    functionUses: 83
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: <builtin>.bool
    functionSourceFile: <builtin>
    functionUses: 44
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - since_last_heartbeat
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 183
    functionName: jupyter_client.channels.HBChannel.call_handlers
    functionSourceFile: ''
    functionUses: 2
    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: 2
    functionLinenumber: 145
    functionName: jupyter_client.channels.HBChannel.run
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - jupyter_core.utils.ensure_async
    - jupyter_client.channels.HBChannel._create_socket
    - time.time
    - threading.Event.wait
    - loop.run_until_complete
    - asyncio.new_event_loop
    - asyncio.set_event_loop
    - jupyter_client.channels.HBChannel.call_handlers
    - loop.close
    - jupyter_client.channels.HBChannel._async_run
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.new_event_loop
    functionSourceFile: asyncio
    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: asyncio.set_event_loop
    functionSourceFile: asyncio
    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: loop.run_until_complete
    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: loop.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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 152
    functionName: jupyter_client.channels.HBChannel.pause
    functionSourceFile: jupyter_client.channels
    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: 156
    functionName: jupyter_client.channels.HBChannel.unpause
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    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: 160
    functionName: jupyter_client.channels.HBChannel.is_beating
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - threading.Thread.is_alive
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.Thread.is_alive
    functionSourceFile: threading
    functionUses: 2
    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: 1
    functionLinenumber: 167
    functionName: jupyter_client.channels.HBChannel.stop
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - jupyter_client.channels.HBChannel.close
    - threading.Thread.join
    - threading.Event.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: threading.Event.set
    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: threading.Thread.join
    functionSourceFile: threading
    functionUses: 4
    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: 0
    functionLinenumber: 174
    functionName: jupyter_client.channels.HBChannel.close
    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: HBChannelABC.register
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f802456b1c0>
    argNames:
    - self
    - socket
    - session
    - loop
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 200
    functionName: jupyter_client.channels.ZMQSocketChannel.__init__
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - <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
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 217
    functionName: jupyter_client.channels.ZMQSocketChannel._recv
    functionSourceFile: jupyter_client.channels
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f80246d87c0>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 223
    functionName: jupyter_client.channels.ZMQSocketChannel.get_msg
    functionSourceFile: jupyter_client.channels
    functionUses: 1
    functionsReached:
    - <builtin>.int
    - jupyter_client.channels.ZMQSocketChannel._recv
    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: 234
    functionName: jupyter_client.channels.ZMQSocketChannel.get_msgs
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - msgs.append
    - <builtin>.int
    - jupyter_client.channels.ZMQSocketChannel.get_msg
    - jupyter_client.channels.ZMQSocketChannel._recv
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: msgs.append
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 244
    functionName: jupyter_client.channels.ZMQSocketChannel.msg_ready
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    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: 0
    functionLinenumber: 249
    functionName: jupyter_client.channels.ZMQSocketChannel.close
    functionSourceFile: jupyter_client.channels
    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: 260
    functionName: jupyter_client.channels.ZMQSocketChannel.is_alive
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 264
    functionName: jupyter_client.channels.ZMQSocketChannel.send
    functionSourceFile: jupyter_client.channels
    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: 269
    functionName: jupyter_client.channels.ZMQSocketChannel.start
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f8024f86940>
    argNames:
    - self
    - socket
    - session
    - loop
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 279
    functionName: jupyter_client.channels.AsyncZMQSocketChannel.__init__
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 296
    functionName: jupyter_client.channels.AsyncZMQSocketChannel._recv
    functionSourceFile: jupyter_client.channels
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f80244f47f0>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 302
    functionName: jupyter_client.channels.AsyncZMQSocketChannel.get_msg
    functionSourceFile: jupyter_client.channels
    functionUses: 1
    functionsReached:
    - <builtin>.int
    - jupyter_client.channels.AsyncZMQSocketChannel._recv
    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: 315
    functionName: jupyter_client.channels.AsyncZMQSocketChannel.get_msgs
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - msgs.append
    - <builtin>.int
    - jupyter_client.channels.AsyncZMQSocketChannel.get_msg
    - jupyter_client.channels.AsyncZMQSocketChannel._recv
    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: 325
    functionName: jupyter_client.channels.AsyncZMQSocketChannel.msg_ready
    functionSourceFile: jupyter_client.channels
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    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: jupyter_client.channelsabc
    functionSourceFile: jupyter_client.channelsabc
    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: jupyter_client.channelsabc.ChannelABC
    functionSourceFile: jupyter_client.channelsabc
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: abc.abstractmethod
    functionSourceFile: ''
    functionUses: 7
    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: 11
    functionName: jupyter_client.channelsabc.ChannelABC.start
    functionSourceFile: jupyter_client.channelsabc
    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: 16
    functionName: jupyter_client.channelsabc.ChannelABC.stop
    functionSourceFile: jupyter_client.channelsabc
    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: 21
    functionName: jupyter_client.channelsabc.ChannelABC.is_alive
    functionSourceFile: jupyter_client.channelsabc
    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: jupyter_client.channelsabc.HBChannelABC
    functionSourceFile: jupyter_client.channelsabc
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    - abc.abstractproperty
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: abc.abstractproperty
    functionSourceFile: ''
    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: 0
    functionLinenumber: 35
    functionName: jupyter_client.channelsabc.HBChannelABC.time_to_dead
    functionSourceFile: jupyter_client.channelsabc
    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: 39
    functionName: jupyter_client.channelsabc.HBChannelABC.pause
    functionSourceFile: jupyter_client.channelsabc
    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: 44
    functionName: jupyter_client.channelsabc.HBChannelABC.unpause
    functionSourceFile: jupyter_client.channelsabc
    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: 49
    functionName: jupyter_client.channelsabc.HBChannelABC.is_beating
    functionSourceFile: jupyter_client.channelsabc
    functionUses: 0
    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: -1
    functionName: jupyter_client.client
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - KernelClientABC.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - dct
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 27
    functionName: jupyter_client.client.validate_string_dict
    functionSourceFile: jupyter_client.client
    functionUses: 1
    functionsReached:
    - dct.items
    - <builtin>.isinstance
    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: dct.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: meth.__doc__.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: basedoc.strip
    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: 1
    functionLinenumber: -1
    functionName: jupyter_client.client.KernelClient
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - traitlets.Any
    - traitlets.Instance
    - traitlets.Type
    - traitlets.Bool
    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: 95
    functionName: jupyter_client.client.KernelClient._context_default
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - zmq.Context
    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: 1
    functionLinenumber: 116
    functionName: jupyter_client.client.KernelClient.__del__
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.Instance.destroy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.log.warning
    functionSourceFile: traitlets
    functionUses: 70
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.log.debug
    functionSourceFile: traitlets
    functionUses: 106
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.destroy
    functionSourceFile: traitlets
    functionUses: 6
    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: 141
    functionName: jupyter_client.client.KernelClient._async_get_shell_msg
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - jupyter_core.utils.ensure_async
    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: 145
    functionName: jupyter_client.client.KernelClient._async_get_iopub_msg
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - jupyter_core.utils.ensure_async
    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: 149
    functionName: jupyter_client.client.KernelClient._async_get_stdin_msg
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - jupyter_core.utils.ensure_async
    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: 153
    functionName: jupyter_client.client.KernelClient._async_get_control_msg
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - jupyter_core.utils.ensure_async
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 5
    IfCount: 6
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024ed8880>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 157
    functionName: jupyter_client.client.KernelClient._async_wait_for_ready
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - jupyter_client.blocking.client.wrapped
    - jupyter_server.gateway.managers.ChannelQueue.is_alive
    - jupyter_core.utils.ensure_async
    - <builtin>.float
    - traitlets.Instance.msg
    - time.time
    - traitlets.Any.is_beating
    - asyncio.sleep
    - jupyter_client.client.KernelClient.kernel_info
    - jupyter_server.gateway.managers.HBChannelQueue.is_beating
    - jupyter_client.client.KernelClient._handle_kernel_info_reply
    - <builtin>.int
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.parent._async_is_alive
    - jupyter_client.asynchronous.client.wrapped
    - jupyter_client.client.KernelClient._async_is_alive
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: 2
    functionLinenumber: 408
    functionName: jupyter_client.client.KernelClient._async_is_alive
    functionSourceFile: jupyter_client.client
    functionUses: 1
    functionsReached:
    - jupyter_server.gateway.managers.ChannelQueue.is_alive
    - traitlets.Any.is_beating
    - jupyter_server.gateway.managers.HBChannelQueue.is_beating
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.parent._async_is_alive
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.sleep
    functionSourceFile: asyncio
    functionUses: 33
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 770
    functionName: jupyter_client.client.KernelClient._handle_kernel_info_reply
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f80249a8ac0>
    - <ast.Constant object at 0x7f80249a82e0>
    argNames:
    - self
    - msg_id
    - timeout
    - channel
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 216
    functionName: jupyter_client.client.KernelClient._async_recv_reply
    functionSourceFile: jupyter_client.client
    functionUses: 1
    functionsReached:
    - <builtin>.max
    - time.monotonic
    - jupyter_core.utils.ensure_async
    - jupyter_client.client.KernelClient._async_get_control_msg
    - jupyter_client.client.KernelClient._async_get_shell_msg
    linkageType: pythonLinkage
    raised:
    - TimeoutError
    returnType: N/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: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 238
    functionName: jupyter_client.client.KernelClient._stdin_hook_default
    functionSourceFile: jupyter_client.client
    functionUses: 1
    functionsReached:
    - jupyter_client.client.KernelClient.input
    - sys.stdout.write
    - traitlets.Instance.msg
    - content.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: sys.stdout.write
    functionSourceFile: sys
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - string
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 791
    functionName: jupyter_client.client.KernelClient.input
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - traitlets.Instance.msg
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 257
    functionName: jupyter_client.client.KernelClient._output_hook_default
    functionSourceFile: jupyter_client.client
    functionUses: 2
    functionsReached:
    - sys.stdout.write
    - sys.stderr.write
    - stream.write
    - <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: stream.write
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stderr.write
    functionSourceFile: sys
    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
    - session
    - socket
    - parent_header
    - msg
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 269
    functionName: jupyter_client.client.KernelClient._output_hook_kernel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - sys.stdout.write
    - stream.write
    - session.send
    - sys.stderr.write
    - <builtin>.getattr
    - jupyter_client.client.KernelClient._output_hook_default
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: session.send
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 6
    IfCount: 5
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f802509f850>
    - <ast.Constant object at 0x7f802509f8b0>
    - <ast.Constant object at 0x7f802509f760>
    - <ast.Constant object at 0x7f802509fa60>
    - <ast.Constant object at 0x7f802509f130>
    argNames:
    - self
    - shell
    - iopub
    - stdin
    - hb
    - control
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 290
    functionName: jupyter_client.client.KernelClient.start_channels
    functionSourceFile: jupyter_client.client
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 6
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 320
    functionName: jupyter_client.client.KernelClient.stop_channels
    functionSourceFile: jupyter_client.client
    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: 337
    functionName: jupyter_client.client.KernelClient.channels_running
    functionSourceFile: jupyter_client.client
    functionUses: 0
    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: 350
    functionName: jupyter_client.client.KernelClient.shell_channel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - sock.connect
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.Type
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin.connect_shell
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - channel
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 636
    functionName: jupyter_client.connect.ConnectionFileMixin._make_url
    functionSourceFile: jupyter_client.connect
    functionUses: 20
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024d49460>
    argNames:
    - self
    - identity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 668
    functionName: jupyter_client.connect.ConnectionFileMixin.connect_shell
    functionSourceFile: jupyter_client.connect
    functionUses: 2
    functionsReached:
    - sock.connect
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.Instance.socket
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    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: 362
    functionName: jupyter_client.client.KernelClient.iopub_channel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - sock.connect
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.connect.ConnectionFileMixin.connect_iopub
    - traitlets.Type
    - traitlets.Instance.socket
    - <builtin>.getattr
    - sock.setsockopt
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    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 0x7f8024d496a0>
    argNames:
    - self
    - identity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 662
    functionName: jupyter_client.connect.ConnectionFileMixin.connect_iopub
    functionSourceFile: jupyter_client.connect
    functionUses: 2
    functionsReached:
    - sock.connect
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.Instance.socket
    - <builtin>.getattr
    - sock.setsockopt
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    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: 374
    functionName: jupyter_client.client.KernelClient.stdin_channel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - sock.connect
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.Type
    - jupyter_client.connect.ConnectionFileMixin.connect_stdin
    - traitlets.Instance.socket
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f80252eb0d0>
    argNames:
    - self
    - identity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 672
    functionName: jupyter_client.connect.ConnectionFileMixin.connect_stdin
    functionSourceFile: jupyter_client.connect
    functionUses: 2
    functionsReached:
    - sock.connect
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.Instance.socket
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    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: 2
    functionLinenumber: 386
    functionName: jupyter_client.client.KernelClient.hb_channel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.Type
    - <builtin>.getattr
    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: 397
    functionName: jupyter_client.client.KernelClient.control_channel
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - sock.connect
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.Type
    - traitlets.Instance.socket
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - jupyter_client.connect.ConnectionFileMixin.connect_control
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024d3f820>
    argNames:
    - self
    - identity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 680
    functionName: jupyter_client.connect.ConnectionFileMixin.connect_control
    functionSourceFile: jupyter_client.connect
    functionUses: 2
    functionsReached:
    - sock.connect
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.Instance.socket
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.parent._async_is_alive
    functionSourceFile: traitlets
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 688
    functionName: jupyter_server.gateway.managers.HBChannelQueue.is_beating
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 3
    functionsReached:
    - jupyter_server.gateway.managers.ChannelQueue.is_alive
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Any.is_beating
    functionSourceFile: traitlets
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 25
    ICount: 5
    IfCount: 17
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7f80250aa9a0>
    - <ast.Constant object at 0x7f80250aac40>
    - <ast.Constant object at 0x7f80250aaac0>
    - <ast.Constant object at 0x7f80250aadf0>
    - <ast.Constant object at 0x7f80250aa370>
    - <ast.Constant object at 0x7f80250aa940>
    - <ast.Constant object at 0x7f80250aabb0>
    - <ast.Constant object at 0x7f80250aa7f0>
    argNames:
    - self
    - code
    - silent
    - store_history
    - user_expressions
    - allow_stdin
    - stop_on_error
    - timeout
    - output_hook
    - stdin_hook
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 424
    functionName: jupyter_client.client.KernelClient._async_execute_interactive
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - poller.poll
    - IPython.get_ipython
    - stream.write
    - sys.stderr.write
    - poller.register
    - functools.partial
    - zmq.asyncio.Poller
    - <builtin>.getattr
    - jupyter_client.client.KernelClient._output_hook_default
    - <builtin>.max
    - sys.stdout.write
    - time.monotonic
    - content.get
    - jupyter_client.client.KernelClient._stdin_hook_default
    - <builtin>.dict
    - <builtin>.int
    - jupyter_client.client.KernelClient.input
    - jupyter_client.asynchronous.client.wrapped
    - jupyter_client.client.KernelClient._async_get_shell_msg
    - jupyter_client.blocking.client.wrapped
    - jupyter_core.utils.ensure_async
    - jupyter_client.client.KernelClient._async_recv_reply
    - traitlets.Instance.msg
    - jupyter_client.client.KernelClient._async_get_control_msg
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    - TimeoutError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: IPython.get_ipython
    functionSourceFile: IPython
    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: functools.partial
    functionSourceFile: functools
    functionUses: 30
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: zmq.asyncio.Poller
    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: poller.register
    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: poller.poll
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f80248a1b20>
    - <ast.Constant object at 0x7f80248a17c0>
    - <ast.Constant object at 0x7f80248a1100>
    - <ast.Constant object at 0x7f80248a1f10>
    - <ast.Constant object at 0x7f80248a1d60>
    argNames:
    - self
    - code
    - silent
    - store_history
    - user_expressions
    - allow_stdin
    - stop_on_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 580
    functionName: jupyter_client.client.KernelClient.execute
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - jupyter_client.client.validate_string_dict
    - traitlets.Instance.msg
    - dct.items
    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: traitlets.Instance.msg
    functionSourceFile: traitlets
    functionUses: 26
    functionsReached: []
    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 0x7f802537a070>
    argNames:
    - self
    - code
    - cursor_pos
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 647
    functionName: jupyter_client.client.KernelClient.complete
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - traitlets.Instance.msg
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f802451fee0>
    - <ast.Constant object at 0x7f802451f3d0>
    - <ast.Constant object at 0x7f802451f2b0>
    argNames:
    - self
    - raw
    - output
    - hist_access_type
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 701
    functionName: jupyter_client.client.KernelClient.history
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - kwargs.setdefault
    - traitlets.Instance.msg
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.setdefault
    functionSourceFile: <builtin>
    functionUses: 31
    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 0x7f80248913d0>
    argNames:
    - self
    - target_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 758
    functionName: jupyter_client.client.KernelClient.comm_info
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - traitlets.Instance.msg
    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 0x7f802444ad90>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 805
    functionName: jupyter_client.client.KernelClient.shutdown
    functionSourceFile: jupyter_client.client
    functionUses: 0
    functionsReached:
    - traitlets.Instance.msg
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: KernelClientABC.register
    functionSourceFile: <builtin>
    functionUses: 2
    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: -1
    functionName: jupyter_client.manager
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    - contextlib.contextmanager
    - KernelManagerABC.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.TypeVar
    functionSourceFile: typing
    functionUses: 2
    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: 63
    functionName: jupyter_client.manager._get_future
    functionSourceFile: jupyter_client.manager
    functionUses: 2
    functionsReached:
    - asyncio.futures.Future
    - concurrent.futures.Future
    - asyncio.get_running_loop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.get_running_loop
    functionSourceFile: asyncio
    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: asyncio.futures.Future
    functionSourceFile: asyncio
    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: concurrent.futures.Future
    functionSourceFile: concurrent
    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:
    - method
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 73
    functionName: jupyter_client.manager.in_pending_state
    functionSourceFile: jupyter_client.manager
    functionUses: 1
    functionsReached:
    - typing.cast
    - typing.no_type_check
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.no_type_check
    functionSourceFile: ''
    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.wraps
    functionSourceFile: functools
    functionUses: 51
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 81
    functionName: jupyter_client.manager.in_pending_state.wrapper
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - sock.connect
    - <builtin>.open
    - typing.cast
    - jupyter_client.manager.KernelManager._async_send_kernel_sigterm
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - conn2.get
    - jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    - jupyter_client.localinterfaces.localhost
    - jupyter_client.manager.KernelManager._async_request_shutdown
    - asyncio.get_running_loop
    - asyncio.wait_for
    - jupyter_client.manager.KernelManager._async_launch_kernel
    - jupyter_client.manager.KernelManager._async_start_kernel
    - <builtin>.setattr
    - os.remove
    - key.encode
    - os.path.splitext
    - traitlets.Instance.clone
    - jupyter_client.manager.KernelManager._connect_control_socket
    - <builtin>.str
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.connect.ConnectionFileMixin._equal_connections
    - jupyter_client.manager.KernelManager._async_kill_kernel
    - jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files
    - kw.copy
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - <builtin>.getattr
    - <builtin>.isinstance
    - concurrent.futures.Future
    - asyncio.futures.Future
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - <builtin>.max
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - kw.pop
    - jupyter_client.manager.KernelManager._async_cleanup_resources
    - <builtin>.all
    - jupyter_client.manager.KernelManager._async_signal_kernel
    - jupyter_client.manager.KernelManager._async_shutdown_kernel
    - conn1.get
    - jupyter_client.manager.KernelManager.start_restarter
    - asyncio.ensure_future
    - traitlets.Instance.destroy
    - jupyter_client.manager.KernelManager._close_control_socket
    - traitlets.Instance.socket
    - traitlets.config.LoggingConfigurable.log.warning
    - os.path.exists
    - info.update
    - jupyter_client.manager.KernelManager._async_interrupt_kernel
    - jupyter_client.manager._get_future
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - jupyter_client.manager.KernelManager._async_post_start_kernel
    - json.load
    - jupyter_client.manager.KernelManager._async_pre_start_kernel
    - jupyter_client.manager.KernelManager._async_finish_shutdown
    - traitlets.Instance.msg
    - asyncio.sleep
    - jupyter_client.manager.KernelManager._async_wait
    - info.get
    - jupyter_client.manager.KernelManager._async_is_alive
    - jupyter_client.manager.KernelManager.stop_restarter
    - uuid.uuid4
    - traitlets.Instance.send
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 422
    functionName: jupyter_client.manager.KernelManager._async_start_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 2
    functionsReached:
    - sock.connect
    - <builtin>.open
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - conn2.get
    - jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info
    - jupyter_client.localinterfaces.localhost
    - jupyter_client.manager.KernelManager._async_launch_kernel
    - <builtin>.setattr
    - os.remove
    - os.path.splitext
    - key.encode
    - traitlets.Instance.clone
    - jupyter_client.manager.KernelManager._connect_control_socket
    - <builtin>.str
    - jupyter_client.connect.ConnectionFileMixin._equal_connections
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - kw.copy
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - <builtin>.getattr
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - kw.pop
    - <builtin>.all
    - conn1.get
    - jupyter_client.manager.KernelManager.start_restarter
    - traitlets.Instance.socket
    - os.path.exists
    - info.update
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - jupyter_client.manager.KernelManager._async_post_start_kernel
    - json.load
    - jupyter_client.manager.KernelManager._async_pre_start_kernel
    - info.get
    - uuid.uuid4
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8024f455e0>
    - <ast.Constant object at 0x7f8024f457f0>
    argNames:
    - self
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 516
    functionName: jupyter_client.manager.KernelManager._async_shutdown_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 2
    functionsReached:
    - typing.cast
    - sock.connect
    - jupyter_client.manager.KernelManager._async_send_kernel_sigterm
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    - jupyter_client.manager.KernelManager._async_request_shutdown
    - asyncio.wait_for
    - os.remove
    - jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files
    - jupyter_client.manager.KernelManager._connect_control_socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.manager.KernelManager._async_kill_kernel
    - <builtin>.getattr
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - <builtin>.max
    - jupyter_client.manager.KernelManager._async_cleanup_resources
    - jupyter_client.manager.KernelManager._async_signal_kernel
    - traitlets.Instance.destroy
    - asyncio.ensure_future
    - jupyter_client.manager.KernelManager._close_control_socket
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.Instance.socket
    - jupyter_client.manager.KernelManager._async_interrupt_kernel
    - jupyter_client.manager.KernelManager._async_finish_shutdown
    - traitlets.Instance.msg
    - asyncio.sleep
    - jupyter_client.manager.KernelManager._async_wait
    - jupyter_client.manager.KernelManager._async_is_alive
    - jupyter_client.manager.KernelManager.stop_restarter
    - traitlets.Instance.send
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 109
    functionName: jupyter_client.manager.KernelManager.__init__
    functionSourceFile: jupyter_client.manager
    functionUses: 4
    functionsReached:
    - <builtin>.super
    - kwargs.pop
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jupyter_client.manager.KernelManager
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - traitlets.observe
    - traitlets.Float
    - typing.cast
    - traitlets.Bool
    - traitlets.Type
    - traitlets.Dict
    - traitlets.default
    - traitlets.Any
    - jupyter_client.manager.in_pending_state
    - jupyter_core.utils.run_sync
    - traitlets.Instance
    - traitlets.DottedObjectName
    - traitlets.observe_compat
    - typing.no_type_check
    - traitlets.Unicode
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.default
    functionSourceFile: traitlets
    functionUses: 25
    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: 132
    functionName: jupyter_client.manager.KernelManager._context_default
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - zmq.Context
    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: 143
    functionName: jupyter_client.manager.KernelManager._client_factory_default
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 147
    functionName: jupyter_client.manager.KernelManager._client_class_changed
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - <builtin>.str
    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: 160
    functionName: jupyter_client.manager.KernelManager._kernel_spec_manager_default
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__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: traitlets.config.LoggingConfigurable.__init__
    functionSourceFile: ''
    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: traitlets.observe_compat
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 165
    functionName: jupyter_client.manager.KernelManager._kernel_spec_manager_changed
    functionSourceFile: jupyter_client.manager
    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: traitlets.Float
    functionSourceFile: traitlets
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 185
    functionName: jupyter_client.manager.KernelManager._kernel_name_changed
    functionSourceFile: jupyter_client.manager
    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: 193
    functionName: jupyter_client.manager.KernelManager.kernel_spec
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.kernel_spec_manager.get_kernel_spec
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.kernel_spec_manager.get_kernel_spec
    functionSourceFile: traitlets
    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: 205
    functionName: jupyter_client.manager.KernelManager._default_cache_ports
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    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: 209
    functionName: jupyter_client.manager.KernelManager.ready
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - asyncio.futures.Future
    - jupyter_client.manager._get_future
    - concurrent.futures.Future
    - asyncio.get_running_loop
    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: jupyter_client.manager.KernelManager.ipykernel
    functionSourceFile: jupyter_client.manager
    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: 2
    functionLinenumber: 231
    functionName: jupyter_client.manager.KernelManager.__del__
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - jupyter_client.manager.KernelManager._close_control_socket
    - os.remove
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    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: 369
    functionName: jupyter_client.manager.KernelManager._close_control_socket
    functionSourceFile: ''
    functionUses: 5
    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: 440
    functionName: jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    functionSourceFile: jupyter_client.connect
    functionUses: 6
    functionsReached:
    - os.remove
    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: 239
    functionName: jupyter_client.manager.KernelManager.start_restarter
    functionSourceFile: jupyter_client.manager
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 243
    functionName: jupyter_client.manager.KernelManager.stop_restarter
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached: []
    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 0x7f8024a997f0>
    argNames:
    - self
    - callback
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 247
    functionName: jupyter_client.manager.KernelManager.add_restart_callback
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached: []
    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 0x7f80251e72e0>
    argNames:
    - self
    - callback
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 253
    functionName: jupyter_client.manager.KernelManager.remove_restart_callback
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 263
    functionName: jupyter_client.manager.KernelManager.client
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.clone
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - info.update
    - traitlets.utils.importstring.import_item
    - kw.update
    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 0x7f8024ceb6a0>
    argNames:
    - self
    - session
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 392
    functionName: jupyter_client.connect.ConnectionFileMixin.get_connection_info
    functionSourceFile: jupyter_client.connect
    functionUses: 8
    functionsReached:
    - traitlets.Instance.clone
    - info.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kw.update
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - env
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 282
    functionName: jupyter_client.manager.KernelManager.update_env
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024825d90>
    argNames:
    - self
    - extra_arguments
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 303
    functionName: jupyter_client.manager.KernelManager.format_kernel_cmd
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - re.compile
    - ns.update
    - pat.sub
    - os.path.realpath
    - <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: os.path.realpath
    functionSourceFile: os
    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: ns.update
    functionSourceFile: <builtin>
    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:
    - match
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 340
    functionName: jupyter_client.manager.KernelManager.format_kernel_cmd.from_ns
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - ns.get
    - match.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: ns.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: pat.sub
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_cmd
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 346
    functionName: jupyter_client.manager.KernelManager._async_launch_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - <builtin>.open
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - conn2.get
    - jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info
    - jupyter_client.localinterfaces.localhost
    - <builtin>.setattr
    - key.encode
    - os.remove
    - os.path.splitext
    - traitlets.Instance.clone
    - jupyter_client.connect.ConnectionFileMixin._equal_connections
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - <builtin>.getattr
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - <builtin>.isinstance
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - <builtin>.all
    - conn1.get
    - os.path.exists
    - info.update
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - json.load
    - info.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 568
    functionName: jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info
    functionSourceFile: jupyter_client.connect
    functionUses: 4
    functionsReached:
    - <builtin>.open
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - conn2.get
    - jupyter_client.localinterfaces.localhost
    - <builtin>.setattr
    - key.encode
    - os.remove
    - os.path.splitext
    - traitlets.Instance.clone
    - jupyter_client.connect.ConnectionFileMixin._equal_connections
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - <builtin>.getattr
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - <builtin>.isinstance
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - <builtin>.all
    - conn1.get
    - os.path.exists
    - info.update
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - json.load
    - info.get
    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: jupyter_core.utils.run_sync
    functionSourceFile: jupyter_core
    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: 3
    functionLinenumber: 364
    functionName: jupyter_client.manager.KernelManager._connect_control_socket
    functionSourceFile: jupyter_client.manager
    functionUses: 7
    functionsReached:
    - sock.connect
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.Instance.socket
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f80246b10a0>
    argNames:
    - self
    - channel
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 647
    functionName: jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    functionSourceFile: jupyter_client.connect
    functionUses: 18
    functionsReached:
    - sock.connect
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.Instance.socket
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 375
    functionName: jupyter_client.manager.KernelManager._async_pre_start_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - <builtin>.str
    - traitlets.config.SingletonConfigurable.instance
    - kw.pop
    - kw.copy
    - uuid.uuid4
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: uuid.uuid4
    functionSourceFile: uuid
    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: kw.pop
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kw.copy
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.SingletonConfigurable.instance
    functionSourceFile: traitlets
    functionUses: 39
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 406
    functionName: jupyter_client.manager.KernelManager._async_post_start_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - sock.connect
    - jupyter_client.manager.KernelManager._connect_control_socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.manager.KernelManager.start_restarter
    - traitlets.Instance.socket
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024d9fe20>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 444
    functionName: jupyter_client.manager.KernelManager._async_request_shutdown
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - sock.connect
    - jupyter_client.manager.KernelManager._connect_control_socket
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.Instance.msg
    - traitlets.Instance.socket
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.Instance.send
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.send
    functionSourceFile: traitlets
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 8
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f80253eb910>
    - <ast.Constant object at 0x7f80253ebc10>
    - <ast.Constant object at 0x7f802444a3a0>
    argNames:
    - self
    - waittime
    - pollinterval
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 457
    functionName: jupyter_client.manager.KernelManager._async_finish_shutdown
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - <builtin>.max
    - jupyter_client.manager.KernelManager._async_kill_kernel
    - jupyter_client.manager.KernelManager._async_send_kernel_sigterm
    - asyncio.sleep
    - jupyter_client.manager.KernelManager._async_wait
    - jupyter_client.manager.KernelManager._async_is_alive
    - traitlets.config.LoggingConfigurable.log.warning
    - asyncio.wait_for
    - traitlets.config.LoggingConfigurable.log.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024efbcd0>
    argNames:
    - self
    - pollinterval
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 704
    functionName: jupyter_client.manager.KernelManager._async_wait
    functionSourceFile: jupyter_client.manager
    functionUses: 5
    functionsReached:
    - jupyter_client.manager.KernelManager._async_is_alive
    - asyncio.sleep
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.wait_for
    functionSourceFile: asyncio
    functionUses: 5
    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 0x7f8024d536a0>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 609
    functionName: jupyter_client.manager.KernelManager._async_send_kernel_sigterm
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8025d01f40>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 617
    functionName: jupyter_client.manager.KernelManager._async_kill_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 4
    functionsReached:
    - asyncio.sleep
    - jupyter_client.manager.KernelManager._async_wait
    - jupyter_client.manager.KernelManager._async_is_alive
    - traitlets.config.LoggingConfigurable.log.warning
    - asyncio.wait_for
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8025095b20>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 498
    functionName: jupyter_client.manager.KernelManager._async_cleanup_resources
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    - traitlets.Instance.destroy
    - jupyter_client.manager.KernelManager._close_control_socket
    - os.remove
    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: 453
    functionName: jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files
    functionSourceFile: jupyter_client.connect
    functionUses: 4
    functionsReached:
    - os.remove
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 6
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 640
    functionName: jupyter_client.manager.KernelManager._async_interrupt_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    functionsReached:
    - typing.cast
    - jupyter_client.manager.KernelManager._connect_control_socket
    - sock.connect
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.manager.KernelManager._async_signal_kernel
    - traitlets.Instance.msg
    - asyncio.ensure_future
    - traitlets.Instance.socket
    - <builtin>.getattr
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - traitlets.Instance.send
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f8024e88c10>
    - <ast.Constant object at 0x7f8024e88100>
    argNames:
    - self
    - now
    - newports
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 557
    functionName: jupyter_client.manager.KernelManager._async_restart_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - sock.connect
    - <builtin>.open
    - typing.cast
    - jupyter_client.manager.KernelManager._async_send_kernel_sigterm
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info
    - conn2.get
    - jupyter_client.localinterfaces.localhost
    - jupyter_client.manager.KernelManager._async_request_shutdown
    - jupyter_client.connect.ConnectionFileMixin.cleanup_random_ports
    - asyncio.wait_for
    - jupyter_client.manager.KernelManager._async_launch_kernel
    - jupyter_client.manager.KernelManager._async_start_kernel
    - <builtin>.setattr
    - os.remove
    - key.encode
    - os.path.splitext
    - jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files
    - jupyter_client.manager.KernelManager._connect_control_socket
    - <builtin>.str
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.manager.KernelManager._async_kill_kernel
    - jupyter_client.connect.ConnectionFileMixin._equal_connections
    - traitlets.Instance.clone
    - kw.copy
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - <builtin>.getattr
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - <builtin>.max
    - kw.pop
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - jupyter_client.manager.KernelManager._async_cleanup_resources
    - <builtin>.all
    - jupyter_client.manager.KernelManager._async_signal_kernel
    - jupyter_client.manager.KernelManager._async_shutdown_kernel
    - jupyter_client.manager.KernelManager.start_restarter
    - traitlets.Instance.destroy
    - conn1.get
    - asyncio.ensure_future
    - jupyter_client.manager.KernelManager._close_control_socket
    - traitlets.Instance.socket
    - traitlets.config.LoggingConfigurable.log.warning
    - os.path.exists
    - info.update
    - jupyter_client.manager.KernelManager._async_interrupt_kernel
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - jupyter_client.manager.KernelManager._async_post_start_kernel
    - jupyter_client.manager.KernelManager._async_finish_shutdown
    - jupyter_client.manager.KernelManager._async_pre_start_kernel
    - json.load
    - traitlets.Instance.msg
    - asyncio.sleep
    - jupyter_client.manager.KernelManager._async_wait
    - info.get
    - jupyter_client.manager.KernelManager._async_is_alive
    - jupyter_client.manager.KernelManager.stop_restarter
    - uuid.uuid4
    - traitlets.Instance.send
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: 2
    functionLinenumber: 480
    functionName: jupyter_client.connect.ConnectionFileMixin.cleanup_random_ports
    functionSourceFile: jupyter_client.connect
    functionUses: 1
    functionsReached:
    - <builtin>.setattr
    - os.remove
    - jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file
    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: 601
    functionName: jupyter_client.manager.KernelManager.owns_kernel
    functionSourceFile: jupyter_client.manager
    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: 605
    functionName: jupyter_client.manager.KernelManager.has_kernel
    functionSourceFile: jupyter_client.manager
    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: asyncio.ensure_future
    functionSourceFile: asyncio
    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:
    - self
    - signum
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 673
    functionName: jupyter_client.manager.KernelManager._async_signal_kernel
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: 0
    functionLinenumber: 690
    functionName: jupyter_client.manager.KernelManager._async_is_alive
    functionSourceFile: jupyter_client.manager
    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: 1
    functionLinenumber: -1
    functionName: jupyter_client.manager.AsyncKernelManager
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - traitlets.default
    - traitlets.Instance
    - traitlets.Type
    - traitlets.DottedObjectName
    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: 726
    functionName: jupyter_client.manager.AsyncKernelManager._context_default
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - zmq.asyncio.Context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 730
    functionName: jupyter_client.manager.AsyncKernelManager.client
    functionSourceFile: jupyter_client.manager
    functionUses: 3
    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: KernelManagerABC.register
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f802526d790>
    - <ast.Constant object at 0x7f802526d4f0>
    argNames:
    - startup_timeout
    - kernel_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 755
    functionName: jupyter_client.manager.start_new_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 1
    functionsReached:
    - kc.wait_for_ready
    - kc.start_channels
    - kc.stop_channels
    - jupyter_core.utils.run_sync
    - warnings.warn
    - <builtin>.super
    - jupyter_client.manager.KernelManager.__init__
    - jupyter_client.manager.AsyncKernelManager.client
    - kwargs.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: kc.start_channels
    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: kc.wait_for_ready
    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: kc.stop_channels
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8024a601f0>
    - <ast.Constant object at 0x7f8024a60cd0>
    argNames:
    - startup_timeout
    - kernel_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 773
    functionName: jupyter_client.manager.start_new_async_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - kc.wait_for_ready
    - kc.start_channels
    - kc.stop_channels
    - jupyter_core.utils.run_sync
    - warnings.warn
    - <builtin>.super
    - jupyter_client.manager.KernelManager.__init__
    - jupyter_client.manager.AsyncKernelManager.client
    - kwargs.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: contextlib.contextmanager
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 792
    functionName: jupyter_client.manager.run_kernel
    functionSourceFile: jupyter_client.manager
    functionUses: 0
    functionsReached:
    - kc.wait_for_ready
    - kc.start_channels
    - kc.stop_channels
    - jupyter_core.utils.run_sync
    - jupyter_client.manager.start_new_kernel
    - warnings.warn
    - <builtin>.super
    - km.shutdown_kernel
    - jupyter_client.manager.KernelManager.__init__
    - jupyter_client.manager.AsyncKernelManager.client
    - kwargs.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: km.shutdown_kernel
    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: 1
    functionLinenumber: -1
    functionName: jupyter_client.kernelspec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.List
    functionSourceFile: traitlets
    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: 1
    functionLinenumber: -1
    functionName: jupyter_client.kernelspec.KernelSpec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - traitlets.List
    - traitlets.CaselessStrEnum
    - traitlets.Unicode
    - traitlets.Dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.CaselessStrEnum
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - resource_dir
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: jupyter_client.kernelspec.KernelSpec.from_resource_dir
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - json.load
    - <builtin>.open
    - os.path.join
    - traitlets.HasTraits.__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: json.load
    functionSourceFile: json
    functionUses: 37
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.HasTraits.__init__
    functionSourceFile: ''
    functionUses: 15
    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: 48
    functionName: jupyter_client.kernelspec.KernelSpec.to_dict
    functionSourceFile: jupyter_client.kernelspec
    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: 1
    functionLinenumber: 61
    functionName: jupyter_client.kernelspec.KernelSpec.to_json
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - json.dumps
    - jupyter_client.kernelspec.KernelSpec.to_dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 72
    functionName: jupyter_client.kernelspec._is_valid_kernel_name
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 9
    functionsReached:
    - _kernel_name_pat.match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _kernel_name_pat.match
    functionSourceFile: <builtin>
    functionUses: 10
    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: 84
    functionName: jupyter_client.kernelspec._is_kernel_dir
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 8
    functionsReached:
    - os.path.isfile
    - os.path.join
    - os.path.isdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 61
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.isfile
    functionSourceFile: os
    functionUses: 81
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - dir
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 89
    functionName: jupyter_client.kernelspec._list_kernels_in
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 4
    functionsReached:
    - _kernel_name_pat.match
    - jupyter_client.kernelspec._is_valid_kernel_name
    - os.path.isdir
    - warnings.warn
    - os.listdir
    - os.path.join
    - os.path.isfile
    - jupyter_client.kernelspec._is_kernel_dir
    - f.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: os.listdir
    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: f.lower
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 114
    functionName: jupyter_client.kernelspec.NoSuchKernel.__init__
    functionSourceFile: jupyter_client.kernelspec
    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: 118
    functionName: jupyter_client.kernelspec.NoSuchKernel.__str__
    functionSourceFile: jupyter_client.kernelspec
    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: jupyter_client.kernelspec.KernelSpecManager
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - traitlets.observe
    - traitlets.Set
    - traitlets.Bool
    - traitlets.Type
    - <builtin>.list
    - traitlets.List
    - traitlets.Unicode
    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: 143
    functionName: jupyter_client.kernelspec.KernelSpecManager._data_dir_default
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.jupyter_data_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: jupyter_core.paths.jupyter_data_dir
    functionSourceFile: jupyter_core
    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: 1
    functionLinenumber: 148
    functionName: jupyter_client.kernelspec.KernelSpecManager._user_kernel_dir_default
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 174
    functionName: jupyter_client.kernelspec.KernelSpecManager._deprecated_trait
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - <builtin>.setattr
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.getattr
    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: 189
    functionName: jupyter_client.kernelspec.KernelSpecManager._kernel_dirs_default
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.jupyter_path.append
    - os.path.join
    - IPython.paths.get_ipython_dir
    - jupyter_core.paths.jupyter_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.paths.jupyter_path
    functionSourceFile: jupyter_core
    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: IPython.paths.get_ipython_dir
    functionSourceFile: IPython
    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: jupyter_core.paths.jupyter_path.append
    functionSourceFile: jupyter_core
    functionUses: 1
    functionsReached: []
    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: 3
    functionLinenumber: 202
    functionName: jupyter_client.kernelspec.KernelSpecManager.find_kernel_specs
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 3
    functionsReached:
    - _kernel_name_pat.match
    - jupyter_client.kernelspec._list_kernels_in
    - jupyter_client.kernelspec._is_valid_kernel_name
    - os.path.isdir
    - warnings.warn
    - d.items
    - os.listdir
    - traitlets.config.LoggingConfigurable.log.warning
    - os.path.join
    - kernels.items
    - os.path.isfile
    - jupyter_client.kernelspec._is_kernel_dir
    - traitlets.config.LoggingConfigurable.log.debug
    - f.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: kernels.items
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: d.items
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    - resource_dir
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 231
    functionName: jupyter_client.kernelspec.KernelSpecManager._get_kernel_spec_by_name
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 3
    functionsReached:
    - traitlets.config.SingletonConfigurable.instance
    - traitlets.Type.from_resource_dir
    - ipykernel.kernelspec.get_kernel_dict
    - traitlets.Type
    linkageType: pythonLinkage
    raised:
    - NoSuchKernel
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ipykernel.kernelspec.get_kernel_dict
    functionSourceFile: ipykernel
    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: traitlets.Type.from_resource_dir
    functionSourceFile: traitlets
    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
    - kernel_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 254
    functionName: jupyter_client.kernelspec.KernelSpecManager._find_spec_directory
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 3
    functionsReached:
    - jupyter_client.kernelspec._is_kernel_dir
    - os.path.isdir
    - os.listdir
    - os.path.isfile
    - os.path.join
    - f.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 272
    functionName: jupyter_client.kernelspec.KernelSpecManager.get_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 2
    functionsReached:
    - kernel_name.lower
    - traitlets.config.SingletonConfigurable.instance
    - _kernel_name_pat.match
    - ipykernel.kernelspec.get_kernel_dict
    - jupyter_client.kernelspec._is_valid_kernel_name
    - os.path.isdir
    - traitlets.Type
    - traitlets.Type.from_resource_dir
    - jupyter_client.kernelspec.KernelSpecManager._get_kernel_spec_by_name
    - os.listdir
    - traitlets.config.LoggingConfigurable.log.warning
    - os.path.join
    - jupyter_client.kernelspec.KernelSpecManager._find_spec_directory
    - os.path.isfile
    - jupyter_client.kernelspec._is_kernel_dir
    - f.lower
    linkageType: pythonLinkage
    raised:
    - NoSuchKernel
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kernel_name.lower
    functionSourceFile: <builtin>
    functionUses: 5
    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: 4
    functionLinenumber: 289
    functionName: jupyter_client.kernelspec.KernelSpecManager.get_all_specs
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - _kernel_name_pat.match
    - traitlets.Type
    - os.listdir
    - os.path.join
    - os.path.isdir
    - jupyter_client.kernelspec.KernelSpecManager.find_kernel_specs
    - jupyter_client.kernelspec.KernelSpecManager._get_kernel_spec_by_name
    - warnings.warn
    - kernels.items
    - traitlets.config.LoggingConfigurable.log.debug
    - spec.to_dict
    - kernel_name.lower
    - jupyter_client.kernelspec._list_kernels_in
    - jupyter_client.kernelspec._is_valid_kernel_name
    - ipykernel.kernelspec.get_kernel_dict
    - traitlets.Type.from_resource_dir
    - traitlets.config.LoggingConfigurable.log.warning
    - os.path.isfile
    - jupyter_client.kernelspec._is_kernel_dir
    - f.lower
    - traitlets.config.SingletonConfigurable.instance
    - d.items
    - jupyter_client.kernelspec.KernelSpecManager._find_spec_directory
    - jupyter_client.kernelspec.KernelSpecManager.get_kernel_spec
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.to_dict
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 321
    functionName: jupyter_client.kernelspec.KernelSpecManager.remove_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - os.path.islink
    - _kernel_name_pat.match
    - jupyter_client.kernelspec._list_kernels_in
    - jupyter_client.kernelspec._is_valid_kernel_name
    - shutil.rmtree
    - jupyter_client.kernelspec.KernelSpecManager.find_kernel_specs
    - os.path.isdir
    - traitlets.config.LoggingConfigurable.log.debug
    - warnings.warn
    - d.items
    - os.listdir
    - traitlets.config.LoggingConfigurable.log.warning
    - os.path.join
    - kernels.items
    - os.path.isfile
    - jupyter_client.kernelspec._is_kernel_dir
    - os.remove
    - f.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: os.path.islink
    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.remove
    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: shutil.rmtree
    functionSourceFile: shutil
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f8024891e80>
    - <ast.Constant object at 0x7f8024891d00>
    argNames:
    - self
    - kernel_name
    - user
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 340
    functionName: jupyter_client.kernelspec.KernelSpecManager._get_destination_dir
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 2
    functionsReached:
    - os.path.abspath
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 104
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 8
    IfCount: 6
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f8024f4f100>
    - <ast.Constant object at 0x7f8024f4fac0>
    - <ast.Constant object at 0x7f8024f4f520>
    - <ast.Constant object at 0x7f8024f4ffa0>
    argNames:
    - self
    - source_dir
    - kernel_name
    - user
    - replace
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 350
    functionName: jupyter_client.kernelspec.KernelSpecManager.install_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 1
    functionsReached:
    - kernel_name.lower
    - shutil.copytree
    - _kernel_name_pat.match
    - jupyter_client.kernelspec._is_valid_kernel_name
    - os.path.isdir
    - shutil.rmtree
    - os.path.dirname
    - warnings.warn
    - source_dir.rstrip
    - os.path.basename
    - jupyter_client.kernelspec.KernelSpecManager._get_destination_dir
    - traitlets.config.LoggingConfigurable.log.warning
    - os.path.abspath
    - os.path.join
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.log.info
    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: source_dir.rstrip
    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.path.basename
    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: traitlets.config.LoggingConfigurable.log.info
    functionSourceFile: traitlets
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: shutil.copytree
    functionSourceFile: shutil
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024e964c0>
    argNames:
    - self
    - user
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 410
    functionName: jupyter_client.kernelspec.KernelSpecManager.install_native_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 1
    functionsReached:
    - ipykernel.kernelspec.install
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ipykernel.kernelspec.install
    functionSourceFile: ipykernel
    functionUses: 3
    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: 4
    functionLinenumber: 421
    functionName: jupyter_client.kernelspec.find_kernel_specs
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - jupyter_client.kernelspec._is_kernel_dir
    - _kernel_name_pat.match
    - jupyter_client.kernelspec._list_kernels_in
    - jupyter_client.kernelspec._is_valid_kernel_name
    - os.path.isdir
    - jupyter_client.kernelspec.KernelSpecManager.find_kernel_specs
    - warnings.warn
    - traitlets.config.LoggingConfigurable.__init__
    - d.items
    - os.listdir
    - traitlets.config.LoggingConfigurable.log.warning
    - os.path.join
    - os.path.isfile
    - kernels.items
    - traitlets.config.LoggingConfigurable.log.debug
    - f.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - kernel_name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 426
    functionName: jupyter_client.kernelspec.get_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - kernel_name.lower
    - traitlets.config.SingletonConfigurable.instance
    - _kernel_name_pat.match
    - ipykernel.kernelspec.get_kernel_dict
    - jupyter_client.kernelspec._is_valid_kernel_name
    - os.path.isdir
    - traitlets.Type
    - traitlets.Type.from_resource_dir
    - jupyter_client.kernelspec.KernelSpecManager._get_kernel_spec_by_name
    - traitlets.config.LoggingConfigurable.__init__
    - os.listdir
    - traitlets.config.LoggingConfigurable.log.warning
    - os.path.join
    - jupyter_client.kernelspec.KernelSpecManager._find_spec_directory
    - os.path.isfile
    - jupyter_client.kernelspec._is_kernel_dir
    - f.lower
    - jupyter_client.kernelspec.KernelSpecManager.get_kernel_spec
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f80247419d0>
    - <ast.Constant object at 0x7f8024741c40>
    - <ast.Constant object at 0x7f80247417c0>
    - <ast.Constant object at 0x7f8024741c10>
    argNames:
    - source_dir
    - kernel_name
    - user
    - replace
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 434
    functionName: jupyter_client.kernelspec.install_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - kernel_name.lower
    - shutil.copytree
    - _kernel_name_pat.match
    - jupyter_client.kernelspec._is_valid_kernel_name
    - os.path.isdir
    - shutil.rmtree
    - os.path.dirname
    - warnings.warn
    - traitlets.config.LoggingConfigurable.__init__
    - source_dir.rstrip
    - os.path.basename
    - jupyter_client.kernelspec.KernelSpecManager._get_destination_dir
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_client.kernelspec.KernelSpecManager.install_kernel_spec
    - os.path.abspath
    - os.path.join
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.log.info
    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 0x7f8024741040>
    argNames:
    - user
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 448
    functionName: jupyter_client.kernelspec.install_native_kernel_spec
    functionSourceFile: jupyter_client.kernelspec
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_client.kernelspec.KernelSpecManager.install_native_kernel_spec
    - ipykernel.kernelspec.install
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_client.provisioning
    functionSourceFile: jupyter_client.provisioning
    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: 0
    functionLinenumber: -1
    functionName: jupyter_client.provisioning.factory
    functionSourceFile: jupyter_client.provisioning.factory
    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: traitlets.config.Unicode
    functionSourceFile: traitlets
    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: jupyter_client.provisioning.factory.KernelProvisionerFactory
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 0
    functionsReached:
    - traitlets.config.Unicode
    - traitlets.config.default
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.default
    functionSourceFile: traitlets
    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: 1
    functionLinenumber: 46
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory._default_provisioner_name_default
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 0
    functionsReached:
    - os.getenv
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.getenv
    functionSourceFile: os
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 50
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory.__init__
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - importlib_metadata.entry_points
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_all_provisioners
    - importlib.metadata.entry_points
    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: 167
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory._get_all_provisioners
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 1
    functionsReached:
    - importlib_metadata.entry_points
    - importlib.metadata.entry_points
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_spec
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 57
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory.is_provisioner_available
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._check_availability
    - os.path.dirname
    - glob.glob
    - importlib.metadata.EntryPoint
    - importlib_metadata.EntryPoint
    - importlib.metadata.entry_points
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner
    - traitlets.config.SingletonConfigurable.log.warning
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner_config
    - kernel_spec.metadata.get
    - importlib_metadata.entry_points
    - provisioner_cfg.get
    - env_provisioner.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_spec
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 125
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner_config
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 2
    functionsReached:
    - kernel_spec.metadata.get
    - env_provisioner.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: provisioner_cfg.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - provisioner_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 106
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory._check_availability
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 2
    functionsReached:
    - os.path.dirname
    - glob.glob
    - importlib.metadata.EntryPoint
    - importlib_metadata.EntryPoint
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner
    - traitlets.config.SingletonConfigurable.log.warning
    - importlib_metadata.entry_points
    - importlib.metadata.entry_points
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.SingletonConfigurable.log.warning
    functionSourceFile: traitlets
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - kernel_spec
    - parent
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 76
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory.create_provisioner_instance
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - traitlets.config.SingletonConfigurable.log.debug
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._check_availability
    - os.path.dirname
    - glob.glob
    - importlib.metadata.EntryPoint
    - importlib_metadata.EntryPoint
    - importlib.metadata.entry_points
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner
    - traitlets.config.SingletonConfigurable.log.warning
    - jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner_config
    - kernel_spec.metadata.get
    - importlib_metadata.entry_points
    - provisioner_cfg.get
    - env_provisioner.update
    linkageType: pythonLinkage
    raised:
    - ModuleNotFoundError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.SingletonConfigurable.log.debug
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 171
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 3
    functionsReached:
    - os.path.dirname
    - glob.glob
    - importlib.metadata.EntryPoint
    - importlib_metadata.EntryPoint
    - traitlets.config.SingletonConfigurable.log.warning
    - importlib_metadata.entry_points
    - importlib.metadata.entry_points
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kernel_spec.metadata.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: env_provisioner.update
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 154
    functionName: jupyter_client.provisioning.factory.KernelProvisionerFactory.get_provisioner_entries
    functionSourceFile: jupyter_client.provisioning.factory
    functionUses: 0
    functionsReached:
    - traitlets.config.SingletonConfigurable.provisioners.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: traitlets.config.SingletonConfigurable.provisioners.items
    functionSourceFile: traitlets
    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: importlib_metadata.entry_points
    functionSourceFile: importlib_metadata
    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: importlib.metadata.entry_points
    functionSourceFile: importlib
    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: glob.glob
    functionSourceFile: glob
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.EntryPoint
    functionSourceFile: importlib_metadata
    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: importlib.metadata.EntryPoint
    functionSourceFile: importlib
    functionUses: 4
    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: jupyter_client.provisioning.provisioner_base
    functionSourceFile: jupyter_client.provisioning.provisioner_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: 0
    functionLinenumber: -1
    functionName: traitlets.config.Instance
    functionSourceFile: traitlets
    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: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    - traitlets.config.Instance
    - traitlets.config.Unicode
    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: 38
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.has_process
    functionSourceFile: jupyter_client.provisioning.provisioner_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: 48
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.poll
    functionSourceFile: jupyter_client.provisioning.provisioner_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: 58
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.wait
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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
    - signum
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 69
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.send_signal
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f802509f460>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 79
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.kill
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f802509f730>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 92
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.terminate
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - cmd
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 106
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.launch_kernel
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f802509f580>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 116
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.cleanup
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f802509f4c0>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 127
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.shutdown_requested
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 139
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.pre_launch
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 0
    functionsReached:
    - env.pop
    - substituted_env.update
    - abc.ABC.kernel_spec.env.items
    - jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.__apply_env_substitutions
    - abc.ABC.kernel_spec.language.lower
    - jupyter_client.provisioning.provisioner_base.KernelProvisionerBase._finalize_env
    - kwargs.pop
    - env.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - substitution_values
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 236
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.__apply_env_substitutions
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 1
    functionsReached:
    - abc.ABC.kernel_spec.env.items
    - substituted_env.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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
    - env
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 222
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase._finalize_env
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 1
    functionsReached:
    - abc.ABC.kernel_spec.language.lower
    - env.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 164
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.post_launch
    functionSourceFile: jupyter_client.provisioning.provisioner_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: 173
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.get_provisioner_info
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    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
    - provisioner_info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 188
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.load_provisioner_info
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024443160>
    argNames:
    - self
    - recommended
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 202
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.get_shutdown_wait_time
    functionSourceFile: jupyter_client.provisioning.provisioner_base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024443400>
    argNames:
    - self
    - recommended
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 213
    functionName: jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.get_stable_start_time
    functionSourceFile: jupyter_client.provisioning.provisioner_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: 0
    functionLinenumber: -1
    functionName: abc.ABC.kernel_spec.language.lower
    functionSourceFile: abc
    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: env.pop
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: abc.ABC.kernel_spec.env.items
    functionSourceFile: abc
    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: substituted_env.update
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_client.connect
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 11
    IfCount: 12
    argCount: 12
    argDefaultValues:
    - <ast.Constant object at 0x7f80244f4d60>
    - <ast.Constant object at 0x7f80244f43a0>
    - <ast.Constant object at 0x7f80244f4e50>
    - <ast.Constant object at 0x7f80244f4790>
    - <ast.Constant object at 0x7f80244f4880>
    - <ast.Constant object at 0x7f80244f48e0>
    - <ast.Constant object at 0x7f80244f4310>
    - <ast.Constant object at 0x7f80244f43d0>
    - <ast.Constant object at 0x7f80244f4430>
    - <ast.Constant object at 0x7f80244f4640>
    - <ast.Constant object at 0x7f80244f47c0>
    argNames:
    - fname
    - shell_port
    - iopub_port
    - stdin_port
    - hb_port
    - control_port
    - ip
    - key
    - transport
    - signature_scheme
    - kernel_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: jupyter_client.connect.write_connection_file
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - jupyter_client.localinterfaces.localhost
    - jupyter_core.paths.secure_write
    - <builtin>.hasattr
    - sock.setsockopt
    - cfg.update
    - socket.socket
    - sock.bind
    - key.decode
    - os.stat
    - <builtin>.range
    - sockets.append
    - os.path.exists
    - <builtin>.int
    - f.write
    - tempfile.mkstemp
    - json.dumps
    - sock.getsockname
    - os.close
    - os.path.dirname
    - ports.pop
    - sock.close
    - ports.append
    - os.chmod
    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: 283
    functionName: jupyter_client.localinterfaces.localhost
    functionSourceFile: ''
    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: tempfile.mkstemp
    functionSourceFile: tempfile
    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.close
    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: <builtin>.range
    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: socket.socket
    functionSourceFile: socket
    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.setsockopt
    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: sock.bind
    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: sockets.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sock.getsockname
    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: sock.close
    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: ports.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.exists
    functionSourceFile: os
    functionUses: 68
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ports.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: key.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cfg.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.paths.secure_write
    functionSourceFile: jupyter_core
    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: f.write
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.stat
    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: os.chmod
    functionSourceFile: os
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f80253eeb80>
    - <ast.Constant object at 0x7f80253ee8b0>
    - <ast.Constant object at 0x7f80253eeee0>
    argNames:
    - filename
    - path
    - profile
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 177
    functionName: jupyter_client.connect.find_connection_file
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - os.getcwd
    - jupyter_core.paths.jupyter_runtime_dir
    - os.path.isfile
    - glob.glob
    - <builtin>.sorted
    - jupyter_client.utils._filefind
    - find_connection_file.strip
    - matches.extend
    - os.path.expandvars
    - warnings.warn
    - os.path.isabs
    - os.path.expanduser
    - s.replace
    - <builtin>.isinstance
    - os.path.abspath
    - os.path.join
    - jupyter_client.utils._expand_path
    linkageType: pythonLinkage
    raised:
    - OSError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.paths.jupyter_runtime_dir
    functionSourceFile: jupyter_core
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024a35c40>
    argNames:
    - filename
    - path_dirs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 16
    functionName: jupyter_client.utils._filefind
    functionSourceFile: jupyter_client.utils
    functionUses: 4
    functionsReached:
    - os.getcwd
    - os.path.isfile
    - os.path.expandvars
    - find_connection_file.strip
    - os.path.isabs
    - os.path.expanduser
    - s.replace
    - <builtin>.isinstance
    - os.path.abspath
    - os.path.join
    - jupyter_client.utils._expand_path
    linkageType: pythonLinkage
    raised:
    - OSError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: matches.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.connect.find_connection_file.<lambda1>
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - os.stat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8024a99580>
    argNames:
    - connection_info
    - sshserver
    - sshkey
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 241
    functionName: jupyter_client.connect.tunnel_to_kernel
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.open
    - jupyter_client.ssh.tunnel.select_random_ports
    - json.loads
    - sock.getsockname
    - socket.socket
    - sock.bind
    - getpass.getpass
    - jupyter_client.ssh.tunnel.try_passwordless_ssh
    - <builtin>.range
    - <builtin>.zip
    - sockets.append
    - sock.close
    - <builtin>.tuple
    - <builtin>.isinstance
    - f.read
    - ports.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - n
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 42
    functionName: jupyter_client.ssh.tunnel.select_random_ports
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 3
    functionsReached:
    - sock.getsockname
    - socket.socket
    - sock.bind
    - <builtin>.range
    - sock.close
    - sockets.append
    - ports.append
    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 0x7f8024f95dc0>
    argNames:
    - server
    - keyfile
    - paramiko
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 62
    functionName: jupyter_client.ssh.tunnel.try_passwordless_ssh
    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: getpass.getpass
    functionSourceFile: getpass
    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: <builtin>.zip
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.connect.ConnectionFileMixin
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - traitlets.observe
    - traitlets.Bool
    - traitlets.Type
    - traitlets.CaselessStrEnum
    - traitlets.Instance
    - traitlets.Integer
    - traitlets.Unicode
    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: 322
    functionName: jupyter_client.connect.ConnectionFileMixin._data_dir_default
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.jupyter_data_dir
    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: 351
    functionName: jupyter_client.connect.ConnectionFileMixin._ip_default
    functionSourceFile: jupyter_client.connect
    functionUses: 11
    functionsReached:
    - jupyter_client.localinterfaces.localhost
    - os.path.splitext
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 39
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 361
    functionName: jupyter_client.connect.ConnectionFileMixin._ip_changed
    functionSourceFile: jupyter_client.connect
    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: 377
    functionName: jupyter_client.connect.ConnectionFileMixin.ports
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    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: 5
    functionLinenumber: 383
    functionName: jupyter_client.connect.ConnectionFileMixin._session_default
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - jupyter_client.jsonutil.json_clean
    - <builtin>.set
    - pickle.dumps
    - datetime.datetime.now
    - <builtin>.super
    - jupyter_client.session.pickle_packer
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session._check_packers.<lambda2>
    - obj.isoformat
    - <builtin>.hasattr
    - jupyter_client.session.Session.__init__
    - <builtin>.str
    - jupyter_client.session.utcnow
    - <builtin>.float
    - os.getpid
    - warnings.warn
    - <builtin>.isinstance
    - <builtin>.type
    - jupyter_client.session.json_packer
    - s.decode
    - jupyter_client.session.Session._new_auth
    - obj.items
    - traitlets.log.get_logger.warning
    - <builtin>.list
    - traitlets.Any
    - pickle.loads
    - traitlets.log.get_logger
    - obj.strftime
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - math.isinf
    - <builtin>.int
    - jupyter_client.session.json_unpacker
    - <builtin>.map
    - json.dumps
    - <builtin>.len
    - json.loads
    - binascii.b2a_base64
    - jupyter_client.session.Session._check_packers.<lambda1>
    - math.isnan
    - hmac.HMAC
    - <builtin>.repr
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session._check_packers
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.clone
    functionSourceFile: traitlets
    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: info.update
    functionSourceFile: <builtin>
    functionUses: 9
    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: 2
    functionLinenumber: 433
    functionName: jupyter_client.connect.ConnectionFileMixin.blocking_client
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - traitlets.Instance.clone
    - traitlets.Type
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - info.update
    - bc.load_connection_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: bc.load_connection_info
    functionSourceFile: <builtin>
    functionUses: 1
    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: 1
    functionLinenumber: 464
    functionName: jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    functionSourceFile: jupyter_client.connect
    functionUses: 12
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 495
    functionName: jupyter_client.connect.ConnectionFileMixin.write_connection_file
    functionSourceFile: jupyter_client.connect
    functionUses: 8
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - os.path.exists
    - <builtin>.getattr
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024e88ee0>
    argNames:
    - self
    - connection_file
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 521
    functionName: jupyter_client.connect.ConnectionFileMixin.load_connection_file
    functionSourceFile: jupyter_client.connect
    functionUses: 4
    functionsReached:
    - <builtin>.open
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - json.load
    - <builtin>.getattr
    - jupyter_client.localinterfaces.localhost
    - key.encode
    - info.get
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - <builtin>.isinstance
    - <builtin>.setattr
    - traitlets.config.LoggingConfigurable.log.debug
    - os.path.splitext
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 537
    functionName: jupyter_client.connect.ConnectionFileMixin.load_connection_info
    functionSourceFile: jupyter_client.connect
    functionUses: 10
    functionsReached:
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - jupyter_client.localinterfaces.localhost
    - key.encode
    - info.get
    - <builtin>.getattr
    - <builtin>.isinstance
    - <builtin>.setattr
    - os.path.splitext
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: info.get
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.encode
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - conn1
    - conn2
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 615
    functionName: jupyter_client.connect.ConnectionFileMixin._equal_connections
    functionSourceFile: jupyter_client.connect
    functionUses: 5
    functionsReached:
    - conn1.get
    - <builtin>.all
    - conn2.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: conn1.get
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: conn2.get
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.all
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.socket
    functionSourceFile: traitlets
    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: sock.connect
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f80252eb880>
    argNames:
    - self
    - identity
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 676
    functionName: jupyter_client.connect.ConnectionFileMixin.connect_hb
    functionSourceFile: jupyter_client.connect
    functionUses: 1
    functionsReached:
    - sock.connect
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - traitlets.Instance.socket
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 696
    functionName: jupyter_client.connect.LocalPortCache.__init__
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - ip
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 700
    functionName: jupyter_client.connect.LocalPortCache.find_available_port
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - socket.socket
    - tmp_sock.setsockopt
    - traitlets.config.SingletonConfigurable.currently_used_ports.add
    - tmp_sock.close
    - tmp_sock.bind
    - tmp_sock.getsockname
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tmp_sock.setsockopt
    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: tmp_sock.bind
    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: tmp_sock.getsockname
    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: tmp_sock.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: traitlets.config.SingletonConfigurable.currently_used_ports.add
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - port
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 714
    functionName: jupyter_client.connect.LocalPortCache.return_port
    functionSourceFile: jupyter_client.connect
    functionUses: 0
    functionsReached:
    - traitlets.config.SingletonConfigurable.currently_used_ports.remove
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.SingletonConfigurable.currently_used_ports.remove
    functionSourceFile: traitlets
    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: jupyter_client.localinterfaces
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 0
    functionsReached:
    - jupyter_client.localinterfaces._only_once
    - re.compile
    - jupyter_client.localinterfaces._requires_ips
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - elems
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 20
    functionName: jupyter_client.localinterfaces._uniq_stable
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 9
    functionsReached:
    - value.append
    - seen.add
    - <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: value.append
    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: seen.add
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - cmd
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 35
    functionName: jupyter_client.localinterfaces._get_output
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 6
    functionsReached:
    - stdout.decode
    - stderr.decode
    - subprocess.Popen
    - subprocess.STARTUPINFO
    - subprocess.Popen.communicate
    linkageType: pythonLinkage
    raised:
    - OSError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: subprocess.STARTUPINFO
    functionSourceFile: subprocess
    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: subprocess.Popen
    functionSourceFile: subprocess
    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: subprocess.Popen.communicate
    functionSourceFile: subprocess
    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: stderr.decode
    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: stdout.decode
    functionSourceFile: <builtin>
    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:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 49
    functionName: jupyter_client.localinterfaces._only_once
    functionSourceFile: jupyter_client.localinterfaces
    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:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 53
    functionName: jupyter_client.localinterfaces._only_once.wrapped
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 0
    functionsReached:
    - netifaces.ifaddresses
    - <builtin>.set
    - stderr.decode
    - subprocess.Popen
    - public_ips.append
    - jupyter_client.localinterfaces._uniq_stable
    - socket.gethostbyname_ex
    - jupyter_client.localinterfaces._get_output
    - addr.startswith
    - jupyter_client.localinterfaces._load_ips_dumb
    - jupyter_client.localinterfaces._load_ips_ifconfig
    - seen.add
    - jupyter_client.localinterfaces._populate_from_list
    - addrs.append
    - local_ips.insert
    - warnings.warn
    - line.strip
    - jupyter_client.localinterfaces._load_ips
    - LOCAL_IPS.extend
    - jupyter_client.localinterfaces._load_ips_ipconfig
    - socket.gethostname
    - value.append
    - ip.startswith
    - local_ips.extend
    - iface.startswith
    - <builtin>.all
    - stdout.decode
    - jupyter_client.localinterfaces._load_ips_netifaces
    - entry.get
    - netifaces.interfaces
    - subprocess.STARTUPINFO
    - jupyter_client.localinterfaces._load_ips_gethostbyname
    - _ifconfig_ipv4_pat.match
    - _ipconfig_ipv4_pat.match
    - line.lower
    - hostname.endswith
    - <builtin>.len
    - jupyter_client.localinterfaces._load_ips_ip
    - m.group
    - out.splitlines
    - local_ips.append
    - subprocess.Popen.communicate
    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 0x7f80252eb4f0>
    argNames:
    - suppress_exceptions
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 225
    functionName: jupyter_client.localinterfaces._load_ips
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 2
    functionsReached:
    - netifaces.ifaddresses
    - <builtin>.set
    - stderr.decode
    - subprocess.Popen
    - public_ips.append
    - jupyter_client.localinterfaces._uniq_stable
    - socket.gethostbyname_ex
    - jupyter_client.localinterfaces._get_output
    - addr.startswith
    - jupyter_client.localinterfaces._load_ips_dumb
    - jupyter_client.localinterfaces._load_ips_ifconfig
    - seen.add
    - jupyter_client.localinterfaces._populate_from_list
    - addrs.append
    - local_ips.insert
    - warnings.warn
    - line.strip
    - LOCAL_IPS.extend
    - jupyter_client.localinterfaces._load_ips_ipconfig
    - socket.gethostname
    - value.append
    - ip.startswith
    - local_ips.extend
    - iface.startswith
    - <builtin>.all
    - stdout.decode
    - jupyter_client.localinterfaces._load_ips_netifaces
    - entry.get
    - netifaces.interfaces
    - subprocess.STARTUPINFO
    - jupyter_client.localinterfaces._load_ips_gethostbyname
    - _ifconfig_ipv4_pat.match
    - _ipconfig_ipv4_pat.match
    - line.lower
    - hostname.endswith
    - <builtin>.len
    - jupyter_client.localinterfaces._load_ips_ip
    - m.group
    - out.splitlines
    - local_ips.append
    - subprocess.Popen.communicate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 63
    functionName: jupyter_client.localinterfaces._requires_ips
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 66
    functionName: jupyter_client.localinterfaces._requires_ips.ips_loaded
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 0
    functionsReached:
    - netifaces.ifaddresses
    - <builtin>.set
    - jupyter_client.localinterfaces.localhost
    - stderr.decode
    - subprocess.Popen
    - public_ips.append
    - jupyter_client.localinterfaces._uniq_stable
    - socket.gethostbyname_ex
    - jupyter_client.localinterfaces._get_output
    - addr.startswith
    - jupyter_client.localinterfaces._load_ips_dumb
    - jupyter_client.localinterfaces._load_ips_ifconfig
    - seen.add
    - jupyter_client.localinterfaces._populate_from_list
    - addrs.append
    - local_ips.insert
    - warnings.warn
    - line.strip
    - jupyter_client.localinterfaces._load_ips
    - LOCAL_IPS.extend
    - jupyter_client.localinterfaces._load_ips_ipconfig
    - socket.gethostname
    - jupyter_client.localinterfaces.is_local_ip
    - local_ips.extend
    - ip.startswith
    - iface.startswith
    - <builtin>.all
    - jupyter_client.localinterfaces.is_public_ip
    - value.append
    - stdout.decode
    - jupyter_client.localinterfaces._load_ips_netifaces
    - entry.get
    - netifaces.interfaces
    - subprocess.STARTUPINFO
    - jupyter_client.localinterfaces._load_ips_gethostbyname
    - _ifconfig_ipv4_pat.match
    - _ipconfig_ipv4_pat.match
    - jupyter_client.localinterfaces.local_ips
    - line.lower
    - jupyter_client.localinterfaces.public_ips
    - hostname.endswith
    - <builtin>.len
    - jupyter_client.localinterfaces._load_ips_ip
    - m.group
    - out.splitlines
    - local_ips.append
    - subprocess.Popen.communicate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - ip
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 289
    functionName: jupyter_client.localinterfaces.is_local_ip
    functionSourceFile: ''
    functionUses: 2
    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: 271
    functionName: jupyter_client.localinterfaces.local_ips
    functionSourceFile: ''
    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:
    - ip
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 295
    functionName: jupyter_client.localinterfaces.is_public_ip
    functionSourceFile: ''
    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: 277
    functionName: jupyter_client.localinterfaces.public_ips
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - addrs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 78
    functionName: jupyter_client.localinterfaces._populate_from_list
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 6
    functionsReached:
    - seen.add
    - local_ips.extend
    - value.append
    - ip.startswith
    - <builtin>.set
    - local_ips.insert
    - public_ips.append
    - jupyter_client.localinterfaces._uniq_stable
    - local_ips.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: local_ips.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: ip.startswith
    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: public_ips.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: local_ips.insert
    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: local_ips.extend
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 107
    functionName: jupyter_client.localinterfaces._load_ips_ifconfig
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    functionsReached:
    - <builtin>.set
    - stderr.decode
    - subprocess.Popen
    - public_ips.append
    - jupyter_client.localinterfaces._uniq_stable
    - jupyter_client.localinterfaces._get_output
    - seen.add
    - jupyter_client.localinterfaces._populate_from_list
    - addrs.append
    - local_ips.insert
    - line.strip
    - stdout.decode
    - local_ips.extend
    - ip.startswith
    - value.append
    - subprocess.STARTUPINFO
    - _ifconfig_ipv4_pat.match
    - m.group
    - out.splitlines
    - local_ips.append
    - subprocess.Popen.communicate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: out.splitlines
    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: line.strip
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _ifconfig_ipv4_pat.match
    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: m.group
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: addrs.append
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 125
    functionName: jupyter_client.localinterfaces._load_ips_ip
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    functionsReached:
    - <builtin>.set
    - stderr.decode
    - subprocess.Popen
    - public_ips.append
    - jupyter_client.localinterfaces._uniq_stable
    - jupyter_client.localinterfaces._get_output
    - seen.add
    - jupyter_client.localinterfaces._populate_from_list
    - addrs.append
    - local_ips.insert
    - value.append
    - local_ips.extend
    - ip.startswith
    - stdout.decode
    - subprocess.STARTUPINFO
    - line.lower
    - <builtin>.len
    - out.splitlines
    - local_ips.append
    - subprocess.Popen.communicate
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.lower
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 141
    functionName: jupyter_client.localinterfaces._load_ips_ipconfig
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    functionsReached:
    - <builtin>.set
    - stderr.decode
    - subprocess.Popen
    - public_ips.append
    - jupyter_client.localinterfaces._uniq_stable
    - jupyter_client.localinterfaces._get_output
    - seen.add
    - jupyter_client.localinterfaces._populate_from_list
    - addrs.append
    - local_ips.insert
    - line.strip
    - stdout.decode
    - local_ips.extend
    - ip.startswith
    - value.append
    - subprocess.STARTUPINFO
    - _ipconfig_ipv4_pat.match
    - m.group
    - out.splitlines
    - local_ips.append
    - subprocess.Popen.communicate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _ipconfig_ipv4_pat.match
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 154
    functionName: jupyter_client.localinterfaces._load_ips_netifaces
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    functionsReached:
    - netifaces.ifaddresses
    - value.append
    - local_ips.extend
    - seen.add
    - iface.startswith
    - <builtin>.set
    - local_ips.insert
    - entry.get
    - netifaces.interfaces
    - public_ips.append
    - jupyter_client.localinterfaces._uniq_stable
    - local_ips.append
    - addr.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: netifaces.interfaces
    functionSourceFile: netifaces
    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: netifaces.ifaddresses
    functionSourceFile: netifaces
    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: entry.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: iface.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: addr.startswith
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 184
    functionName: jupyter_client.localinterfaces._load_ips_gethostbyname
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    functionsReached:
    - socket.gethostname
    - seen.add
    - value.append
    - ip.startswith
    - <builtin>.set
    - <builtin>.all
    - jupyter_client.localinterfaces._uniq_stable
    - socket.gethostbyname_ex
    - LOCAL_IPS.extend
    - hostname.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: socket.gethostbyname_ex
    functionSourceFile: socket
    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: socket.gethostname
    functionSourceFile: socket
    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: hostname.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: LOCAL_IPS.extend
    functionSourceFile: <builtin>
    functionUses: 4
    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: 216
    functionName: jupyter_client.localinterfaces._load_ips_dumb
    functionSourceFile: jupyter_client.localinterfaces
    functionUses: 3
    functionsReached: []
    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: -1
    functionName: jupyter_client.ssh.tunnel
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - re.compile
    - warnings.simplefilter
    - warnings.catch_warnings
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: warnings.catch_warnings
    functionSourceFile: warnings
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: warnings.simplefilter
    functionSourceFile: warnings
    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:
    - server
    - keyfile
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 75
    functionName: jupyter_client.ssh.tunnel._try_passwordless_openssh
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - os.environ.copy
    - env.pop
    - pexpect.spawn
    - p.expect
    linkageType: pythonLinkage
    raised:
    - SSHException
    - 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: os.environ.copy
    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: pexpect.spawn
    functionSourceFile: pexpect
    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: p.expect
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - server
    - keyfile
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 105
    functionName: jupyter_client.ssh.tunnel._try_passwordless_paramiko
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 1
    functionsReached:
    - jupyter_client.ssh.tunnel._split_server
    - server.split
    - <builtin>.int
    - paramiko.WarningPolicy
    - client.close
    - getpass.getuser
    - client.load_system_host_keys
    - paramiko.SSHClient
    - client.set_missing_host_key_policy
    - client.connect
    linkageType: pythonLinkage
    raised:
    - ImportError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - server
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 308
    functionName: jupyter_client.ssh.tunnel._split_server
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 3
    functionsReached:
    - server.split
    - getpass.getuser
    - <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: paramiko.SSHClient
    functionSourceFile: paramiko
    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: client.load_system_host_keys
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: paramiko.WarningPolicy
    functionSourceFile: paramiko
    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: client.set_missing_host_key_policy
    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: client.connect
    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: client.close
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f8024ddaee0>
    - <ast.Constant object at 0x7f8024dda640>
    - <ast.Constant object at 0x7f8024ddae50>
    - <ast.Constant object at 0x7f8024dda280>
    argNames:
    - socket
    - addr
    - server
    - keyfile
    - password
    - paramiko
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 127
    functionName: jupyter_client.ssh.tunnel.tunnel_connection
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - jupyter_client.ssh.tunnel.select_random_ports
    - typing.cast
    - sock.getsockname
    - socket.socket
    - sock.bind
    - addr.split
    - <builtin>.range
    - sockets.append
    - sock.close
    - socket.connect
    - jupyter_client.ssh.tunnel.open_tunnel
    - ports.append
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f80253ee850>
    - <ast.Constant object at 0x7f80253ee2e0>
    - <ast.Constant object at 0x7f80253eef40>
    - <ast.Constant object at 0x7f80253eed60>
    argNames:
    - addr
    - server
    - keyfile
    - password
    - paramiko
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 156
    functionName: jupyter_client.ssh.tunnel.open_tunnel
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 1
    functionsReached:
    - jupyter_client.ssh.tunnel.select_random_ports
    - typing.cast
    - sock.getsockname
    - socket.socket
    - sock.bind
    - addr.split
    - <builtin>.range
    - sockets.append
    - sock.close
    - <builtin>.int
    - ports.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: socket.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: addr.split
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 6
    IfCount: 9
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f80251b7dc0>
    - <ast.Constant object at 0x7f80251b7280>
    - <ast.Constant object at 0x7f80251b75e0>
    - <ast.Constant object at 0x7f80251b7b80>
    argNames:
    - lport
    - rport
    - server
    - remoteip
    - keyfile
    - password
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 194
    functionName: jupyter_client.ssh.tunnel.openssh_tunnel
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - tunnel.wait
    - cmd.replace
    - server.split
    - env.pop
    - atexit.register
    - getpass.getpass
    - pexpect.spawn
    - warnings.warn
    - os.environ.copy
    - tunnel.expect
    - tunnel.sendline
    - <builtin>.int
    - pexpect.run
    - output.find
    linkageType: pythonLinkage
    raised:
    - SSHException
    - RuntimeError
    - 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: server.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: pexpect.run
    functionSourceFile: pexpect
    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: output.find
    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: cmd.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: tunnel.expect
    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: tunnel.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: tunnel.sendline
    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:
    - cmd
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 304
    functionName: jupyter_client.ssh.tunnel._stop_tunnel
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - pexpect.run
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: getpass.getuser
    functionSourceFile: getpass
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f8024d9fc10>
    - <ast.Constant object at 0x7f8024d9f7c0>
    - <ast.Constant object at 0x7f8024d9fc70>
    - <ast.Constant object at 0x7f8024d9f6a0>
    argNames:
    - lport
    - rport
    - server
    - remoteip
    - keyfile
    - password
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 321
    functionName: jupyter_client.ssh.tunnel.paramiko_tunnel
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - multiprocessing.Process.start
    - jupyter_client.ssh.tunnel._split_server
    - server.split
    - <builtin>.int
    - client.connect
    - paramiko.WarningPolicy
    - client.close
    - getpass.getpass
    - getpass.getuser
    - multiprocessing.Process
    - client.load_system_host_keys
    - paramiko.SSHClient
    - client.set_missing_host_key_policy
    - jupyter_client.ssh.tunnel._try_passwordless_paramiko
    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: multiprocessing.Process
    functionSourceFile: multiprocessing
    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: multiprocessing.Process.start
    functionSourceFile: multiprocessing
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 12
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f802444a1f0>
    - <ast.Constant object at 0x7f802444abb0>
    argNames:
    - lport
    - rport
    - server
    - remoteip
    - keyfile
    - password
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 386
    functionName: jupyter_client.ssh.tunnel._paramiko_tunnel
    functionSourceFile: jupyter_client.ssh.tunnel
    functionUses: 0
    functionsReached:
    - jupyter_client.ssh.tunnel._split_server
    - socketserver.ThreadingTCPServer.serve_forever
    - server.split
    - jupyter_client.ssh.forward.forward_tunnel
    - <builtin>.int
    - paramiko.WarningPolicy
    - socketserver.ThreadingTCPServer.__init__
    - client.get_transport
    - sys.exit
    - warnings.warn
    - getpass.getuser
    - client.load_system_host_keys
    - signal.signal
    - paramiko.SSHClient
    - client.set_missing_host_key_policy
    - client.connect
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: signal.signal
    functionSourceFile: signal
    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: client.get_transport
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - local_port
    - remote_host
    - remote_port
    - transport
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 88
    functionName: jupyter_client.ssh.forward.forward_tunnel
    functionSourceFile: jupyter_client.ssh.forward
    functionUses: 1
    functionsReached:
    - socketserver.ThreadingTCPServer.serve_forever
    - socketserver.ThreadingTCPServer.__init__
    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: jupyter_client.ssh.forward
    functionSourceFile: jupyter_client.ssh.forward
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.ssh.forward.Handler
    functionSourceFile: jupyter_client.ssh.forward
    functionUses: 0
    functionsReached:
    - typing.no_type_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 9
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 44
    functionName: jupyter_client.ssh.forward.Handler.handle
    functionSourceFile: jupyter_client.ssh.forward
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - chan.recv
    - socketserver.BaseRequestHandler.request.recv
    - socketserver.BaseRequestHandler.request.send
    - chan.getpeername
    - socketserver.BaseRequestHandler.ssh_transport.open_channel
    - socketserver.BaseRequestHandler.request.getpeername
    - select.select
    - chan.send
    - <builtin>.repr
    - socketserver.BaseRequestHandler.request.close
    - logger.debug
    - chan.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: socketserver.BaseRequestHandler.request.getpeername
    functionSourceFile: socketserver
    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: socketserver.BaseRequestHandler.ssh_transport.open_channel
    functionSourceFile: socketserver
    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: chan.getpeername
    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: select.select
    functionSourceFile: select
    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: socketserver.BaseRequestHandler.request.recv
    functionSourceFile: socketserver
    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: chan.send
    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: chan.recv
    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: socketserver.BaseRequestHandler.request.send
    functionSourceFile: socketserver
    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: chan.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: socketserver.BaseRequestHandler.request.close
    functionSourceFile: socketserver
    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: socketserver.ThreadingTCPServer.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: socketserver.ThreadingTCPServer.serve_forever
    functionSourceFile: socketserver
    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: jupyter_client.ssh
    functionSourceFile: jupyter_client.ssh
    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: 0
    functionLinenumber: -1
    functionName: jupyter_client.utils
    functionSourceFile: jupyter_client.utils
    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: find_connection_file.strip
    functionSourceFile: find_connection_file
    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: os.path.isabs
    functionSourceFile: os
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.getcwd
    functionSourceFile: os
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 70
    functionName: jupyter_client.utils._expand_path
    functionSourceFile: jupyter_client.utils
    functionUses: 5
    functionsReached:
    - os.path.expandvars
    - os.path.expanduser
    - s.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: s.replace
    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: os.path.expanduser
    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: os.path.expandvars
    functionSourceFile: os
    functionUses: 6
    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: jupyter_client.provisioning.local_provisioner
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    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: 36
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.has_process
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    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: 39
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.poll
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 1
    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: 46
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.wait
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - fid.close
    - asyncio.sleep
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner.poll
    - <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: fid.close
    functionSourceFile: <builtin>
    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
    - signum
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 67
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.send_signal
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 2
    functionsReached:
    - jupyter_client.win_interrupt.send_interrupt
    - os.killpg
    - ctypes.windll.kernel32.SetEvent
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - interrupt_handle
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: jupyter_client.win_interrupt.send_interrupt
    functionSourceFile: jupyter_client.win_interrupt
    functionUses: 3
    functionsReached:
    - ctypes.windll.kernel32.SetEvent
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.killpg
    functionSourceFile: os
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024d3f340>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 95
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.kill
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - ctypes.windll.kernel32.SetEvent
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner.send_signal
    - os.killpg
    - jupyter_client.win_interrupt.send_interrupt
    - <builtin>.hasattr
    - <builtin>.isinstance
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner._tolerate_no_process
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - os_error
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 126
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner._tolerate_no_process
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024e92c40>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 110
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.terminate
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - ctypes.windll.kernel32.SetEvent
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner.send_signal
    - os.killpg
    - jupyter_client.win_interrupt.send_interrupt
    - <builtin>.hasattr
    - <builtin>.isinstance
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner._tolerate_no_process
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f802526d340>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 140
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.cleanup
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - traitlets.config.SingletonConfigurable.instance
    - lpc.return_port
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lpc.return_port
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 157
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.pre_launch
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_client.localinterfaces.is_local_ip
    - traitlets.config.LoggingConfigurable.parent.format_kernel_cmd
    - abc.ABC.parent.get_connection_info
    - lpc.find_available_port
    - <builtin>.super
    - abc.ABC.parent.write_connection_file
    - abc.ABC.parent.format_kernel_cmd
    - jupyter_client.localinterfaces.local_ips
    - traitlets.config.LoggingConfigurable.parent.get_connection_info
    - kwargs.pop
    - traitlets.config.LoggingConfigurable.parent.write_connection_file
    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: lpc.find_available_port
    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: abc.ABC.parent.write_connection_file
    functionSourceFile: abc
    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: traitlets.config.LoggingConfigurable.parent.write_connection_file
    functionSourceFile: traitlets
    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: abc.ABC.parent.get_connection_info
    functionSourceFile: abc
    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: traitlets.config.LoggingConfigurable.parent.get_connection_info
    functionSourceFile: traitlets
    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: traitlets.config.LoggingConfigurable.parent.format_kernel_cmd
    functionSourceFile: traitlets
    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: abc.ABC.parent.format_kernel_cmd
    functionSourceFile: abc
    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:
    - self
    - cmd
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 207
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.launch_kernel
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - scrubbed_kwargs.pop
    - kwargs.copy
    - os.getpgid
    - <builtin>.hasattr
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner.launch_kernel
    - jupyter_client.provisioning.local_provisioner.LocalProvisioner._scrub_kwargs
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 223
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner._scrub_kwargs
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 1
    functionsReached:
    - kwargs.copy
    - scrubbed_kwargs.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.getpgid
    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: kwargs.copy
    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: scrubbed_kwargs.pop
    functionSourceFile: <builtin>
    functionUses: 2
    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: 231
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.get_provisioner_info
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - provisioner_info.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: provisioner_info.update
    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
    - provisioner_info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 237
    functionName: jupyter_client.provisioning.local_provisioner.LocalProvisioner.load_provisioner_info
    functionSourceFile: jupyter_client.provisioning.local_provisioner
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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: jupyter_client.win_interrupt
    functionSourceFile: jupyter_client.win_interrupt
    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: 10
    functionName: jupyter_client.win_interrupt.create_interrupt_event
    functionSourceFile: jupyter_client.win_interrupt
    functionUses: 1
    functionsReached:
    - ctypes.pointer
    - ctypes.windll.kernel32.CreateEventA
    - ctypes.Structure.__init__
    - ctypes.sizeof
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ctypes.Structure.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ctypes.pointer
    functionSourceFile: ctypes
    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: ctypes.sizeof
    functionSourceFile: ctypes
    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: ctypes.windll.kernel32.CreateEventA
    functionSourceFile: ctypes
    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: ctypes.windll.kernel32.SetEvent
    functionSourceFile: ctypes
    functionUses: 4
    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: jupyter_client.launcher
    functionSourceFile: jupyter_client.launcher
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 6
    IfCount: 8
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f8024c02bb0>
    - <ast.Constant object at 0x7f8024c02ca0>
    - <ast.Constant object at 0x7f8024c02f40>
    - <ast.Constant object at 0x7f8024c02640>
    - <ast.Constant object at 0x7f8024c02eb0>
    - <ast.Constant object at 0x7f8024c02880>
    argNames:
    - cmd
    - stdin
    - stdout
    - stderr
    - env
    - independent
    - cwd
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 13
    functionName: jupyter_client.launcher.launch_kernel
    functionSourceFile: jupyter_client.launcher
    functionUses: 0
    functionsReached:
    - ctypes.pointer
    - <builtin>.open
    - jupyter_client.win_interrupt.create_interrupt_event
    - subprocess.Popen
    - ctypes.Structure.__init__
    - ctypes.sizeof
    - <builtin>.str
    - kw.copy
    - os.getpid
    - msg.format
    - warnings.warn
    - os.environ.copy
    - ctypes.windll.kernel32.CreateEventA
    - _winapi.GetCurrentProcess
    - kwargs.items
    - _winapi.DuplicateHandle
    - kwargs.update
    - kwargs.setdefault
    - traitlets.log.get_logger
    - <builtin>.int
    - _subprocess.DuplicateHandle
    - sys.executable.endswith
    - subprocess.Popen.stdin.close
    - traitlets.log.get_logger.error
    - os.path.expanduser
    - _subprocess.GetCurrentProcess
    - env.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: sys.executable.endswith
    functionSourceFile: sys
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.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: _subprocess.GetCurrentProcess
    functionSourceFile: _subprocess
    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: _winapi.GetCurrentProcess
    functionSourceFile: _winapi
    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: _winapi.DuplicateHandle
    functionSourceFile: _winapi
    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: _subprocess.DuplicateHandle
    functionSourceFile: _subprocess
    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.items
    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: env.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: msg.format
    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: traitlets.log.get_logger.error
    functionSourceFile: traitlets
    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: subprocess.Popen.stdin.close
    functionSourceFile: subprocess
    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: jupyter_client.managerabc
    functionSourceFile: jupyter_client.managerabc
    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: jupyter_client.managerabc.KernelManagerABC
    functionSourceFile: jupyter_client.managerabc
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    - abc.abstractproperty
    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: 17
    functionName: jupyter_client.managerabc.KernelManagerABC.kernel
    functionSourceFile: jupyter_client.managerabc
    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
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 25
    functionName: jupyter_client.managerabc.KernelManagerABC.start_kernel
    functionSourceFile: jupyter_client.managerabc
    functionUses: 0
    functionsReached: []
    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 0x7f8024efb130>
    - <ast.Constant object at 0x7f8024efbc40>
    argNames:
    - self
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 30
    functionName: jupyter_client.managerabc.KernelManagerABC.shutdown_kernel
    functionSourceFile: jupyter_client.managerabc
    functionUses: 0
    functionsReached: []
    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 0x7f8024efb0a0>
    argNames:
    - self
    - now
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 35
    functionName: jupyter_client.managerabc.KernelManagerABC.restart_kernel
    functionSourceFile: jupyter_client.managerabc
    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: 40
    functionName: jupyter_client.managerabc.KernelManagerABC.has_kernel
    functionSourceFile: jupyter_client.managerabc
    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: 44
    functionName: jupyter_client.managerabc.KernelManagerABC.interrupt_kernel
    functionSourceFile: jupyter_client.managerabc
    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
    - signum
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 49
    functionName: jupyter_client.managerabc.KernelManagerABC.signal_kernel
    functionSourceFile: jupyter_client.managerabc
    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: 54
    functionName: jupyter_client.managerabc.KernelManagerABC.is_alive
    functionSourceFile: jupyter_client.managerabc
    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: jupyter_client.blocking
    functionSourceFile: jupyter_client.blocking
    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: 0
    functionLinenumber: -1
    functionName: jupyter_client.blocking.client
    functionSourceFile: jupyter_client.blocking.client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 21
    functionName: jupyter_client.blocking.client.wrapped._
    functionSourceFile: jupyter_client.blocking.client
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - jupyter_client.blocking.client.wrapped
    - traitlets.Instance.msg
    - jupyter_client.client.KernelClient.inspect
    - jupyter_client.client.KernelClient.kernel_info
    - jupyter_client.asynchronous.client.wrapped
    - jupyter_client.client.KernelClient.is_complete
    - kwargs.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: 2
    functionLinenumber: -1
    functionName: jupyter_client.blocking.client.BlockingKernelClient
    functionSourceFile: jupyter_client.blocking.client
    functionUses: 0
    functionsReached:
    - jupyter_client.client.reqrep
    - meth.__doc__.split
    - basedoc.strip
    - traitlets.Type
    - jupyter_client.blocking.client.wrapped
    - jupyter_core.utils.run_sync
    - parts.append
    - jupyter_client.asynchronous.client.wrapped
    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: jupyter_client.clientabc
    functionSourceFile: jupyter_client.clientabc
    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: jupyter_client.clientabc.KernelClientABC
    functionSourceFile: jupyter_client.clientabc
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    - abc.abstractproperty
    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: jupyter_client.clientabc.KernelClientABC.kernel
    functionSourceFile: jupyter_client.clientabc
    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: 37
    functionName: jupyter_client.clientabc.KernelClientABC.shell_channel_class
    functionSourceFile: jupyter_client.clientabc
    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: 41
    functionName: jupyter_client.clientabc.KernelClientABC.iopub_channel_class
    functionSourceFile: jupyter_client.clientabc
    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: 45
    functionName: jupyter_client.clientabc.KernelClientABC.hb_channel_class
    functionSourceFile: jupyter_client.clientabc
    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: 49
    functionName: jupyter_client.clientabc.KernelClientABC.stdin_channel_class
    functionSourceFile: jupyter_client.clientabc
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 53
    functionName: jupyter_client.clientabc.KernelClientABC.control_channel_class
    functionSourceFile: jupyter_client.clientabc
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f80249a8100>
    - <ast.Constant object at 0x7f80249a83d0>
    - <ast.Constant object at 0x7f80249a8eb0>
    - <ast.Constant object at 0x7f80249a8d00>
    - <ast.Constant object at 0x7f80249a8940>
    argNames:
    - self
    - shell
    - iopub
    - stdin
    - hb
    - control
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 61
    functionName: jupyter_client.clientabc.KernelClientABC.start_channels
    functionSourceFile: jupyter_client.clientabc
    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: 73
    functionName: jupyter_client.clientabc.KernelClientABC.stop_channels
    functionSourceFile: jupyter_client.clientabc
    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: 78
    functionName: jupyter_client.clientabc.KernelClientABC.channels_running
    functionSourceFile: jupyter_client.clientabc
    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: 83
    functionName: jupyter_client.clientabc.KernelClientABC.shell_channel
    functionSourceFile: jupyter_client.clientabc
    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: 87
    functionName: jupyter_client.clientabc.KernelClientABC.iopub_channel
    functionSourceFile: jupyter_client.clientabc
    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: 91
    functionName: jupyter_client.clientabc.KernelClientABC.stdin_channel
    functionSourceFile: jupyter_client.clientabc
    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: 95
    functionName: jupyter_client.clientabc.KernelClientABC.hb_channel
    functionSourceFile: jupyter_client.clientabc
    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: 99
    functionName: jupyter_client.clientabc.KernelClientABC.control_channel
    functionSourceFile: jupyter_client.clientabc
    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: 0
    functionLinenumber: -1
    functionName: jupyter_client.multikernelmanager
    functionSourceFile: jupyter_client.multikernelmanager
    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:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 30
    functionName: jupyter_client.multikernelmanager.kernel_method
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 1
    functionsReached:
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 34
    functionName: jupyter_client.multikernelmanager.kernel_method.wrapped
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager.finish_shutdown
    - jupyter_client.multikernelmanager.MultiKernelManager.signal_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_restart_callback
    - jupyter_client.multikernelmanager.MultiKernelManager.is_alive
    - <builtin>.getattr
    - jupyter_client.multikernelmanager.MultiKernelManager.connect_stdin
    - jupyter_client.multikernelmanager.MultiKernelManager.connect_hb
    - jupyter_client.multikernelmanager.MultiKernelManager.request_shutdown
    - jupyter_client.multikernelmanager.MultiKernelManager.get_connection_info
    - jupyter_client.multikernelmanager.MultiKernelManager.connect_control
    - jupyter_client.multikernelmanager.MultiKernelManager.connect_shell
    - jupyter_client.multikernelmanager.MultiKernelManager.add_restart_callback
    - jupyter_client.multikernelmanager.MultiKernelManager.cleanup_resources
    - jupyter_client.multikernelmanager.MultiKernelManager.connect_iopub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f802451f310>
    - <ast.Constant object at 0x7f802451fa90>
    argNames:
    - self
    - kernel_id
    - waittime
    - pollinterval
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 341
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.finish_shutdown
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - signum
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 401
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.signal_kernel
    functionSourceFile: ''
    functionUses: 1
    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 0x7f8025424a30>
    argNames:
    - self
    - kernel_id
    - callback
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 476
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.remove_restart_callback
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 441
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.is_alive
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    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 0x7f80250378e0>
    argNames:
    - self
    - kernel_id
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 554
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.connect_stdin
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    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 0x7f8024c80760>
    argNames:
    - self
    - kernel_id
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 572
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.connect_hb
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    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 0x7f8024f1c790>
    argNames:
    - self
    - kernel_id
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 337
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.request_shutdown
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 482
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.get_connection_info
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    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 0x7f80250374c0>
    argNames:
    - self
    - kernel_id
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 536
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.connect_control
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    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 0x7f8025037e80>
    argNames:
    - self
    - kernel_id
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 518
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.connect_shell
    functionSourceFile: ''
    functionUses: 1
    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 0x7f80254249a0>
    argNames:
    - self
    - kernel_id
    - callback
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 470
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.add_restart_callback
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    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 0x7f802451f3a0>
    argNames:
    - self
    - kernel_id
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 351
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.cleanup_resources
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    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 0x7f8025037f40>
    argNames:
    - self
    - kernel_id
    - identity
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 500
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.connect_iopub
    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: 2
    functionLinenumber: -1
    functionName: jupyter_client.multikernelmanager.MultiKernelManager
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.observe
    - traitlets.Bool.tag
    - traitlets.Bool
    - traitlets.Dict
    - traitlets.Any
    - traitlets.default
    - traitlets.DottedObjectName.tag
    - jupyter_client.multikernelmanager.kernel_method
    - jupyter_core.utils.run_sync
    - traitlets.Unicode.tag
    - traitlets.Instance
    - traitlets.DottedObjectName
    - traitlets.Unicode
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Unicode.tag
    functionSourceFile: traitlets
    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: traitlets.DottedObjectName.tag
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 68
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._kernel_manager_class_changed
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory
    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: 77
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 2
    functionsReached:
    - traitlets.utils.importstring.import_item
    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: 74
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._kernel_manager_factory_default
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.utils.importstring.import_item
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 80
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 8
    functionsReached:
    - traitlets.utils.importstring.import_item
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - zmq.Context
    - kwargs.setdefault
    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: 108
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._context_default
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 9
    functionsReached:
    - zmq.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: traitlets.Bool.tag
    functionSourceFile: traitlets
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 103
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._starting_kernels
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    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: 117
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.__init__
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 2
    functionsReached:
    - <builtin>.super
    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: 1
    functionLinenumber: 121
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.__del__
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - traitlets.Instance.destroy
    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: 3
    functionLinenumber: 134
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.list_kernel_ids
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 3
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - datetime.datetime.now
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.utcnow
    - <builtin>.str
    - v.index
    - km.load_connection_info
    - zmq.Context
    - pathlib.Path.is_dir
    - <builtin>.list
    - traitlets.Any
    - kwargs.setdefault
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.values
    - connection_file.read_text
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - p.is_file
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - km.ready.set_result
    - json.loads
    - pathlib.Path.iterdir
    - pathlib.Path
    - traitlets.Dict.keys
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.keys
    - uuid.uuid4
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathlib.Path.is_dir
    functionSourceFile: pathlib
    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: pathlib.Path.iterdir
    functionSourceFile: pathlib
    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: p.is_file
    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: traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.keys
    functionSourceFile: traitlets
    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: traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.values
    functionSourceFile: traitlets
    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: v.index
    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: connection_file.read_text
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 589
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 7
    functionsReached:
    - <builtin>.str
    - uuid.uuid4
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: km.load_connection_info
    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: km.ready.set_result
    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: traitlets.Dict.keys
    functionSourceFile: traitlets
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 185
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.__len__
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - datetime.datetime.now
    - traitlets.utils.importstring.import_item
    - jupyter_client.multikernelmanager.MultiKernelManager.list_kernel_ids
    - jupyter_client.session.utcnow
    - <builtin>.str
    - v.index
    - km.load_connection_info
    - zmq.Context
    - pathlib.Path.is_dir
    - <builtin>.list
    - traitlets.Any
    - kwargs.setdefault
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.values
    - connection_file.read_text
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - p.is_file
    - km.ready.set_result
    - <builtin>.len
    - json.loads
    - pathlib.Path.iterdir
    - pathlib.Path
    - traitlets.Dict.keys
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.keys
    - uuid.uuid4
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 189
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.__contains__
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 192
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.pre_start_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 2
    functionsReached:
    - zmq.Context
    - <builtin>.str
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - uuid.uuid4
    - traitlets.Any
    - kwargs.setdefault
    - traitlets.utils.importstring.import_item
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - os.path.join
    - kwargs.pop
    linkageType: pythonLinkage
    raised:
    - DuplicateKernelError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - env
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 217
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.update_env
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - km
    - kernel_awaitable
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 228
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._add_kernel_when_ready
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 2
    functionsReached:
    - traitlets.Dict.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: traitlets.Dict.pop
    functionSourceFile: traitlets
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - kernel_awaitable
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 238
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 5
    functionsReached:
    - traitlets.Dict.pop
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 354
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 8
    functionsReached:
    - traitlets.Dict.pop
    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: 248
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 9
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 254
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._async_start_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 1
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - traitlets.utils.importstring.import_item
    - asyncio.create_task
    - os.path.join
    - <builtin>.str
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - <builtin>.getattr
    - <builtin>.isinstance
    - zmq.Context
    - traitlets.Any
    - kwargs.setdefault
    - km.ready.exception
    - jupyter_client.multikernelmanager.MultiKernelManager._add_kernel_when_ready
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - kwargs.pop
    - jupyter_core.utils.ensure_async
    - jupyter_client.multikernelmanager.MultiKernelManager.pre_start_kernel
    - traitlets.Dict.pop
    - km.start_kernel
    - uuid.uuid4
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: km.start_kernel
    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: asyncio.create_task
    functionSourceFile: asyncio
    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: km.ready.exception
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 7
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f80250997f0>
    - <ast.Constant object at 0x7f8025099070>
    argNames:
    - self
    - kernel_id
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 289
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 4
    functionsReached:
    - typing.cast
    - jupyter_core.utils.ensure_async
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - asyncio.ensure_future
    - traitlets.Dict.pop
    - traitlets.config.LoggingConfigurable.ready.exception
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - <builtin>.getattr
    - traitlets.config.LoggingConfigurable.ready.cancelled
    - jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 458
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 17
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_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: traitlets.config.LoggingConfigurable.ready.cancelled
    functionSourceFile: traitlets
    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: traitlets.config.LoggingConfigurable.ready.exception
    functionSourceFile: traitlets
    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: traitlets.config.LoggingConfigurable.shutdown_kernel
    functionSourceFile: traitlets
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f802451f460>
    argNames:
    - self
    - now
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 364
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_all
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - typing.cast
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - <builtin>.set
    - datetime.datetime.now
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - traitlets.utils.importstring.import_item
    - jupyter_client.multikernelmanager.MultiKernelManager.list_kernel_ids
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - jupyter_client.session.utcnow
    - <builtin>.str
    - v.index
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - asyncio.gather
    - <builtin>.getattr
    - km.load_connection_info
    - zmq.Context
    - pathlib.Path.is_dir
    - <builtin>.list
    - jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel
    - uuid.uuid4
    - traitlets.Any
    - traitlets.Dict.values
    - kwargs.setdefault
    - asyncio.ensure_future
    - traitlets.config.LoggingConfigurable.ready.exception
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.values
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - connection_file.read_text
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - p.is_file
    - km.ready.set_result
    - json.loads
    - pathlib.Path.iterdir
    - pathlib.Path
    - traitlets.Dict.keys
    - jupyter_core.utils.ensure_async
    - traitlets.Dict.pop
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.keys
    - traitlets.config.LoggingConfigurable.ready.cancelled
    - jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Dict.values
    functionSourceFile: traitlets
    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: asyncio.gather
    functionSourceFile: asyncio
    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
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 384
    functionName: jupyter_client.multikernelmanager.MultiKernelManager.interrupt_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.interrupt_kernel
    - traitlets.config.LoggingConfigurable.ready.done
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    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: traitlets.config.LoggingConfigurable.ready.done
    functionSourceFile: traitlets
    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: traitlets.config.LoggingConfigurable.interrupt_kernel
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8024741ee0>
    argNames:
    - self
    - kernel_id
    - now
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 416
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._async_restart_kernel
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 1
    functionsReached:
    - traitlets.config.LoggingConfigurable.restart_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - jupyter_core.utils.ensure_async
    - traitlets.config.LoggingConfigurable.ready.done
    - <builtin>.getattr
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    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: traitlets.config.LoggingConfigurable.restart_kernel
    functionSourceFile: traitlets
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 453
    functionName: jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - KeyError
    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: jupyter_client.multikernelmanager.AsyncMultiKernelManager
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.Bool.tag
    - traitlets.Bool
    - traitlets.default
    - traitlets.Instance
    - traitlets.DottedObjectName
    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: 617
    functionName: jupyter_client.multikernelmanager.AsyncMultiKernelManager._context_default
    functionSourceFile: jupyter_client.multikernelmanager
    functionUses: 0
    functionsReached:
    - zmq.asyncio.Context
    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: -1
    functionName: jupyter_server.base.zmqhandlers
    functionSourceFile: jupyter_server.base.zmqhandlers
    functionUses: 0
    functionsReached:
    - warnings.warn
    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: jupyter_server.base.websocket
    functionSourceFile: jupyter_server.base.websocket
    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: 27
    functionName: jupyter_server.base.websocket.WebSocketMixin.ping_interval
    functionSourceFile: jupyter_server.base.websocket
    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: 35
    functionName: jupyter_server.base.websocket.WebSocketMixin.ping_timeout
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached:
    - <builtin>.max
    linkageType: 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: jupyter_server.base.websocket.WebSocketMixin
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached:
    - typing.no_type_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 2
    IfCount: 7
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8025129280>
    argNames:
    - self
    - origin
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 45
    functionName: jupyter_server.base.websocket.WebSocketMixin.check_origin
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached:
    - origin.lower
    - re.match
    - <builtin>.bool
    - urllib.parse.urlparse
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: origin.lower
    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: urllib.parse.urlparse
    functionSourceFile: urllib
    functionUses: 22
    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: 0
    functionLinenumber: 87
    functionName: jupyter_server.base.websocket.WebSocketMixin.clear_cookie
    functionSourceFile: jupyter_server.base.websocket
    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: 91
    functionName: jupyter_server.base.websocket.WebSocketMixin._maybe_auth
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 109
    functionName: jupyter_server.base.websocket.WebSocketMixin.prepare
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached:
    - jupyter_server.base.websocket.WebSocketMixin._maybe_auth
    - warnings.warn
    - <builtin>.super
    - <builtin>.getattr
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 125
    functionName: jupyter_server.base.websocket.WebSocketMixin.open
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - tornado.ioloop.PeriodicCallback
    - tornado.ioloop.IOLoop.current
    - loop.time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loop.time
    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: tornado.ioloop.PeriodicCallback
    functionSourceFile: tornado
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 142
    functionName: jupyter_server.base.websocket.WebSocketMixin.send_ping
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 165
    functionName: jupyter_server.base.websocket.WebSocketMixin.on_pong
    functionSourceFile: jupyter_server.base.websocket
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    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: 1
    functionLinenumber: -1
    functionName: jupyter_server.utils
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - typing.NewType
    - contextlib.contextmanager
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NewType
    functionSourceFile: typing
    functionUses: 91
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - pieces
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: jupyter_server.utils.url_path_join
    functionSourceFile: jupyter_server.utils
    functionUses: 53
    functionsReached:
    - s.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.strip
    functionSourceFile: <builtin>
    functionUses: 54
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - url
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 62
    functionName: jupyter_server.utils.url_is_absolute
    functionSourceFile: jupyter_server.utils
    functionUses: 1
    functionsReached:
    - urllib.parse.urlparse
    - urllib.parse.urlparse.path.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: urllib.parse.urlparse.path.startswith
    functionSourceFile: urllib
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 67
    functionName: jupyter_server.utils.path2url
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - s.strip
    - urllib.parse.quote
    - path.split
    - jupyter_server.utils.url_path_join
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.quote
    functionSourceFile: urllib
    functionUses: 30
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.split
    functionSourceFile: <builtin>
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - url
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 77
    functionName: jupyter_server.utils.url2path
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - urllib.parse.unquote
    - os.path.join
    - url.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: urllib.parse.unquote
    functionSourceFile: urllib
    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: url.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 84
    functionName: jupyter_server.utils.url_escape
    functionSourceFile: jupyter_server.utils
    functionUses: 28
    functionsReached:
    - urllib.parse.quote
    - path.split
    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: 93
    functionName: jupyter_server.utils.url_unescape
    functionSourceFile: jupyter_server.utils
    functionUses: 2
    functionsReached:
    - urllib.parse.unquote
    - path.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - path
    - other_path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 101
    functionName: jupyter_server.utils.samefile_simple
    functionSourceFile: jupyter_server.utils
    functionUses: 6
    functionsReached:
    - path.lower
    - other_path.lower
    - 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: path.lower
    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: other_path.lower
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f80251f31c0>
    argNames:
    - path
    - root
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 128
    functionName: jupyter_server.utils.to_os_path
    functionSourceFile: jupyter_server.utils
    functionUses: 77
    functionsReached:
    - <builtin>.str
    - os.path.join
    - os.path.normpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 78
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024faa640>
    argNames:
    - os_path
    - root
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 140
    functionName: jupyter_server.utils.to_api_path
    functionSourceFile: jupyter_server.utils
    functionUses: 69
    functionsReached:
    - <builtin>.len
    - typing.NewType
    - os_path.startswith
    - os_path.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.startswith
    functionSourceFile: <builtin>
    functionUses: 70
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.strip
    functionSourceFile: <builtin>
    functionUses: 70
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - v
    - check
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 154
    functionName: jupyter_server.utils.check_version
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - packaging.version.Version
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.Version
    functionSourceFile: packaging
    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:
    - pid
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 170
    functionName: jupyter_server.utils._check_pid_win32
    functionSourceFile: jupyter_server.utils
    functionUses: 4
    functionsReached:
    - <builtin>.bool
    - ctypes.windll.kernel32.OpenProcess
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ctypes.windll.kernel32.OpenProcess
    functionSourceFile: ctypes
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - pid
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 178
    functionName: jupyter_server.utils._check_pid_posix
    functionSourceFile: jupyter_server.utils
    functionUses: 4
    functionsReached:
    - 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.kill
    functionSourceFile: os
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - maybe_async
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 199
    functionName: jupyter_server.utils.run_sync_in_loop
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - jupyter_core.utils.ensure_async
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - socket_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 209
    functionName: jupyter_server.utils.urlencode_unix_socket_path
    functionSourceFile: jupyter_server.utils
    functionUses: 5
    functionsReached:
    - traitlets.Unicode.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: traitlets.Unicode.replace
    functionSourceFile: traitlets
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - socket_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 214
    functionName: jupyter_server.utils.urldecode_unix_socket_path
    functionSourceFile: jupyter_server.utils
    functionUses: 3
    functionsReached:
    - socket_path.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: socket_path.replace
    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:
    - socket_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 219
    functionName: jupyter_server.utils.urlencode_unix_socket
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - traitlets.Unicode.replace
    - jupyter_server.utils.urlencode_unix_socket_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - socket_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 224
    functionName: jupyter_server.utils.unix_socket_in_use
    functionSourceFile: jupyter_server.utils
    functionUses: 2
    functionsReached:
    - sock.connect
    - sock.close
    - socket.socket
    - os.path.exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f80252c8ac0>
    - <ast.Constant object at 0x7f80252c8310>
    - <ast.Constant object at 0x7f80252c8970>
    argNames:
    - urlstring
    - method
    - body
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 241
    functionName: jupyter_server.utils._request_for_tornado_client
    functionSourceFile: jupyter_server.utils
    functionUses: 3
    functionsReached:
    - tornado.netutil.Resolver.__init__
    - tornado.netutil.Resolver
    - tornado.httpclient.AsyncHTTPClient.configure
    - urllib.parse.urlsplit
    - tornado.httpclient.HTTPRequest
    - urllib.parse.SplitResult
    - urllib.parse.urlunsplit
    linkageType: pythonLinkage
    raised:
    - Exception
    returnType: N/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: urllib
    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: urllib.parse.SplitResult
    functionSourceFile: urllib
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - resolver
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 273
    functionName: jupyter_server.utils._request_for_tornado_client.UnixSocketResolver.initialize
    functionSourceFile: jupyter_server.utils
    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: 276
    functionName: jupyter_server.utils._request_for_tornado_client.UnixSocketResolver.close
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - host
    - port
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 279
    functionName: jupyter_server.utils._request_for_tornado_client.UnixSocketResolver.resolve
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - socket_path.replace
    - jupyter_server.utils.urldecode_unix_socket_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.netutil.Resolver
    functionSourceFile: tornado
    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: tornado.netutil.Resolver.__init__
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.httpclient.AsyncHTTPClient.configure
    functionSourceFile: tornado
    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: urllib.parse.urlunsplit
    functionSourceFile: urllib
    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: tornado.httpclient.HTTPRequest
    functionSourceFile: tornado
    functionUses: 6
    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 0x7f8024f457c0>
    - <ast.Constant object at 0x7f8024f45700>
    - <ast.Constant object at 0x7f8024f450a0>
    argNames:
    - urlstring
    - method
    - body
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 294
    functionName: jupyter_server.utils.fetch
    functionSourceFile: jupyter_server.utils
    functionUses: 1
    functionsReached:
    - tornado.netutil.Resolver.__init__
    - tornado.httpclient.HTTPClient.fetch
    - tornado.httpclient.HTTPClient
    - tornado.netutil.Resolver
    - tornado.httpclient.AsyncHTTPClient.configure
    - urllib.parse.urlsplit
    - tornado.httpclient.HTTPRequest
    - urllib.parse.SplitResult
    - jupyter_server.utils._request_for_tornado_client
    - urllib.parse.urlunsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.httpclient.HTTPClient
    functionSourceFile: tornado
    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: tornado.httpclient.HTTPClient.fetch
    functionSourceFile: tornado
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f802526d250>
    - <ast.Constant object at 0x7f802526d1f0>
    - <ast.Constant object at 0x7f802526d100>
    - <ast.Constant object at 0x7f802526d6d0>
    argNames:
    - urlstring
    - method
    - body
    - headers
    - io_loop
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 308
    functionName: jupyter_server.utils.async_fetch
    functionSourceFile: jupyter_server.utils
    functionUses: 0
    functionsReached:
    - tornado.netutil.Resolver.__init__
    - tornado.netutil.Resolver
    - tornado.httpclient.AsyncHTTPClient.configure
    - tornado.httpclient.AsyncHTTPClient.fetch
    - urllib.parse.urlsplit
    - tornado.httpclient.HTTPRequest
    - urllib.parse.SplitResult
    - jupyter_server.utils._request_for_tornado_client
    - urllib.parse.urlunsplit
    - tornado.httpclient.AsyncHTTPClient
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.httpclient.AsyncHTTPClient
    functionSourceFile: tornado
    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: tornado.httpclient.AsyncHTTPClient.fetch
    functionSourceFile: tornado
    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:
    - namespace
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 322
    functionName: jupyter_server.utils.is_namespace_package
    functionSourceFile: jupyter_server.utils
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - importlib.util.find_spec
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.find_spec
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - filename
    - path_dirs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 342
    functionName: jupyter_server.utils.filefind
    functionSourceFile: jupyter_server.utils
    functionUses: 1
    functionsReached:
    - pathlib.Path
    - pathlib.Path.is_relative_to
    - pathlib.Path.is_absolute
    - pathlib.Path.is_file
    - pathlib.Path.absolute
    - os.path.abspath
    - pathlib.Path.relative_to
    linkageType: pythonLinkage
    raised:
    - OSError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathlib.Path.is_absolute
    functionSourceFile: pathlib
    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: pathlib.Path.absolute
    functionSourceFile: pathlib
    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: pathlib.Path.is_relative_to
    functionSourceFile: pathlib
    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: pathlib.Path.relative_to
    functionSourceFile: pathlib
    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: pathlib.Path.is_file
    functionSourceFile: pathlib
    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:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 401
    functionName: jupyter_server.utils.import_item
    functionSourceFile: jupyter_server.utils
    functionUses: 5
    functionsReached:
    - traitlets.Any.rsplit
    - <builtin>.len
    - <builtin>.__import__
    - <builtin>.getattr
    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: traitlets.Any.rsplit
    functionSourceFile: traitlets
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.__import__
    functionSourceFile: <builtin>
    functionUses: 11
    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: jupyter_server.base.handlers
    functionSourceFile: jupyter_server.base.handlers
    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: 4
    functionLinenumber: 66
    functionName: jupyter_server.base.handlers.json_sys_info
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - json.dumps
    - repo_commit.strip
    - proc.communicate
    - os.path.dirname
    - jupyter_server._sysinfo.pkg_commit_hash
    - subprocess.Popen
    - platform.platform
    - jupyter_server._sysinfo.pkg_info
    - os.path.realpath
    - os.path.exists
    - os.path.abspath
    - os.path.join
    - jupyter_server._sysinfo.get_sys_info
    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: 3
    functionLinenumber: 90
    functionName: jupyter_server._sysinfo.get_sys_info
    functionSourceFile: jupyter_server._sysinfo
    functionUses: 6
    functionsReached:
    - repo_commit.strip
    - proc.communicate
    - os.path.dirname
    - jupyter_server._sysinfo.pkg_commit_hash
    - subprocess.Popen
    - platform.platform
    - jupyter_server._sysinfo.pkg_info
    - os.path.realpath
    - os.path.exists
    - os.path.abspath
    - os.path.join
    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: 1
    functionLinenumber: 74
    functionName: jupyter_server.base.handlers.log
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - typing.cast
    - traitlets.config.Application.initialized
    - traitlets.config.Application.instance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.Application.initialized
    functionSourceFile: traitlets
    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: traitlets.config.Application.instance
    functionSourceFile: traitlets
    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: 1
    functionLinenumber: 86
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.base_url
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - tornado.web.RequestHandler.settings.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: tornado.web.RequestHandler.settings.get
    functionSourceFile: tornado
    functionUses: 40
    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: 90
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.content_security_policy
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - tornado.web.RequestHandler.settings.get
    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: 1
    functionLinenumber: 108
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.set_default_headers
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.log.exception
    - tornado.web.RequestHandler.settings.get
    - tornado.web.RequestHandler.set_header
    - headers.update
    - headers.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: headers.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: headers.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.RequestHandler.set_header
    functionSourceFile: tornado
    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: tornado.web.RequestHandler.log.exception
    functionSourceFile: tornado
    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: 1
    functionLinenumber: 129
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.cookie_name
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f8024f0bbb0>
    - <ast.Constant object at 0x7f8024f0bdf0>
    argNames:
    - self
    - name
    - path
    - domain
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 139
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.force_clear_cookie
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - warnings.warn
    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: 150
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.clear_login_cookie
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - warnings.warn
    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: 161
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.get_current_user
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - typing.cast
    - warnings.warn
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: 179
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    functionSourceFile: jupyter_server.base.handlers
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 191
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.token_authenticated
    functionSourceFile: jupyter_server.base.handlers
    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: 196
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.logged_in
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    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: 202
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.login_handler
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - warnings.warn
    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: 214
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.token
    functionSourceFile: jupyter_server.base.handlers
    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: 219
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.login_available
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 229
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.authorizer
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    - tornado.web.RequestHandler.settings.get
    - typing.cast
    - warnings.warn
    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: 252
    functionName: jupyter_server.base.handlers.AuthenticatedHandler.identity_provider
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    - tornado.web.RequestHandler.settings.get
    - typing.cast
    - warnings.warn
    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: 280
    functionName: jupyter_server.base.handlers.JupyterHandler.config
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - tornado.web.RequestHandler.settings.get
    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: 284
    functionName: jupyter_server.base.handlers.JupyterHandler.log
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.log
    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: 289
    functionName: jupyter_server.base.handlers.JupyterHandler.jinja_template_vars
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - tornado.web.RequestHandler.settings.get
    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: 294
    functionName: jupyter_server.base.handlers.JupyterHandler.serverapp
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 302
    functionName: jupyter_server.base.handlers.JupyterHandler.version_hash
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - tornado.web.RequestHandler.settings.get
    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: 307
    functionName: jupyter_server.base.handlers.JupyterHandler.mathjax_url
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - jupyter_server.utils.url_is_absolute
    - urllib.parse.urlparse.path.startswith
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.settings.get
    - s.strip
    - jupyter_server.utils.url_path_join
    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: 314
    functionName: jupyter_server.base.handlers.JupyterHandler.mathjax_config
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - tornado.web.RequestHandler.settings.get
    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: 318
    functionName: jupyter_server.base.handlers.JupyterHandler.default_url
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - tornado.web.RequestHandler.settings.get
    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: 322
    functionName: jupyter_server.base.handlers.JupyterHandler.ws_url
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - tornado.web.RequestHandler.settings.get
    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: 326
    functionName: jupyter_server.base.handlers.JupyterHandler.contents_js_source
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - tornado.web.RequestHandler.settings.get
    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: 338
    functionName: jupyter_server.base.handlers.JupyterHandler.kernel_manager
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 342
    functionName: jupyter_server.base.handlers.JupyterHandler.contents_manager
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 346
    functionName: jupyter_server.base.handlers.JupyterHandler.session_manager
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 350
    functionName: jupyter_server.base.handlers.JupyterHandler.terminal_manager
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 354
    functionName: jupyter_server.base.handlers.JupyterHandler.kernel_spec_manager
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 358
    functionName: jupyter_server.base.handlers.JupyterHandler.config_manager
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 362
    functionName: jupyter_server.base.handlers.JupyterHandler.event_logger
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 370
    functionName: jupyter_server.base.handlers.JupyterHandler.allow_origin
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - tornado.web.RequestHandler.settings.get
    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: 375
    functionName: jupyter_server.base.handlers.JupyterHandler.allow_origin_pat
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - tornado.web.RequestHandler.settings.get
    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: 380
    functionName: jupyter_server.base.handlers.JupyterHandler.allow_credentials
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - tornado.web.RequestHandler.settings.get
    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: 384
    functionName: jupyter_server.base.handlers.JupyterHandler.set_default_headers
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 388
    functionName: jupyter_server.base.handlers.JupyterHandler.set_cors_headers
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - re.match
    - jupyter_server.base.handlers.JupyterHandler.get_origin
    - tornado.web.RequestHandler.settings.get
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.request.headers.get
    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: 421
    functionName: jupyter_server.base.handlers.JupyterHandler.get_origin
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 2
    functionsReached:
    - tornado.web.RequestHandler.request.headers.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: tornado.web.RequestHandler.request.headers.get
    functionSourceFile: tornado
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 410
    functionName: jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 7
    functionsReached:
    - jupyter_server.utils.url_escape
    - urllib.parse.quote
    - path.split
    - tornado.web.RequestHandler.set_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f802456c970>
    argNames:
    - self
    - origin_to_satisfy_tornado
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 434
    functionName: jupyter_server.base.handlers.JupyterHandler.check_origin
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 2
    functionsReached:
    - re.match
    - origin.lower
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - <builtin>.bool
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.request.headers.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 4
    IfCount: 7
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 481
    functionName: jupyter_server.base.handlers.JupyterHandler.check_referer
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 8
    functionsReached:
    - re.match
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - <builtin>.bool
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.request.headers.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 527
    functionName: jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 7
    functionsReached:
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - re.match
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - <builtin>.bool
    - urllib.parse.urlparse
    - <builtin>.super
    - tornado.web.RequestHandler.settings.get
    - tornado.web.RequestHandler.request.headers.get
    - <builtin>.hasattr
    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: 2
    functionLinenumber: 551
    functionName: jupyter_server.base.handlers.JupyterHandler.check_host
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - host.startswith
    - host.endswith
    - re.match
    - socket_path.replace
    - ipaddress.ip_address
    - tornado.web.RequestHandler.settings.get
    - jupyter_server.utils.urldecode_unix_socket_path
    - os.path.exists
    - match.group
    - check_host.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: host.startswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: host.endswith
    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: check_host.startswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ipaddress.ip_address
    functionSourceFile: ipaddress
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 6
    IfCount: 9
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - _redirect_to_login
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 593
    functionName: jupyter_server.base.handlers.JupyterHandler.prepare
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - host.startswith
    - jupyter_server.base.call_context.CallContext._get_map
    - jupyter_server.base.call_context.CallContext.set
    - <builtin>.super
    - contextvars.copy_context
    - tornado.web.RequestHandler.settings.get
    - jupyter_server.base.handlers.AuthenticatedHandler.get_current_user
    - <builtin>.hasattr
    - inspect.getmodule
    - jupyter_server.base.handlers.JupyterHandler.request.method.lower
    - jupyter_server.base.handlers.JupyterHandler.get_origin
    - socket_path.replace
    - CallContext._name_value_map.get
    - ipaddress.ip_address
    - warnings.warn
    - tornado.web.RequestHandler.request.headers.get
    - <builtin>.getattr
    - <builtin>.isinstance
    - <builtin>.type
    - CallContext._name_value_map.set
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - jupyter_server.base.handlers.JupyterHandler.check_host
    - <builtin>.bool
    - jupyter_server.base.handlers.JupyterHandler.set_cors_headers
    - os.path.exists
    - match.group
    - host.endswith
    - re.match
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - urllib.parse.urlparse
    - tornado.web.authenticated
    - jupyter_server.utils.urldecode_unix_socket_path
    - tornado.web.RequestHandler.set_header
    - check_host.startswith
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/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.getmodule
    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: jupyter_server.base.handlers.JupyterHandler.request.method.lower
    functionSourceFile: jupyter_server
    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: jupyter_server.base.handlers.JupyterHandler.prepare.<lambda1>
    functionSourceFile: jupyter_server.base.handlers
    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: tornado.web.authenticated
    functionSourceFile: tornado
    functionUses: 27
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 659
    functionName: jupyter_server.base.handlers.JupyterHandler.get_template
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - ns
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 663
    functionName: jupyter_server.base.handlers.JupyterHandler.render_template
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 10
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - ns.update
    - template.render
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: template.render
    functionSourceFile: <builtin>
    functionUses: 16
    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: 5
    functionLinenumber: 670
    functionName: jupyter_server.base.handlers.JupyterHandler.template_namespace
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.i18n.cached_load
    - <builtin>.open
    - repo_commit.strip
    - lang.replace
    - jupyter_server._sysinfo.pkg_commit_hash
    - subprocess.Popen
    - collections.defaultdict
    - res.extend
    - accept_lang.split
    - os.path.join
    - jupyter_server._sysinfo.get_sys_info
    - _accept_lang_re.match
    - <builtin>.float
    - <builtin>.sorted
    - combined.clear
    - tornado.web.RequestHandler.request.headers.get
    - os.path.realpath
    - jupyter_server.i18n.combine_translations
    - <builtin>.getattr
    - collections.defaultdict.items
    - os.path.abspath
    - jupyter_server.i18n.parse_accept_lang_header
    - <builtin>.bool
    - <builtin>.dict
    - os.path.exists
    - json.dumps
    - jupyter_server.i18n.load
    - combined.update
    - proc.communicate
    - m.group
    - json.load
    - os.path.dirname
    - jupyter_server.base.handlers.json_sys_info
    - platform.platform
    - jupyter_server._sysinfo.pkg_info
    - part.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f802475c490>
    argNames:
    - accept_language
    - domain
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 84
    functionName: jupyter_server.i18n.combine_translations
    functionSourceFile: jupyter_server.i18n
    functionUses: 1
    functionsReached:
    - jupyter_server.i18n.parse_accept_lang_header
    - jupyter_server.i18n.cached_load
    - jupyter_server.i18n.load
    - <builtin>.open
    - combined.update
    - lang.replace
    - m.group
    - json.load
    - <builtin>.float
    - <builtin>.sorted
    - os.path.join
    - combined.clear
    - collections.defaultdict
    - res.extend
    - accept_lang.split
    - collections.defaultdict.items
    - part.strip
    - _accept_lang_re.match
    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: 693
    functionName: jupyter_server.base.handlers.JupyterHandler.get_json_body
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 11
    functionsReached:
    - json.loads
    - tornado.web.RequestHandler.request.body.strip
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.web.RequestHandler.request.body.strip
    functionSourceFile: tornado
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - status_code
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 707
    functionName: jupyter_server.base.handlers.JupyterHandler.write_error
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - tornado.web.RequestHandler.write
    - ns.update
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - http.client.responses.get
    - tornado.web.RequestHandler.set_header
    - template.render
    - <builtin>.getattr
    - kwargs.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: kwargs.get
    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: http.client.responses.get
    functionSourceFile: http
    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: tornado.web.RequestHandler.write
    functionSourceFile: tornado
    functionUses: 17
    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: 2
    functionLinenumber: 749
    functionName: jupyter_server.base.handlers.APIHandler.prepare
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - origin.lower
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - re.match
    - <builtin>.bool
    - urllib.parse.urlparse
    - <builtin>.super
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.base.handlers.JupyterHandler.check_origin
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - status_code
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 755
    functionName: jupyter_server.base.handlers.APIHandler.write_error
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - json.dumps
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - <builtin>.getattr
    - datetime.datetime.now
    - <builtin>.super
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.finish
    - http.client.responses.get
    - <builtin>.isinstance
    - kwargs.get
    - kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 809
    functionName: jupyter_server.base.handlers.APIHandler.finish
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 37
    functionsReached:
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - tornado.web.RequestHandler.set_header
    - <builtin>.getattr
    - kwargs.pop
    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: 777
    functionName: jupyter_server.base.handlers.APIHandler.get_login_url
    functionSourceFile: jupyter_server.base.handlers
    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: 787
    functionName: jupyter_server.base.handlers.APIHandler.content_security_policy
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    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: 799
    functionName: jupyter_server.base.handlers.APIHandler.update_api_activity
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 38
    functionsReached:
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.now
    - <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: tornado.web.RequestHandler.get_argument
    functionSourceFile: tornado
    functionUses: 52
    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: 29
    functionName: jupyter_server._tz.utcnow
    functionSourceFile: jupyter_server._tz
    functionUses: 54
    functionsReached:
    - datetime.datetime.now
    linkageType: 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: jupyter_server.base.handlers.APIHandler
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.setattr
    - jupyter_server.auth.decorator.allow_unauthenticated
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - method
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 90
    functionName: jupyter_server.auth.decorator.allow_unauthenticated
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 13
    functionsReached:
    - typing.cast
    - <builtin>.setattr
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 818
    functionName: jupyter_server.base.handlers.APIHandler.options
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - h.strip
    - tornado.web.RequestHandler.settings.get
    - tornado.web.RequestHandler.request.headers.get
    - tornado.web.RequestHandler.set_header
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.strip
    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>.any
    functionSourceFile: <builtin>
    functionUses: 49
    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: 861
    functionName: jupyter_server.base.handlers.Template404.prepare
    functionSourceFile: jupyter_server.base.handlers
    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: 1
    functionLinenumber: 873
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.content_security_policy
    functionSourceFile: jupyter_server.base.handlers
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    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 0x7f8024cc1a60>
    - <ast.Constant object at 0x7f8024cc1280>
    - <ast.Constant object at 0x7f8024cc1700>
    argNames:
    - action
    - resource
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 18
    functionName: jupyter_server.auth.decorator.authorized
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 24
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - functools.wraps
    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: 880
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.head
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - re.match
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - <builtin>.bool
    - urllib.parse.urlparse
    - <builtin>.super
    - tornado.web.RequestHandler.settings.get
    - tornado.web.RequestHandler.request.headers.get
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 887
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - tornado.web.RequestHandler.settings.get
    - <builtin>.hasattr
    - path.rsplit
    - os.path.splitext
    - tornado.web.RequestHandler.get_argument
    - path.split
    - tornado.web.RequestHandler.request.headers.get
    - tornado.web.StaticFileHandler.get
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - <builtin>.bool
    - urllib.parse.quote
    - re.match
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - jupyter_server.utils.url_escape
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.set_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.rsplit
    functionSourceFile: <builtin>
    functionUses: 35
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.web.StaticFileHandler.get
    functionSourceFile: tornado
    functionUses: 6
    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: 1
    functionLinenumber: 898
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.get_content_type
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - name.endswith
    - path.rsplit
    - <builtin>.super
    - mimetypes.guess_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.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: mimetypes.guess_type
    functionSourceFile: mimetypes
    functionUses: 31
    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: 915
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.set_headers
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - tornado.web.RequestHandler.add_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.web.RequestHandler.add_header
    functionSourceFile: tornado
    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: 0
    functionLinenumber: 922
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.compute_etag
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - root
    - absolute_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 926
    functionName: jupyter_server.base.handlers.AuthenticatedFileHandler.validate_absolute_path
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - jupyter_core.paths.is_hidden
    - 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: 0
    functionLinenumber: -1
    functionName: jupyter_core.paths.is_hidden
    functionSourceFile: jupyter_core
    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:
    - method
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 944
    functionName: jupyter_server.base.handlers.json_errors
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - functools.wraps
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 963
    functionName: jupyter_server.base.handlers.json_errors.wrapper
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - types.MethodType
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: types.MethodType
    functionSourceFile: types
    functionUses: 1
    functionsReached: []
    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: 1
    functionLinenumber: 991
    functionName: jupyter_server.base.handlers.FileFindHandler.set_headers
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.base.handlers.FileFindHandler.request.path.startswith
    - <builtin>.super
    - tornado.web.RequestHandler.settings.get
    - tornado.web.RequestHandler.set_header
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.base.handlers.FileFindHandler.request.path.startswith
    functionSourceFile: jupyter_server
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f8024989d90>
    - <ast.Constant object at 0x7f80249895e0>
    argNames:
    - self
    - path
    - default_filename
    - no_cache_paths
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1007
    functionName: jupyter_server.base.handlers.FileFindHandler.initialize
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - os.path.abspath
    - os.path.expanduser
    - <builtin>.tuple
    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: 1022
    functionName: jupyter_server.base.handlers.FileFindHandler.compute_etag
    functionSourceFile: jupyter_server.base.handlers
    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: 2
    functionLinenumber: -1
    functionName: jupyter_server.base.handlers.FileFindHandler
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.setattr
    - jupyter_server.auth.decorator.allow_unauthenticated
    - functools.wraps
    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 0x7f80244cadf0>
    argNames:
    - self
    - path
    - include_body
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1029
    functionName: jupyter_server.base.handlers.FileFindHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1035
    functionName: jupyter_server.base.handlers.FileFindHandler.head
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - roots
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1039
    functionName: jupyter_server.base.handlers.FileFindHandler.get_absolute_path
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - traitlets.config.Application.initialized
    - tornado.log.app_log.debug
    - pathlib.Path
    - jupyter_server.base.handlers.log
    - pathlib.Path.is_relative_to
    - jupyter_server.utils.filefind
    - pathlib.Path.is_absolute
    - typing.cast.debug
    - pathlib.Path.is_file
    - pathlib.Path.absolute
    - os.path.abspath
    - pathlib.Path.relative_to
    - traitlets.config.Application.instance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast.debug
    functionSourceFile: typing
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.log.app_log.debug
    functionSourceFile: tornado
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - root
    - absolute_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1055
    functionName: jupyter_server.base.handlers.FileFindHandler.validate_absolute_path
    functionSourceFile: jupyter_server.base.handlers
    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: 2
    functionLinenumber: -1
    functionName: jupyter_server.base.handlers.APIVersionHandler
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.setattr
    - jupyter_server.auth.decorator.allow_unauthenticated
    - functools.wraps
    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: 4
    functionLinenumber: 1073
    functionName: jupyter_server.base.handlers.APIVersionHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - json.dumps
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - kwargs.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: 2
    functionLinenumber: -1
    functionName: jupyter_server.base.handlers.TrailingSlashHandler
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.setattr
    - jupyter_server.auth.decorator.allow_unauthenticated
    - functools.wraps
    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: 1086
    functionName: jupyter_server.base.handlers.TrailingSlashHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.redirect
    - path.strip
    - tornado.web.RequestHandler.request.uri.partition
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.web.RequestHandler.request.uri.partition
    functionSourceFile: tornado
    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: path.strip
    functionSourceFile: <builtin>
    functionUses: 78
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.web.RequestHandler.redirect
    functionSourceFile: tornado
    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: 2
    functionLinenumber: -1
    functionName: jupyter_server.base.handlers.MainHandler
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.setattr
    - jupyter_server.auth.decorator.allow_unauthenticated
    - functools.wraps
    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: 1103
    functionName: jupyter_server.base.handlers.MainHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - tornado.web.RequestHandler.write
    - ns.update
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - template.render
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1115
    functionName: jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 4
    functionsReached:
    - tornado.web.RequestHandler.redirect
    - path.split
    - jupyter_core.utils.ensure_async
    - jupyter_server.utils.url_escape
    - parts.remove
    - s.strip
    - urllib.parse.quote
    - jupyter_server.utils.url_path_join
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.remove
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jupyter_server.base.handlers.FilesRedirectHandler
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.setattr
    - jupyter_server.auth.decorator.allow_unauthenticated
    - functools.wraps
    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 0x7f802470a310>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1144
    functionName: jupyter_server.base.handlers.FilesRedirectHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.redirect
    - path.split
    - jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files
    - jupyter_core.utils.ensure_async
    - jupyter_server.utils.url_escape
    - parts.remove
    - s.strip
    - urllib.parse.quote
    - jupyter_server.utils.url_path_join
    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 0x7f802470afd0>
    argNames:
    - self
    - url
    - permanent
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1151
    functionName: jupyter_server.base.handlers.RedirectWithParams.initialize
    functionSourceFile: jupyter_server.base.handlers
    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: 2
    functionLinenumber: -1
    functionName: jupyter_server.base.handlers.RedirectWithParams
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.setattr
    - jupyter_server.auth.decorator.allow_unauthenticated
    - functools.wraps
    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: 1157
    functionName: jupyter_server.base.handlers.RedirectWithParams.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.redirect
    - sep.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sep.join
    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: 2
    functionLinenumber: -1
    functionName: jupyter_server.base.handlers.PrometheusMetricsHandler
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.setattr
    - jupyter_server.auth.decorator.allow_unauthenticated
    - functools.wraps
    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: 1170
    functionName: jupyter_server.base.handlers.PrometheusMetricsHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.set_header
    - tornado.web.RequestHandler.write
    - prometheus_client.generate_latest
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: prometheus_client.generate_latest
    functionSourceFile: prometheus_client
    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: 2
    functionLinenumber: -1
    functionName: jupyter_server.base.handlers.PublicStaticFileHandler
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.setattr
    - jupyter_server.auth.decorator.allow_unauthenticated
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1183
    functionName: jupyter_server.base.handlers.PublicStaticFileHandler.head
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f80249b9a60>
    argNames:
    - self
    - path
    - include_body
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1187
    functionName: jupyter_server.base.handlers.PublicStaticFileHandler.get
    functionSourceFile: jupyter_server.base.handlers
    functionUses: 1
    functionsReached:
    - <builtin>.super
    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: jupyter_server.auth.decorator
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - method
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 45
    functionName: jupyter_server.auth.decorator.authorized.wrapper
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 25
    functionsReached:
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 47
    functionName: jupyter_server.auth.decorator.authorized.wrapper.inner
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - zipf.writestr
    - datetime.datetime.strptime
    - jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files
    - jupyter_server._tz.isoformat
    - jupyter_server.services.contents.handlers.CheckpointsHandler.post
    - buffer.getvalue
    - datetime.datetime.now
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - path.rsplit
    - os.path.join
    - os.path.splitext
    - tornado.web.RequestHandler.write
    - jupyter_server.services.api.handlers.APISpecHandler.get
    - jupyter_server._tz.utcfromtimestamp
    - <builtin>.isinstance
    - jupyter_server.base.handlers.AuthenticatedFileHandler.head
    - jupyter_server.services.contents.handlers.ContentsHandler._new_untitled
    - output_files.items
    - jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.post
    - tornado.web.RequestHandler.application.last_activity
    - tornado.web.RequestHandler.get_query_argument
    - jupyter_server.services.kernelspecs.handlers.kernelspec_model
    - required_keys.update
    - asyncio.iscoroutine
    - template.render
    - jupyter_server.nbconvert.handlers.respond_zip
    - jupyter_server.services.sessions.handlers.SessionHandler.get
    - re.match
    - tornado.web.RequestHandler.set_status
    - jupyter_server.services.nbconvert.handlers.NbconvertRootHandler.get
    - jupyter_server.services.events.handlers.EventHandler.post
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - jupyter_server.nbconvert.handlers.get_exporter
    - output.encode
    - jupyter_server.services.sessions.handlers.SessionHandler.delete
    - jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.head
    - zipf.close
    - parts.remove
    - s.strip
    - jupyter_server.services.kernels.handlers.KernelHandler.get
    - typing.cast
    - jupyter_server.services.contents.handlers.CheckpointsHandler.get
    - jupyter_server.services.sessions.handlers.SessionRootHandler.get
    - urllib.parse.unquote
    - tornado.web.RequestHandler.request.body.strip
    - typing.cast.setdefault
    - jupyter_server.services.contents.handlers._validate_keys
    - jupyter_server.utils.url_path_join
    - jupyter_server.services.api.handlers.APISpecHandler.head
    - tornado.log.app_log.warning
    - jupyter_server.services.contents.handlers.validate_model
    - zipfile.ZipFile
    - glob.glob
    - <builtin>.getattr
    - jupyter_server.services.contents.handlers.ContentsHandler._copy
    - jupyter_server.services.contents.handlers.ContentsHandler.get
    - jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.get
    - jupyter_server.services.config.handlers.ConfigHandler.patch
    - jupyter_server.view.handlers.ViewHandler.get
    - jupyter_server.services.contents.handlers.ContentsHandler.patch
    - jupyter_server.nbconvert.handlers.NbconvertPostHandler.post
    - asyncio.ensure_future
    - json.loads
    - json.dumps
    - <builtin>.sum
    - <builtin>.len
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.shutdown.ShutdownHandler.post
    - os.path.split
    - jupyter_server.services.contents.handlers.ContentsHandler.delete
    - os.path.basename
    - typing.cast.keys
    - <builtin>.set
    - io.BytesIO
    - jupyter_server._tz.utcnow
    - jupyter_server.services.kernels.handlers.KernelActionHandler.post
    - jupyter_server.services.config.handlers.ConfigHandler.get
    - dt.isoformat
    - <builtin>.hasattr
    - anyio.to_thread.run_sync
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.finish
    - nbformat.from_dict
    - jupyter_server.services.kernels.handlers.KernelHandler.delete
    - jupyter_server.services.events.handlers.get_timestamp
    - mimetypes.guess_type
    - jupyter_server.utils.url_unescape
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - tornado.web.RequestHandler.redirect
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - <builtin>.bool
    - jupyter_server.services.kernels.handlers.MainKernelHandler.post
    - jupyter_server.services.contents.handlers.ContentsHandler.post
    - jupyter_server.services.contents.handlers.ContentsHandler._upload
    - <builtin>.int
    - os.path.exists
    - urllib.parse.quote
    - kwargs.pop
    - jupyter_server.services.kernelspecs.handlers.KernelSpecHandler.get
    - jupyter_server.utils.url_escape
    - urllib.parse.urlparse
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - resources.get
    - typing.cast.get
    - tornado.web.RequestHandler.set_header
    - jupyter_server.services.events.handlers.validate_model
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server.services.sessions.handlers.SessionRootHandler.post
    - <builtin>.super
    - tornado.web.RequestHandler.settings.get
    - jupyter_server.services.kernels.handlers.MainKernelHandler.get
    - tornado.web.RequestHandler.request.body.decode
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - path.lower
    - path.split
    - jupyter_server.services.api.handlers.APIStatusHandler.get
    - tornado.ioloop.IOLoop.current
    - jupyter_server.services.config.handlers.ConfigHandler.put
    - tornado.web.RequestHandler.request.headers.get
    - tornado.log.app_log.exception
    - jupyter_server.services.security.handlers.CSPReportHandler.post
    - jupyter_server.nbconvert.handlers.NbconvertFileHandler.get
    - jupyter_server.services.sessions.handlers.SessionHandler.patch
    - tornado.web.StaticFileHandler.get
    - spec.to_dict
    - jupyter_server.services.kernelspecs.handlers.is_kernelspec_model
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_error
    - ns.update
    - path.strip
    - nbconvert.exporters.base.get_exporter
    - jupyter_server.base.handlers.AuthenticatedFileHandler.get
    - jupyter_server.base.handlers.APIHandler.finish
    - jupyter_server.services.contents.handlers.ContentsHandler._save
    - kspecs.items
    - jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler.get
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - jupyter_server.services.contents.handlers.ContentsHandler.put
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.delete
    - kernel.get
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/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.log.app_log.warning
    functionSourceFile: tornado
    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 0x7f802439d070>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 347
    functionName: jupyter_server.services.contents.handlers.CheckpointsHandler.get
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - json.dumps
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - kwargs.pop
    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: 4
    functionLinenumber: 39
    functionName: jupyter_server.services.sessions.handlers.SessionRootHandler.get
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 1
    functionsReached:
    - json.dumps
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 9
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 47
    functionName: jupyter_server.services.sessions.handlers.SessionRootHandler.post
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 1
    functionsReached:
    - typing.cast
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.request.body.strip
    - datetime.datetime.now
    - <builtin>.super
    - jupyter_server.utils.url_path_join
    - tornado.web.RequestHandler.get_argument
    - <builtin>.getattr
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - jupyter_server.base.handlers.APIHandler.finish
    - kwargs.pop
    - json.dumps
    - json.loads
    - tornado.web.RequestHandler.set_status
    - jupyter_core.utils.ensure_async
    - typing.cast.get
    - tornado.web.RequestHandler.set_header
    - s.strip
    - kernel.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f80253ee760>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 356
    functionName: jupyter_server.services.contents.handlers.CheckpointsHandler.post
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - json.dumps
    - path.split
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.set_status
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - jupyter_server._tz.utcnow
    - jupyter_server.utils.url_escape
    - datetime.datetime.now
    - <builtin>.super
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - s.strip
    - urllib.parse.quote
    - jupyter_server.utils.url_path_join
    - kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - action
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 93
    functionName: jupyter_server.services.kernels.handlers.KernelActionHandler.post
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 1
    functionsReached:
    - json.dumps
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.write
    - tornado.web.RequestHandler.set_status
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - section_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 23
    functionName: jupyter_server.services.config.handlers.ConfigHandler.get
    functionSourceFile: jupyter_server.services.config.handlers
    functionUses: 1
    functionsReached:
    - json.dumps
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - kwargs.pop
    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: 4
    functionLinenumber: 38
    functionName: jupyter_server.services.kernels.handlers.MainKernelHandler.get
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 1
    functionsReached:
    - json.dumps
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - kwargs.pop
    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: 31
    functionName: jupyter_server.services.api.handlers.APISpecHandler.head
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.StaticFileHandler.get
    - jupyter_server.services.api.handlers.APISpecHandler.get
    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: 4
    functionLinenumber: 54
    functionName: jupyter_server.services.api.handlers.APIStatusHandler.get
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 1
    functionsReached:
    - datetime.datetime.fromtimestamp
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.isoformat
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - dt.isoformat
    - <builtin>.super
    - tornado.web.RequestHandler.settings.get
    - tornado.web.RequestHandler.get_argument
    - jupyter_server._tz.utcfromtimestamp
    - <builtin>.getattr
    - tornado.web.RequestHandler.application.last_activity
    - jupyter_server.base.handlers.APIHandler.finish
    - kwargs.pop
    - <builtin>.sum
    - <builtin>.len
    - json.dumps
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    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: 36
    functionName: jupyter_server.services.api.handlers.APISpecHandler.get
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 2
    functionsReached:
    - tornado.web.StaticFileHandler.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - section_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 30
    functionName: jupyter_server.services.config.handlers.ConfigHandler.put
    functionSourceFile: jupyter_server.services.config.handlers
    functionUses: 1
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - typing.cast
    - json.loads
    - tornado.web.RequestHandler.set_status
    - tornado.web.RequestHandler.request.body.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 80
    functionName: jupyter_server.services.kernels.handlers.KernelHandler.delete
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.set_status
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 8
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - format
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 97
    functionName: jupyter_server.nbconvert.handlers.NbconvertFileHandler.get
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 1
    functionsReached:
    - zipf.writestr
    - jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files
    - io.BytesIO
    - buffer.getvalue
    - <builtin>.super
    - tornado.web.RequestHandler.settings.get
    - <builtin>.hasattr
    - anyio.to_thread.run_sync
    - jupyter_server.utils.url_path_join
    - os.path.splitext
    - tornado.web.RequestHandler.get_argument
    - path.split
    - zipfile.ZipFile
    - tornado.web.RequestHandler.finish
    - tornado.web.RequestHandler.request.headers.get
    - tornado.log.app_log.exception
    - output_files.items
    - tornado.web.RequestHandler.redirect
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - <builtin>.bool
    - path.strip
    - nbconvert.exporters.base.get_exporter
    - jupyter_server.nbconvert.handlers.respond_zip
    - urllib.parse.quote
    - re.match
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - jupyter_core.utils.ensure_async
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - jupyter_server.nbconvert.handlers.get_exporter
    - output.encode
    - jupyter_server.utils.url_escape
    - zipf.close
    - urllib.parse.urlparse
    - os.path.split
    - resources.get
    - tornado.web.RequestHandler.set_header
    - parts.remove
    - s.strip
    - os.path.basename
    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: 31
    functionName: jupyter_server.services.security.handlers.CSPReportHandler.post
    functionSourceFile: jupyter_server.services.security.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.request.body.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 5
    IfCount: 11
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - session_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 129
    functionName: jupyter_server.services.sessions.handlers.SessionHandler.patch
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 1
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - json.dumps
    - typing.cast
    - json.loads
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.request.body.strip
    - datetime.datetime.now
    - asyncio.ensure_future
    - <builtin>.super
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 5
    IfCount: 6
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f80253eb340>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 119
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.get
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - <builtin>.set
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - jupyter_server.services.contents.handlers._validate_keys
    - jupyter_server.utils.url_path_join
    - jupyter_server.services.contents.handlers.validate_model
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.write
    - path.split
    - <builtin>.getattr
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_error
    - tornado.web.RequestHandler.get_query_argument
    - required_keys.update
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.int
    - urllib.parse.quote
    - kwargs.pop
    - json.dumps
    - tornado.web.RequestHandler.set_status
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - jupyter_server.utils.url_escape
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - tornado.web.RequestHandler.set_header
    - s.strip
    - typing.cast.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - checkpoint_id
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 378
    functionName: jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.post
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.set_status
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f8024baac40>
    argNames:
    - self
    - kernel_name
    - path
    - include_body
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 28
    functionName: jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.get
    functionSourceFile: jupyter_server.kernelspecs.handlers
    functionUses: 2
    functionsReached:
    - path.lower
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.finish
    - mimetypes.guess_type
    - tornado.web.RequestHandler.set_header
    - <builtin>.hasattr
    - tornado.web.StaticFileHandler.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - section_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 38
    functionName: jupyter_server.services.config.handlers.ConfigHandler.patch
    functionSourceFile: jupyter_server.services.config.handlers
    functionUses: 1
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - json.dumps
    - typing.cast
    - json.loads
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.request.body.strip
    - datetime.datetime.now
    - <builtin>.super
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 23
    functionName: jupyter_server.view.handlers.ViewHandler.get
    functionSourceFile: jupyter_server.view.handlers
    functionUses: 1
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - path.split
    - tornado.web.RequestHandler.write
    - jupyter_core.utils.ensure_async
    - urllib.parse.quote
    - ns.update
    - path.strip
    - jupyter_server.utils.url_escape
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - template.render
    - s.strip
    - path.rsplit
    - jupyter_server.utils.url_path_join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024817d30>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 189
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.patch
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - typing.cast
    - <builtin>.set
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.request.body.strip
    - datetime.datetime.now
    - <builtin>.super
    - jupyter_server.services.contents.handlers._validate_keys
    - jupyter_server.utils.url_path_join
    - jupyter_server.services.contents.handlers.validate_model
    - tornado.web.RequestHandler.get_argument
    - path.split
    - <builtin>.getattr
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - jupyter_server.base.handlers.APIHandler.finish
    - required_keys.update
    - urllib.parse.quote
    - kwargs.pop
    - json.loads
    - json.dumps
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - jupyter_server.utils.url_escape
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - typing.cast.get
    - tornado.web.RequestHandler.set_header
    - s.strip
    - typing.cast.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - format
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 166
    functionName: jupyter_server.nbconvert.handlers.NbconvertPostHandler.post
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 1
    functionsReached:
    - typing.cast
    - zipf.writestr
    - io.BytesIO
    - tornado.web.RequestHandler.request.body.strip
    - buffer.getvalue
    - anyio.to_thread.run_sync
    - os.path.splitext
    - path.split
    - zipfile.ZipFile
    - tornado.web.RequestHandler.finish
    - nbformat.from_dict
    - tornado.log.app_log.exception
    - output_files.items
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - nbconvert.exporters.base.get_exporter
    - jupyter_server.nbconvert.handlers.respond_zip
    - urllib.parse.quote
    - json.loads
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - jupyter_server.nbconvert.handlers.get_exporter
    - output.encode
    - jupyter_server.utils.url_escape
    - zipf.close
    - typing.cast.get
    - resources.get
    - tornado.web.RequestHandler.set_header
    - os.path.basename
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 46
    functionName: jupyter_server.services.kernels.handlers.MainKernelHandler.post
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 1
    functionsReached:
    - typing.cast
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.request.body.strip
    - datetime.datetime.now
    - typing.cast.setdefault
    - <builtin>.super
    - jupyter_server.utils.url_path_join
    - tornado.web.RequestHandler.get_argument
    - path.split
    - <builtin>.getattr
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - jupyter_server.base.handlers.APIHandler.finish
    - urllib.parse.quote
    - kwargs.pop
    - json.dumps
    - json.loads
    - tornado.web.RequestHandler.set_status
    - jupyter_core.utils.ensure_async
    - jupyter_server.utils.url_escape
    - typing.cast.get
    - tornado.web.RequestHandler.set_header
    - s.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f80248846d0>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 252
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.post
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - typing.cast
    - <builtin>.set
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.request.body.strip
    - datetime.datetime.now
    - <builtin>.super
    - jupyter_server.services.contents.handlers._validate_keys
    - jupyter_server.utils.url_path_join
    - jupyter_server.services.contents.handlers.validate_model
    - tornado.web.RequestHandler.get_argument
    - path.split
    - <builtin>.getattr
    - jupyter_server.services.contents.handlers.ContentsHandler._copy
    - jupyter_server.services.contents.handlers.ContentsHandler._new_untitled
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - required_keys.update
    - jupyter_server.base.handlers.APIHandler.finish
    - urllib.parse.quote
    - kwargs.pop
    - json.loads
    - json.dumps
    - tornado.web.RequestHandler.set_status
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - jupyter_server.utils.url_escape
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - typing.cast.get
    - tornado.web.RequestHandler.set_header
    - s.strip
    - typing.cast.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - session_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 121
    functionName: jupyter_server.services.sessions.handlers.SessionHandler.get
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 1
    functionsReached:
    - json.dumps
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - kwargs.pop
    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: 4
    functionLinenumber: 66
    functionName: jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler.get
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 1
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - os.path.join
    - jupyter_server.utils.url_path_join
    - os.path.splitext
    - tornado.web.RequestHandler.get_argument
    - glob.glob
    - <builtin>.getattr
    - <builtin>.isinstance
    - jupyter_server.services.kernelspecs.handlers.is_kernelspec_model
    - jupyter_server.services.kernelspecs.handlers.kernelspec_model
    - jupyter_server.base.handlers.APIHandler.finish
    - os.path.exists
    - kwargs.pop
    - json.dumps
    - kspecs.items
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - s.strip
    - os.path.basename
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 98
    functionName: jupyter_server.services.kernelspecs.handlers.KernelSpecHandler.get
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 1
    functionsReached:
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - urllib.parse.unquote
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - os.path.join
    - jupyter_server.utils.url_path_join
    - os.path.splitext
    - path.split
    - tornado.web.RequestHandler.get_argument
    - glob.glob
    - jupyter_server.utils.url_unescape
    - <builtin>.getattr
    - <builtin>.isinstance
    - spec.to_dict
    - jupyter_server.services.kernelspecs.handlers.is_kernelspec_model
    - jupyter_server.services.kernelspecs.handlers.kernelspec_model
    - jupyter_server.base.handlers.APIHandler.finish
    - os.path.exists
    - kwargs.pop
    - json.dumps
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.set_header
    - s.strip
    - os.path.basename
    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: 4
    functionLinenumber: 32
    functionName: jupyter_server.services.nbconvert.handlers.NbconvertRootHandler.get
    functionSourceFile: jupyter_server.services.nbconvert.handlers
    functionUses: 1
    functionsReached:
    - json.dumps
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - anyio.to_thread.run_sync
    - kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 107
    functionName: jupyter_server.services.events.handlers.EventHandler.post
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 1
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - typing.cast
    - json.loads
    - tornado.web.RequestHandler.get_argument
    - datetime.datetime.strptime
    - tornado.web.RequestHandler.set_status
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.request.body.strip
    - jupyter_server.services.events.handlers.get_timestamp
    - datetime.datetime.now
    - <builtin>.super
    - typing.cast.get
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - kwargs.pop
    - jupyter_server.services.events.handlers.validate_model
    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: 1
    functionLinenumber: 18
    functionName: jupyter_server.services.shutdown.ShutdownHandler.post
    functionSourceFile: jupyter_server.services.shutdown
    functionUses: 1
    functionsReached:
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024d9c070>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 293
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.put
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - typing.cast
    - <builtin>.set
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - tornado.web.RequestHandler.request.body.strip
    - datetime.datetime.now
    - <builtin>.super
    - jupyter_server.services.contents.handlers._validate_keys
    - jupyter_server.utils.url_path_join
    - jupyter_server.services.contents.handlers.validate_model
    - tornado.web.RequestHandler.get_argument
    - path.split
    - <builtin>.getattr
    - jupyter_server.services.contents.handlers.ContentsHandler._new_untitled
    - jupyter_server.base.handlers.JupyterHandler.get_json_body
    - jupyter_server.services.contents.handlers.ContentsHandler._upload
    - required_keys.update
    - jupyter_server.base.handlers.APIHandler.finish
    - urllib.parse.quote
    - kwargs.pop
    - jupyter_server.services.contents.handlers.ContentsHandler._save
    - json.loads
    - json.dumps
    - tornado.web.RequestHandler.set_status
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - jupyter_server.utils.url_escape
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - typing.cast.get
    - tornado.web.RequestHandler.set_header
    - s.strip
    - typing.cast.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - session_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 187
    functionName: jupyter_server.services.sessions.handlers.SessionHandler.delete
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.set_status
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 61
    functionName: jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.head
    functionSourceFile: jupyter_server.kernelspecs.handlers
    functionUses: 1
    functionsReached:
    - jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.get
    - path.lower
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.finish
    - mimetypes.guess_type
    - tornado.web.RequestHandler.set_header
    - <builtin>.hasattr
    - tornado.web.StaticFileHandler.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - checkpoint_id
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 387
    functionName: jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.delete
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.set_status
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - kwargs.pop
    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 0x7f8024cc1790>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 329
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.delete
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.set_status
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 72
    functionName: jupyter_server.services.kernels.handlers.KernelHandler.get
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 1
    functionsReached:
    - json.dumps
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_core.utils.ensure_async
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - kwargs.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: asyncio.iscoroutine
    functionSourceFile: asyncio
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 109
    functionName: jupyter_server.auth.decorator.allow_unauthenticated.wrapper
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 0
    functionsReached:
    - jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - <builtin>.super
    - jupyter_server.base.handlers.FilesRedirectHandler.get
    - tornado.web.RequestHandler.settings.get
    - jupyter_server.utils.url_path_join
    - <builtin>.any
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - path.split
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.write
    - jupyter_server.base.handlers.APIVersionHandler.get
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.services.contents.handlers.NotebooksRedirectHandler.get
    - <builtin>.getattr
    - jupyter_server.base.handlers.FileFindHandler.head
    - jupyter_server.base.handlers.PublicStaticFileHandler.head
    - tornado.web.RequestHandler.redirect
    - jupyter_server.base.handlers.PrometheusMetricsHandler.get
    - ns.update
    - path.strip
    - sep.join
    - prometheus_client.generate_latest
    - jupyter_server.base.handlers.MainHandler.get
    - jupyter_server.base.handlers.APIHandler.finish
    - template.render
    - urllib.parse.quote
    - jupyter_server.base.handlers.TrailingSlashHandler.get
    - kwargs.pop
    - json.dumps
    - jupyter_server.base.handlers.PublicStaticFileHandler.get
    - jupyter_core.utils.ensure_async
    - jupyter_server.utils.url_escape
    - jupyter_server.base.handlers.FileFindHandler.get
    - jupyter_server.base.handlers.RedirectWithParams.get
    - h.strip
    - tornado.web.RequestHandler.set_header
    - parts.remove
    - s.strip
    - tornado.web.RequestHandler.request.uri.partition
    - jupyter_server.base.handlers.APIHandler.options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 407
    functionName: jupyter_server.services.contents.handlers.NotebooksRedirectHandler.get
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.redirect
    - path.split
    - jupyter_server.utils.url_escape
    - s.strip
    - urllib.parse.quote
    - jupyter_server.utils.url_path_join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - method
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 117
    functionName: jupyter_server.auth.decorator.ws_authenticated
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 2
    functionsReached:
    - typing.cast
    - <builtin>.setattr
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 133
    functionName: jupyter_server.auth.decorator.ws_authenticated.wrapper
    functionSourceFile: jupyter_server.auth.decorator
    functionUses: 0
    functionsReached:
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.events.handlers.SubscribeWebsocket.pre_get
    - <builtin>.super
    - jupyter_server.services.events.handlers.SubscribeWebsocket.get
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 49
    functionName: jupyter_server.services.events.handlers.SubscribeWebsocket.get
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 1
    functionsReached:
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.events.handlers.SubscribeWebsocket.pre_get
    - <builtin>.super
    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: jupyter_server.auth.utils
    functionSourceFile: jupyter_server.auth.utils
    functionUses: 0
    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: 11
    functionName: jupyter_server.auth.utils.warn_disabled_authorization
    functionSourceFile: jupyter_server.auth.utils
    functionUses: 0
    functionsReached:
    - warnings.warn
    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: 32
    functionName: jupyter_server.auth.utils.get_regex_to_resource_map
    functionSourceFile: jupyter_server.auth.utils
    functionUses: 1
    functionsReached:
    - modules.extend
    - JUPYTER_SERVICE_HANDLERS.values
    - 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: JUPYTER_SERVICE_HANDLERS.values
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: modules.extend
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: importlib.import_module
    functionSourceFile: importlib
    functionUses: 18
    functionsReached: []
    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 0x7f8024f0bb50>
    argNames:
    - url
    - regex_mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 64
    functionName: jupyter_server.auth.utils.match_url_to_resource
    functionSourceFile: jupyter_server.auth.utils
    functionUses: 0
    functionsReached:
    - pattern.fullmatch
    - modules.extend
    - importlib.import_module
    - regex_mapping.items
    - re.compile
    - JUPYTER_SERVICE_HANDLERS.values
    - jupyter_server.auth.utils.get_regex_to_resource_map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: regex_mapping.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pattern.fullmatch
    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: 1
    functionLinenumber: 164
    functionName: jupyter_server.auth.utils.get_anonymous_username
    functionSourceFile: jupyter_server.auth.utils
    functionUses: 6
    functionsReached:
    - <builtin>.len
    - random.randint
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.serverapp
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - aliases.update
    - flags.update
    - sys.platform.startswith
    - <builtin>.dict
    - traitlets.config.application.boolean_flag
    - colorama.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.platform.startswith
    functionSourceFile: sys
    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: colorama.init
    functionSourceFile: colorama
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - port
    - n
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 208
    functionName: jupyter_server.serverapp.random_ports
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - <builtin>.min
    - <builtin>.max
    - random.randint
    - <builtin>.range
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 220
    functionName: jupyter_server.serverapp.load_handlers
    functionSourceFile: jupyter_server.serverapp
    functionUses: 4
    functionsReached:
    - <builtin>.__import__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 20
    argDefaultValues: []
    argNames:
    - self
    - jupyter_app
    - default_services
    - kernel_manager
    - contents_manager
    - session_manager
    - kernel_spec_manager
    - config_manager
    - event_logger
    - extra_services
    - log
    - base_url
    - default_url
    - settings_overrides
    - jinja_env_options
    - authorizer
    - identity_provider
    - kernel_websocket_connection_class
    - websocket_ping_interval
    - websocket_ping_timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 234
    functionName: jupyter_server.serverapp.ServerWebApplication.__init__
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - repo_commit.strip
    - handlers.extend
    - jinja2.FileSystemLoader
    - jupyter_server._tz.utcnow
    - jupyter_server._sysinfo.pkg_commit_hash
    - datetime.datetime.now
    - subprocess.Popen
    - <builtin>.super
    - settings.update
    - <builtin>.hasattr
    - os.path.join
    - jupyter_server.utils.url_path_join
    - jupyter_server._sysinfo.get_sys_info
    - traitlets.Dict.get
    - jinja2.Environment
    - <builtin>.__import__
    - root_dir.startswith
    - warnings.warn
    - jupyter_server.serverapp.load_handlers
    - os.path.realpath
    - <builtin>.getattr
    - jupyter_server.serverapp.ServerWebApplication._check_handler_auth
    - <builtin>.isinstance
    - os.path.abspath
    - handlers.append
    - code.co_qualname.startswith
    - code.co_filename.replace
    - method_name.lower
    - <builtin>.list
    - gettext.translation
    - traitlets.config.LoggingConfigurable.__init__
    - new_handlers.append
    - jupyter_server.serverapp.ServerWebApplication.init_settings
    - jenv_opt.update
    - os.path.exists
    - jupyter_server.auth.identity.IdentityProvider.get_handlers
    - <builtin>.len
    - proc.communicate
    - jupyter_server.serverapp._has_tornado_web_authenticated
    - undecorated_methods.extend
    - os.path.dirname
    - missing_authentication.append
    - jupyter_server.serverapp.ServerWebApplication.init_handlers
    - platform.platform
    - jinja2.Environment.install_gettext_translations
    - jupyter_server._sysinfo.pkg_info
    - os.path.expanduser
    - s.strip
    linkageType: pythonLinkage
    raised:
    - Exception
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 19
    argDefaultValues:
    - <ast.Constant object at 0x7f8025424100>
    argNames:
    - self
    - jupyter_app
    - kernel_manager
    - contents_manager
    - session_manager
    - kernel_spec_manager
    - config_manager
    - event_logger
    - extra_services
    - log
    - base_url
    - default_url
    - settings_overrides
    - jinja_env_options
    - authorizer
    - identity_provider
    - kernel_websocket_connection_class
    - websocket_ping_interval
    - websocket_ping_timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 341
    functionName: jupyter_server.serverapp.ServerWebApplication.init_settings
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - repo_commit.strip
    - jinja2.FileSystemLoader
    - jupyter_server._tz.utcnow
    - jupyter_server._sysinfo.pkg_commit_hash
    - datetime.datetime.now
    - subprocess.Popen
    - settings.update
    - os.path.join
    - jupyter_server._sysinfo.get_sys_info
    - jupyter_server.utils.url_path_join
    - traitlets.Dict.get
    - jinja2.Environment
    - root_dir.startswith
    - os.path.realpath
    - <builtin>.isinstance
    - os.path.abspath
    - gettext.translation
    - jenv_opt.update
    - os.path.exists
    - <builtin>.len
    - proc.communicate
    - os.path.dirname
    - platform.platform
    - jinja2.Environment.install_gettext_translations
    - jupyter_server._sysinfo.pkg_info
    - os.path.expanduser
    - s.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 10
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - default_services
    - settings
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 473
    functionName: jupyter_server.serverapp.ServerWebApplication.init_handlers
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - handlers.extend
    - <builtin>.list
    - <builtin>.__import__
    - new_handlers.append
    - jupyter_server.serverapp.load_handlers
    - s.strip
    - handlers.append
    - jupyter_server.utils.url_path_join
    - jupyter_server.auth.identity.IdentityProvider.get_handlers
    linkageType: pythonLinkage
    raised:
    - Exception
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - matcher
    - handler
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 550
    functionName: jupyter_server.serverapp.ServerWebApplication._check_handler_auth
    functionSourceFile: jupyter_server.serverapp
    functionUses: 4
    functionsReached:
    - code.co_qualname.startswith
    - code.co_filename.replace
    - jupyter_server.serverapp._has_tornado_web_authenticated
    - method_name.lower
    - missing_authentication.append
    - <builtin>.getattr
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: undecorated_methods.extend
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - host_pattern
    - host_handlers
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 318
    functionName: jupyter_server.serverapp.ServerWebApplication.add_handlers
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - code.co_qualname.startswith
    - code.co_filename.replace
    - jupyter_server.serverapp._has_tornado_web_authenticated
    - undecorated_methods.extend
    - method_name.lower
    - missing_authentication.append
    - warnings.warn
    - <builtin>.super
    - <builtin>.getattr
    - <builtin>.isinstance
    - jupyter_server.serverapp.ServerWebApplication._check_handler_auth
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Dict.get
    functionSourceFile: traitlets
    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: jenv_opt.update
    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: jinja2.FileSystemLoader
    functionSourceFile: jinja2
    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: jinja2.Environment
    functionSourceFile: jinja2
    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: gettext.translation
    functionSourceFile: gettext
    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: jinja2.Environment.install_gettext_translations
    functionSourceFile: jinja2
    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: root_dir.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: settings.update
    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: handlers.extend
    functionSourceFile: <builtin>
    functionUses: 4
    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: 277
    functionName: jupyter_server.auth.identity.IdentityProvider.get_handlers
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 4
    functionsReached:
    - handlers.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: handlers.append
    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: new_handlers.append
    functionSourceFile: <builtin>
    functionUses: 6
    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: 531
    functionName: jupyter_server.serverapp.ServerWebApplication.last_activity
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - <builtin>.max
    - key.endswith
    - sources.extend
    - tornado.web.Application.settings.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: tornado.web.Application.settings.items
    functionSourceFile: tornado
    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: key.endswith
    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: sources.extend
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: method_name.lower
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - method
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 566
    functionName: jupyter_server.serverapp._has_tornado_web_authenticated
    functionSourceFile: jupyter_server.serverapp
    functionUses: 5
    functionsReached:
    - code.co_qualname.startswith
    - code.co_filename.replace
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: missing_authentication.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: code.co_qualname.startswith
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: code.co_filename.replace
    functionSourceFile: <builtin>
    functionUses: 6
    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: 594
    functionName: jupyter_server.serverapp.JupyterPasswordApp._config_file_default
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.path.join
    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: 598
    functionName: jupyter_server.serverapp.JupyterPasswordApp.start
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - hashlib.new
    - getpass.getpass
    - jupyter_core.application.JupyterApp.log.info
    - h.update
    - jupyter_server.auth.security.persist_config
    - salt.encode
    - os.path.join
    - argon2.PasswordHasher
    - h.hexdigest
    - <builtin>.str
    - traitlets.config.loader.JSONFileConfigLoader.load_config
    - getpass.getpass.encode
    - warnings.warn
    - traceback.format_exc
    - os.path.basename
    - traitlets.config.loader.JSONFileConfigLoader
    - <builtin>.range
    - jupyter_core.paths.jupyter_config_dir
    - f.write
    - random.getrandbits
    - json.dumps
    - traitlets.config.Config
    - os.path.dirname
    - jupyter_server.auth.security.set_password
    - jupyter_server.auth.security.passwd
    - ph.hash
    - os.makedirs
    - os.chmod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024e88d60>
    - <ast.Constant object at 0x7f8024e881c0>
    argNames:
    - password
    - config_file
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 169
    functionName: jupyter_server.auth.security.set_password
    functionSourceFile: jupyter_server.auth.security
    functionUses: 3
    functionsReached:
    - <builtin>.open
    - hashlib.new
    - getpass.getpass
    - h.update
    - jupyter_server.auth.security.persist_config
    - salt.encode
    - os.path.join
    - argon2.PasswordHasher
    - h.hexdigest
    - <builtin>.str
    - traitlets.config.loader.JSONFileConfigLoader.load_config
    - getpass.getpass.encode
    - warnings.warn
    - traceback.format_exc
    - os.path.basename
    - traitlets.config.loader.JSONFileConfigLoader
    - <builtin>.range
    - jupyter_core.paths.jupyter_config_dir
    - f.write
    - random.getrandbits
    - json.dumps
    - traitlets.config.Config
    - os.path.dirname
    - jupyter_server.auth.security.passwd
    - ph.hash
    - os.makedirs
    - os.chmod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.log.info
    functionSourceFile: jupyter_core
    functionUses: 27
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 14
    IfCount: 10
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8024387bb0>
    - <ast.Constant object at 0x7f8024387610>
    argNames:
    - server_info
    - timeout
    - log
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 606
    functionName: jupyter_server.serverapp.shutdown_server
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - tornado.httpclient.HTTPClient.fetch
    - jupyter_server.utils.fetch
    - urllib.parse.urljoin
    - jupyter_server.utils._check_pid_win32
    - <builtin>.str
    - jupyter_server.utils._check_pid_posix
    - tornado.httpclient.AsyncHTTPClient.configure
    - tornado.httpclient.HTTPRequest
    - urllib.parse.SplitResult
    - jupyter_server.utils._request_for_tornado_client
    - tornado.netutil.Resolver.__init__
    - tornado.netutil.Resolver
    - <builtin>.bool
    - sys.platform.startswith
    - <builtin>.range
    - os.kill
    - time.sleep
    - ctypes.windll.kernel32.OpenProcess
    - tornado.httpclient.HTTPClient
    - urllib.parse.urlsplit
    - log.debug
    - urllib.parse.urlunsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.urljoin
    functionSourceFile: urllib
    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.debug
    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: time.sleep
    functionSourceFile: time
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.serverapp.JupyterServerStopApp
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - traitlets.Unicode
    - traitlets.Integer
    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 0x7f80248912e0>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 687
    functionName: jupyter_server.serverapp.JupyterServerStopApp.parse_command_line
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - server
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 697
    functionName: jupyter_server.serverapp.JupyterServerStopApp.shutdown_server
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - jupyter_server.serverapp.JupyterServerStopApp.shutdown_server
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - target_endpoint
    - server
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 701
    functionName: jupyter_server.serverapp.JupyterServerStopApp._shutdown_or_exit
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_server.serverapp.JupyterServerStopApp.shutdown_server
    - sys.exit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - socket_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 708
    functionName: jupyter_server.serverapp.JupyterServerStopApp._maybe_remove_unix_socket
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    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: os.unlink
    functionSourceFile: os
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 9
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 715
    functionName: jupyter_server.serverapp.JupyterServerStopApp.start
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_server.serverapp.JupyterServerStopApp.shutdown_server
    - os.listdir
    - os.path.join
    - jupyter_core.application.JupyterApp.exit
    - jupyter_server.utils._check_pid_win32
    - jupyter_server.utils._check_pid_posix
    - os.path.isdir
    - jupyter_core.paths.jupyter_runtime_dir
    - jupyter_server.serverapp.JupyterServerStopApp._shutdown_or_exit
    - jupyter_server.serverapp.JupyterServerStopApp._maybe_remove_unix_socket
    - jupyter_server.serverapp.list_running_servers
    - <builtin>.list
    - <builtin>.bool
    - sys.exit
    - server.get
    - os.kill
    - ctypes.windll.kernel32.OpenProcess
    - log.warning
    - re.match
    - json.load
    - os.unlink
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024f0bd30>
    - <ast.Constant object at 0x7f8024f0bbe0>
    argNames:
    - runtime_dir
    - log
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 3145
    functionName: jupyter_server.serverapp.list_running_servers
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - <builtin>.open
    - jupyter_server.utils._check_pid_posix
    - log.warning
    - re.match
    - <builtin>.bool
    - os.path.isdir
    - json.load
    - jupyter_core.paths.jupyter_runtime_dir
    - os.listdir
    - os.kill
    - os.unlink
    - os.path.join
    - jupyter_server.utils._check_pid_win32
    - ctypes.windll.kernel32.OpenProcess
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.exit
    functionSourceFile: jupyter_core
    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: server.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: 1
    functionLinenumber: -1
    functionName: jupyter_server.serverapp.JupyterServerListApp
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - traitlets.Bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 778
    functionName: jupyter_server.serverapp.JupyterServerListApp.start
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - os.listdir
    - os.path.join
    - jupyter_server.utils._check_pid_win32
    - jupyter_server.utils._check_pid_posix
    - os.path.isdir
    - jupyter_core.paths.jupyter_runtime_dir
    - jupyter_server.serverapp.list_running_servers
    - <builtin>.list
    - <builtin>.bool
    - os.kill
    - ctypes.windll.kernel32.OpenProcess
    - traitlets.Bool.dumps
    - log.warning
    - re.match
    - json.load
    - serverinfo.get
    - os.unlink
    - <builtin>.print
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Bool.dumps
    functionSourceFile: traitlets
    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>.print
    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: serverinfo.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: traitlets.config.application.boolean_flag
    functionSourceFile: traitlets
    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: flags.update
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: aliases.update
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.serverapp.ServerApp
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - traitlets.observe
    - traitlets.config.application.catch_config_error
    - traitlets.Float
    - traitlets.Bool
    - traitlets.Union
    - traitlets.Type
    - traitlets.Bytes
    - traitlets.Dict
    - traitlets.default
    - traitlets.Any
    - traitlets.validate
    - traitlets.List
    - traitlets.Unicode.tag
    - traitlets.Instance
    - traitlets.Integer
    - jupyter_core.application.JupyterApp.description.splitlines
    - trans.gettext
    - traitlets.Unicode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.description.splitlines
    functionSourceFile: jupyter_core
    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: 937
    functionName: jupyter_server.serverapp.ServerApp._default_log_level
    functionSourceFile: jupyter_server.serverapp
    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: 941
    functionName: jupyter_server.serverapp.ServerApp._default_log_format
    functionSourceFile: jupyter_server.serverapp
    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: 1
    functionLinenumber: 1010
    functionName: jupyter_server.serverapp.ServerApp._default_ip
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.warning
    - s.close
    - s.bind
    - socket.socket
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.bind
    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: jupyter_core.application.JupyterApp.log.warning
    functionSourceFile: jupyter_core
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.validate
    functionSourceFile: traitlets
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1028
    functionName: jupyter_server.serverapp.ServerApp._validate_ip
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 1060
    functionName: jupyter_server.serverapp.ServerApp._port_default
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.getenv
    - <builtin>.int
    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: 1075
    functionName: jupyter_server.serverapp.ServerApp._port_retries_default
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.getenv
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1087
    functionName: jupyter_server.serverapp.ServerApp._validate_sock_mode
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - value.encode
    - <builtin>.all
    - <builtin>.bool
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/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: 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: 1135
    functionName: jupyter_server.serverapp.ServerApp._default_cookie_secret_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Bytes
    functionSourceFile: traitlets
    functionUses: 1
    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: 2
    functionLinenumber: 1152
    functionName: jupyter_server.serverapp.ServerApp._default_cookie_secret
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - base64.encodebytes
    - <builtin>.open
    - h.digest
    - jupyter_server.serverapp.ServerApp._write_cookie_secret_file
    - traitlets.Unicode.encode
    - jupyter_core.application.JupyterApp.log.info
    - h.update
    - os.urandom
    - jupyter_core.paths.secure_write
    - os.path.exists
    - hmac.new
    - f.read
    - f.write
    - jupyter_core.application.JupyterApp.log.error
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.encodebytes
    functionSourceFile: base64
    functionUses: 35
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - secret
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1163
    functionName: jupyter_server.serverapp.ServerApp._write_cookie_secret_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - jupyter_core.paths.secure_write
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_core.application.JupyterApp.log.error
    - f.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: hmac.new
    functionSourceFile: hmac
    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: traitlets.Unicode.encode
    functionSourceFile: traitlets
    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: h.digest
    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: jupyter_core.application.JupyterApp.log.error
    functionSourceFile: jupyter_core
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1183
    functionName: jupyter_server.serverapp.ServerApp._deprecated_token
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f8024e92b80>
    argNames:
    - self
    - change
    - clsname
    - new_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1266
    functionName: jupyter_server.serverapp.ServerApp._warn_deprecated_config
    functionSourceFile: jupyter_server.serverapp
    functionUses: 9
    functionsReached:
    - jupyter_core.application.JupyterApp.log.warning
    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: 1187
    functionName: jupyter_server.serverapp.ServerApp._deprecated_token_access
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - warnings.warn
    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: 1207
    functionName: jupyter_server.serverapp.ServerApp._default_min_open_files_limit
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - resource.getrlimit
    - jupyter_core.application.JupyterApp.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: resource.getrlimit
    functionSourceFile: resource
    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: jupyter_core.application.JupyterApp.log.debug
    functionSourceFile: jupyter_core
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1288
    functionName: jupyter_server.serverapp.ServerApp._deprecated_password
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1292
    functionName: jupyter_server.serverapp.ServerApp._deprecated_password_config
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    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: 1335
    functionName: jupyter_server.serverapp.ServerApp._allow_unauthenticated_access_default
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.getenv
    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: 1358
    functionName: jupyter_server.serverapp.ServerApp._default_allow_remote
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - addr.split
    - jupyter_core.application.JupyterApp.log.warning
    - ipaddress.ip_address
    - socket.getaddrinfo
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.getaddrinfo
    functionSourceFile: socket
    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: traitlets.Union
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1497
    functionName: jupyter_server.serverapp.ServerApp._deprecated_cookie_config
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1530
    functionName: jupyter_server.serverapp.ServerApp._update_base_url
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - typing.cast
    - value.endswith
    - value.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: value.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.endswith
    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: 0
    functionLinenumber: 1548
    functionName: jupyter_server.serverapp.ServerApp.static_file_path
    functionSourceFile: jupyter_server.serverapp
    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: 1555
    functionName: jupyter_server.serverapp.ServerApp._default_static_custom_path
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.path.join
    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: 1569
    functionName: jupyter_server.serverapp.ServerApp.template_file_path
    functionSourceFile: jupyter_server.serverapp
    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: 1611
    functionName: jupyter_server.serverapp.ServerApp._default_kernel_manager_class
    functionSourceFile: jupyter_server.serverapp
    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: 1622
    functionName: jupyter_server.serverapp.ServerApp._default_session_manager_class
    functionSourceFile: jupyter_server.serverapp
    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: 1634
    functionName: jupyter_server.serverapp.ServerApp._default_kernel_websocket_connection_class
    functionSourceFile: jupyter_server.serverapp
    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: 1687
    functionName: jupyter_server.serverapp.ServerApp._default_kernel_spec_manager_class
    functionSourceFile: jupyter_server.serverapp
    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: 1743
    functionName: jupyter_server.serverapp.ServerApp._default_info_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.path.join
    - os.getpid
    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: 1754
    functionName: jupyter_server.serverapp.ServerApp._default_browser_open_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.path.join
    - os.getpid
    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: 1761
    functionName: jupyter_server.serverapp.ServerApp._default_browser_open_file_to_run
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.path.join
    - os.getpid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1776
    functionName: jupyter_server.serverapp.ServerApp._update_pylab
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.exit
    - jupyter_core.application.JupyterApp.log.error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1792
    functionName: jupyter_server.serverapp.ServerApp._update_notebook_dir
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.warning
    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: 1823
    functionName: jupyter_server.serverapp.ServerApp._default_root_dir
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.getcwd
    - os.path.abspath
    - os.path.dirname
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1830
    functionName: jupyter_server.serverapp.ServerApp._normalize_dir
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - value.rstrip
    - os.path.splitdrive
    - os.path.abspath
    - os.path.isabs
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.splitdrive
    functionSourceFile: os
    functionUses: 77
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.rstrip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1844
    functionName: jupyter_server.serverapp.ServerApp._root_dir_validate
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - value.rstrip
    - os.path.splitdrive
    - os.path.isdir
    - os.path.isabs
    - os.path.abspath
    - jupyter_server.serverapp.ServerApp._normalize_dir
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1851
    functionName: jupyter_server.serverapp.ServerApp._root_dir_changed
    functionSourceFile: jupyter_server.serverapp
    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: trans.gettext
    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: 1864
    functionName: jupyter_server.serverapp.ServerApp._default_prefered_dir
    functionSourceFile: jupyter_server.serverapp
    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
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1868
    functionName: jupyter_server.serverapp.ServerApp._preferred_dir_validate
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - value.rstrip
    - os.path.splitdrive
    - os.path.isdir
    - os.path.isabs
    - os.path.abspath
    - jupyter_server.serverapp.ServerApp._normalize_dir
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1875
    functionName: jupyter_server.serverapp.ServerApp._update_server_extensions
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1906
    functionName: jupyter_server.serverapp.ServerApp._deprecated_kernel_ws_protocol
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1916
    functionName: jupyter_server.serverapp.ServerApp._deprecated_limit_rate
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1926
    functionName: jupyter_server.serverapp.ServerApp._deprecated_iopub_msg_rate_limit
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1936
    functionName: jupyter_server.serverapp.ServerApp._deprecated_iopub_data_rate_limit
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1946
    functionName: jupyter_server.serverapp.ServerApp._deprecated_rate_limit_window
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp._warn_deprecated_config
    - jupyter_core.application.JupyterApp.log.warning
    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: 1978
    functionName: jupyter_server.serverapp.ServerApp._default_terminals_enabled
    functionSourceFile: jupyter_server.serverapp
    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: 2007
    functionName: jupyter_server.serverapp.ServerApp.starter_app
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f802502e850>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2011
    functionName: jupyter_server.serverapp.ServerApp.parse_command_line
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - os.path.isdir
    - traitlets.config.Config
    - jupyter_core.application.JupyterApp.log.critical
    - <builtin>.super
    - jupyter_core.application.JupyterApp.argv.remove
    - os.path.abspath
    - jupyter_core.application.JupyterApp.update_config
    - os.path.exists
    - os.path.isfile
    - jupyter_core.application.JupyterApp.exit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.argv.remove
    functionSourceFile: jupyter_core
    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: jupyter_core.application.JupyterApp.log.critical
    functionSourceFile: jupyter_core
    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: traitlets.config.Config
    functionSourceFile: traitlets
    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: jupyter_core.application.JupyterApp.update_config
    functionSourceFile: jupyter_core
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 9
    IfCount: 12
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2032
    functionName: jupyter_server.serverapp.ServerApp.init_configurables
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - <builtin>.str
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_core.application.JupyterApp.log.warning
    - pathlib.Path
    - traitlets.Type
    - warnings.warn
    - traitlets.config.LoggingConfigurable.__init__
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.issubclass
    functionSourceFile: <builtin>
    functionUses: 7
    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: 2148
    functionName: jupyter_server.serverapp.ServerApp.init_logging
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - logger.setLevel
    - 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: logger.setLevel
    functionSourceFile: <builtin>
    functionUses: 2
    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: 2164
    functionName: jupyter_server.serverapp.ServerApp.init_event_logger
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - jupyter_events.logger.EventLogger.register_event_schema
    - schema_id.replace
    - traitlets.Instance.register_event_schema
    - jupyter_events.logger.EventLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_events.logger.EventLogger
    functionSourceFile: jupyter_events
    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: schema_id.replace
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_events.logger.EventLogger.register_event_schema
    functionSourceFile: jupyter_events
    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: traitlets.Instance.register_event_schema
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 11
    IfCount: 14
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 2182
    functionName: jupyter_server.serverapp.ServerApp.init_webapp
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - repo_commit.strip
    - handlers.extend
    - jinja2.FileSystemLoader
    - jupyter_server._tz.utcnow
    - jupyter_core.application.JupyterApp.log.info
    - datetime.datetime.now
    - jupyter_server._sysinfo.pkg_commit_hash
    - subprocess.Popen
    - <builtin>.super
    - settings.update
    - <builtin>.hasattr
    - os.path.join
    - jupyter_server.utils.url_path_join
    - jupyter_server._sysinfo.get_sys_info
    - traitlets.Dict.get
    - jinja2.Environment
    - <builtin>.__import__
    - re.compile
    - traitlets.Dict.setdefault
    - root_dir.startswith
    - warnings.warn
    - jupyter_server.serverapp.load_handlers
    - os.path.realpath
    - <builtin>.getattr
    - jupyter_server.serverapp.ServerWebApplication.__init__
    - <builtin>.isinstance
    - jupyter_server.serverapp.ServerWebApplication._check_handler_auth
    - os.path.abspath
    - handlers.append
    - code.co_qualname.startswith
    - code.co_filename.replace
    - method_name.lower
    - <builtin>.list
    - traitlets.config.LoggingConfigurable.log.critical
    - sys.platform.startswith
    - sys.exit
    - gettext.translation
    - traitlets.Unicode.startswith
    - traitlets.config.LoggingConfigurable.__init__
    - new_handlers.append
    - jupyter_server.serverapp.ServerWebApplication.init_settings
    - jenv_opt.update
    - os.path.exists
    - jupyter_server.auth.identity.LegacyIdentityProvider.validate_security
    - jupyter_server.auth.identity.IdentityProvider.get_handlers
    - <builtin>.len
    - proc.communicate
    - jupyter_server.serverapp._has_tornado_web_authenticated
    - undecorated_methods.extend
    - jupyter_core.application.JupyterApp.log.critical
    - os.path.dirname
    - missing_authentication.append
    - jupyter_server.serverapp.ServerWebApplication.init_handlers
    - platform.platform
    - jinja2.Environment.install_gettext_translations
    - jupyter_server._sysinfo.pkg_info
    - os.path.expanduser
    - s.strip
    - traitlets.Type.validate_security
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Unicode.startswith
    functionSourceFile: traitlets
    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: traitlets.Dict.setdefault
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8024e92a90>
    argNames:
    - self
    - app
    - ssl_options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 724
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.validate_security
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 2
    functionsReached:
    - sys.exit
    - traitlets.config.LoggingConfigurable.log.critical
    - traitlets.Type.validate_security
    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: 1
    functionLinenumber: 2286
    functionName: jupyter_server.serverapp.ServerApp.init_resources
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - resource.getrlimit
    - resource.setrlimit
    - jupyter_core.application.JupyterApp.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: resource.setrlimit
    functionSourceFile: resource
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f80249b96a0>
    - <ast.Constant object at 0x7f80249b9160>
    argNames:
    - self
    - path
    - include_token
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2305
    functionName: jupyter_server.serverapp.ServerApp._get_urlparts
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - jupyter_server.utils.urlencode_unix_socket_path
    - socket.gethostname
    - urllib.parse.ParseResult
    - urllib.parse.urlencode
    - traitlets.Unicode.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: urllib.parse.urlencode
    functionSourceFile: urllib
    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: urllib.parse.ParseResult
    functionSourceFile: urllib
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2341
    functionName: jupyter_server.serverapp.ServerApp.public_url
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.utils.urlencode_unix_socket_path
    - socket.gethostname
    - urllib.parse.ParseResult
    - parts._replace
    - urllib.parse.urlencode
    - jupyter_server.serverapp.ServerApp._get_urlparts
    - urllib.parse.urlparse
    - traitlets.Unicode.replace
    - custom.items
    - parts.geturl
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: custom.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parts._replace
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parts.geturl
    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: 3
    functionLinenumber: 2354
    functionName: jupyter_server.serverapp.ServerApp.local_url
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.utils.urlencode_unix_socket_path
    - socket.gethostname
    - urllib.parse.ParseResult
    - urllib.parse.urlencode
    - parts._replace
    - jupyter_server.serverapp.ServerApp._get_urlparts
    - traitlets.Unicode.replace
    - parts.geturl
    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: 2362
    functionName: jupyter_server.serverapp.ServerApp.display_url
    functionSourceFile: jupyter_server.serverapp
    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: 3
    functionLinenumber: 2370
    functionName: jupyter_server.serverapp.ServerApp.connection_url
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.utils.urlencode_unix_socket_path
    - socket.gethostname
    - urllib.parse.ParseResult
    - urllib.parse.urlencode
    - urlparts.geturl
    - jupyter_server.serverapp.ServerApp._get_urlparts
    - traitlets.Unicode.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: urlparts.geturl
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2374
    functionName: jupyter_server.serverapp.ServerApp.init_signal
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - signal.signal
    - sys.stdin.isatty
    - sys.platform.startswith
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stdin.isatty
    functionSourceFile: sys
    functionUses: 2
    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: 2390
    functionName: jupyter_server.serverapp.ServerApp._handle_sigint
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - threading.Thread
    - thread.start
    - signal.signal
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.Thread
    functionSourceFile: threading
    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: thread.start
    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: 2400
    functionName: jupyter_server.serverapp.ServerApp._restore_sigint_handler
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - signal.signal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 12
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2404
    functionName: jupyter_server.serverapp.ServerApp._confirm_exit
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.len
    - sys.stdout.write
    - jupyter_server.serverapp.ServerApp.running_server_info
    - jupyter_core.application.JupyterApp.log.critical
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_server.serverapp.ServerApp.stop
    - sys.stdin.readline
    - select.select
    - <builtin>.getattr
    - line.lower
    - <builtin>.hasattr
    - trans.ngettext
    - sys.stdout.flush
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f80252d3550>
    argNames:
    - self
    - from_signal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3129
    functionName: jupyter_server.serverapp.ServerApp.stop
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.getattr
    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 0x7f80249cbdc0>
    argNames:
    - self
    - kernel_count
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2791
    functionName: jupyter_server.serverapp.ServerApp.running_server_info
    functionSourceFile: jupyter_server.serverapp
    functionUses: 4
    functionsReached:
    - typing.cast
    - <builtin>.len
    - trans.ngettext
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.flush
    functionSourceFile: sys
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stdin.readline
    functionSourceFile: sys
    functionUses: 1
    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: 2448
    functionName: jupyter_server.serverapp.ServerApp._signal_stop
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_server.serverapp.ServerApp.stop
    - jupyter_core.application.JupyterApp.log.critical
    - <builtin>.hasattr
    - <builtin>.getattr
    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: 2
    functionLinenumber: 2453
    functionName: jupyter_server.serverapp.ServerApp._signal_info
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.len
    - jupyter_server.serverapp.ServerApp.running_server_info
    - jupyter_core.application.JupyterApp.log.info
    - trans.ngettext
    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: 2457
    functionName: jupyter_server.serverapp.ServerApp.init_components
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    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: 5
    functionLinenumber: 2461
    functionName: jupyter_server.serverapp.ServerApp.find_server_extensions
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - <builtin>.open
    - new.items
    - traitlets.Dict.update
    - os.path.join
    - glob.glob
    - <builtin>.sorted
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.services.config.manager.ConfigManager.get
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - jupyter_core.application.JupyterApp.config.ServerApp.jpserver_extensions.update
    - os.path.getsize
    - traitlets.config.LoggingConfigurable.__init__
    - traitlets.config.LoggingConfigurable.log.warning
    - data.get
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - os.path.isfile
    - jupyter_server.config_manager.recursive_update
    - json.load
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - extensions.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Name object at 0x7f8024f1cbb0>
    argNames:
    - self
    - section_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 14
    functionName: jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    functionSourceFile: jupyter_server.extension.config
    functionUses: 8
    functionsReached:
    - <builtin>.open
    - new.items
    - os.path.join
    - glob.glob
    - <builtin>.sorted
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.services.config.manager.ConfigManager.get
    - os.path.getsize
    - traitlets.config.LoggingConfigurable.__init__
    - traitlets.config.LoggingConfigurable.log.warning
    - data.get
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - os.path.isfile
    - jupyter_server.config_manager.recursive_update
    - json.load
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - jupyter_server.config_manager.BaseJSONConfigManager.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: extensions.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.config.ServerApp.jpserver_extensions.update
    functionSourceFile: jupyter_core
    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: traitlets.Dict.update
    functionSourceFile: traitlets
    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: 6
    functionLinenumber: 2484
    functionName: jupyter_server.serverapp.ServerApp.init_server_extensions
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - importlib.import_module
    - traitlets.Dict.items
    - <builtin>.super
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - traitlets.Dict.get
    - extension.link_all_points
    - jupyter_server.extension.utils.get_metadata
    - time.perf_counter
    - module._jupyter_server_extension_points
    - jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    - module._jupyter_server_extension_paths
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - traitlets.HasTraits.__init__
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server.extension.manager.ExtensionManager.link_extension
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.info
    - jupyter_server.extension.manager.ExtensionManager.link_all_extensions
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - jpserver_extensions
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 313
    functionName: jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 5
    functionsReached:
    - importlib.import_module
    - traitlets.HasTraits.__init__
    - traitlets.Dict.items
    - jupyter_server.extension.utils.get_metadata
    - module._jupyter_server_extension_paths
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - <builtin>.super
    - time.perf_counter
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - module._jupyter_server_extension_points
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    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: 377
    functionName: jupyter_server.extension.manager.ExtensionManager.link_all_extensions
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 2
    functionsReached:
    - traitlets.Dict.get
    - extension.link_all_points
    - jupyter_server.extension.manager.ExtensionManager.link_extension
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.info
    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: 3
    functionLinenumber: 2497
    functionName: jupyter_server.serverapp.ServerApp.load_server_extensions
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - traitlets.Dict.get
    - extension.load_all_points
    - jupyter_server.extension.manager.ExtensionManager.load_all_extensions
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.extension.manager.ExtensionManager.load_extension
    - traitlets.config.LoggingConfigurable.log.info
    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: 386
    functionName: jupyter_server.extension.manager.ExtensionManager.load_all_extensions
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 2
    functionsReached:
    - traitlets.Dict.get
    - extension.load_all_points
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.extension.manager.ExtensionManager.load_extension
    - traitlets.config.LoggingConfigurable.log.info
    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: 1
    functionLinenumber: 2507
    functionName: jupyter_server.serverapp.ServerApp.init_mime_overrides
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - mimetypes.add_type
    - mimetypes.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: mimetypes.init
    functionSourceFile: mimetypes
    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: mimetypes.add_type
    functionSourceFile: mimetypes
    functionUses: 2
    functionsReached: []
    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: 2523
    functionName: jupyter_server.serverapp.ServerApp.shutdown_no_activity
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.max
    - tornado.web.Application.settings.items
    - sources.extend
    - jupyter_core.application.JupyterApp.log.debug
    - jupyter_server._tz.utcnow
    - <builtin>.sorted
    - jupyter_core.application.JupyterApp.log.info
    - datetime.datetime.now
    - jupyter_server.extension.manager.ExtensionManager.any_activity
    - jupyter_server.serverapp.ServerApp.stop
    - app.current_activity
    - key.endswith
    - <builtin>.dict
    - <builtin>.getattr
    - <builtin>.hasattr
    - jupyter_server.serverapp.ServerWebApplication.last_activity
    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: 399
    functionName: jupyter_server.extension.manager.ExtensionManager.any_activity
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 1
    functionsReached:
    - app.current_activity
    - <builtin>.sorted
    - <builtin>.dict
    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: 2541
    functionName: jupyter_server.serverapp.ServerApp.init_shutdown_no_activity
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - tornado.ioloop.PeriodicCallback
    - jupyter_core.application.JupyterApp.log.info
    - pc.start
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pc.start
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2552
    functionName: jupyter_server.serverapp.ServerApp.http_server
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AttributeError
    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: 3
    functionLinenumber: 2564
    functionName: jupyter_server.serverapp.ServerApp.init_httpserver
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - <builtin>.min
    - <builtin>.max
    - jupyter_core.application.JupyterApp.log.warning
    - jupyter_server.serverapp.ServerApp._find_http_port
    - random.randint
    - jupyter_core.application.JupyterApp.log.critical
    - jupyter_core.application.JupyterApp.log.info
    - <builtin>.range
    - tornado.netutil.bind_sockets
    - jupyter_server.serverapp.random_ports
    - <builtin>.getattr
    - tornado.httpserver.HTTPServer
    - <builtin>.hasattr
    - jupyter_core.application.JupyterApp.exit
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/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: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 8
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2628
    functionName: jupyter_server.serverapp.ServerApp._find_http_port
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - <builtin>.min
    - <builtin>.max
    - jupyter_core.application.JupyterApp.log.warning
    - random.randint
    - jupyter_core.application.JupyterApp.log.critical
    - jupyter_core.application.JupyterApp.log.info
    - tornado.netutil.bind_sockets
    - <builtin>.range
    - jupyter_server.serverapp.random_ports
    - <builtin>.getattr
    - jupyter_core.application.JupyterApp.exit
    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: 2590
    functionName: jupyter_server.serverapp.ServerApp._bind_http_server
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - sock.connect
    - jupyter_server.utils.unix_socket_in_use
    - jupyter_core.application.JupyterApp.log.warning
    - jupyter_server.serverapp.ServerApp._bind_http_server_unix
    - socket.socket
    - jupyter_core.application.JupyterApp.log.critical
    - traitlets.Unicode.encode
    - tornado.netutil.bind_unix_socket
    - os.path.exists
    - sock.close
    - <builtin>.getattr
    - jupyter_server.serverapp.ServerApp._bind_http_server_tcp
    - jupyter_core.application.JupyterApp.exit
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2602
    functionName: jupyter_server.serverapp.ServerApp._bind_http_server_unix
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - sock.connect
    - jupyter_core.application.JupyterApp.log.warning
    - socket.socket
    - traitlets.Unicode.encode
    - tornado.netutil.bind_unix_socket
    - os.path.exists
    - sock.close
    - <builtin>.getattr
    - jupyter_server.utils.unix_socket_in_use
    - <builtin>.int
    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: 0
    functionLinenumber: 2623
    functionName: jupyter_server.serverapp.ServerApp._bind_http_server_tcp
    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: tornado.netutil.bind_unix_socket
    functionSourceFile: tornado
    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: tornado.netutil.bind_sockets
    functionSourceFile: tornado
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2675
    functionName: jupyter_server.serverapp.ServerApp._init_asyncio_patch
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - asyncio.set_event_loop_policy
    - sys.platform.startswith
    - asyncio.WindowsSelectorEventLoopPolicy
    - <builtin>.type
    - asyncio.get_event_loop_policy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.get_event_loop_policy
    functionSourceFile: asyncio
    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: asyncio.WindowsSelectorEventLoopPolicy
    functionSourceFile: asyncio
    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: asyncio.set_event_loop_policy
    functionSourceFile: asyncio
    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: traitlets.config.application.catch_config_error
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 18
    IfCount: 5
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f80250d0b80>
    - <ast.Constant object at 0x7f80250d0940>
    - <ast.Constant object at 0x7f80250d02e0>
    - <ast.Constant object at 0x7f80250d0970>
    argNames:
    - self
    - argv
    - find_extensions
    - new_httpserver
    - starter_extension
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 2700
    functionName: jupyter_server.serverapp.ServerApp.initialize
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - repo_commit.strip
    - handlers.extend
    - datetime.datetime.now
    - new.items
    - settings.update
    - <builtin>.issubclass
    - resource.getrlimit
    - os.path.join
    - jupyter_core.application.JupyterApp.exit
    - jupyter_server.serverapp.ServerApp.init_ioloop
    - asyncio.get_event_loop_policy
    - <builtin>.str
    - jupyter_server.serverapp.ServerApp.init_components
    - jupyter_server.serverapp.ServerApp.init_event_logger
    - <builtin>.__import__
    - os.path.realpath
    - <builtin>.isinstance
    - jupyter_server.serverapp.ServerWebApplication._check_handler_auth
    - jupyter_server.serverapp.ServerApp.init_server_extensions
    - jupyter_core.application.JupyterApp.log.debug
    - traitlets.config.LoggingConfigurable.log.critical
    - method_name.lower
    - logger.setLevel
    - traitlets.Instance.register_event_schema
    - sys.exit
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server.extension.manager.ExtensionManager.load_all_extensions
    - new_handlers.append
    - data.get
    - jupyter_server.serverapp.ServerApp.init_logging
    - traitlets.config.LoggingConfigurable.log.info
    - jupyter_server.serverapp.ServerApp.init_webapp
    - jupyter_server.extension.manager.ExtensionManager.link_all_extensions
    - jupyter_events.logger.EventLogger
    - traitlets.config.Config
    - json.load
    - missing_authentication.append
    - s.strip
    - jupyter_server.serverapp.ServerApp.init_mime_overrides
    - extensions.items
    - extension.load_all_points
    - importlib.import_module
    - traitlets.Dict.update
    - sys.stdin.isatty
    - asyncio.WindowsSelectorEventLoopPolicy
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - pc.start
    - jupyter_events.logger.EventLogger.register_event_schema
    - jupyter_server.utils.url_path_join
    - traitlets.Dict.get
    - jinja2.Environment
    - re.compile
    - glob.glob
    - root_dir.startswith
    - jupyter_server.serverapp.load_handlers
    - time.perf_counter
    - <builtin>.getattr
    - code.co_qualname.startswith
    - code.co_filename.replace
    - jupyter_core.application.JupyterApp.config.ServerApp.jpserver_extensions.update
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - <builtin>.list
    - traitlets.HasTraits.__init__
    - random.randint
    - gettext.translation
    - jupyter_server.auth.identity.LegacyIdentityProvider.validate_security
    - os.path.isfile
    - jupyter_server.auth.identity.IdentityProvider.get_handlers
    - <builtin>.len
    - jupyter_server.config_manager.recursive_update
    - jupyter_core.application.JupyterApp.log.warning
    - undecorated_methods.extend
    - mimetypes.add_type
    - jupyter_core.application.JupyterApp.log.critical
    - platform.platform
    - <builtin>.min
    - traitlets.Dict.items
    - jupyter_server.serverapp.ServerApp._find_http_port
    - jupyter_server._tz.utcnow
    - jupyter_server._sysinfo.pkg_commit_hash
    - subprocess.Popen
    - <builtin>.hasattr
    - jupyter_server.serverapp.ServerApp._init_asyncio_patch
    - jupyter_server._sysinfo.get_sys_info
    - resource.setrlimit
    - asyncio.set_event_loop_policy
    - jupyter_server.extension.utils.get_metadata
    - traitlets.Dict.setdefault
    - jupyter_core.application.JupyterApp.update_config
    - <builtin>.type
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - module._jupyter_server_extension_paths
    - jupyter_server.serverapp.ServerApp.init_httpserver
    - jupyter_server.serverapp.ServerApp.find_server_extensions
    - jupyter_server.extension.manager.ExtensionManager.link_extension
    - schema_id.replace
    - jupyter_server.serverapp.random_ports
    - os.path.exists
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - proc.communicate
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_server.serverapp._has_tornado_web_authenticated
    - os.path.dirname
    - target.pop
    - jupyter_server.serverapp.ServerWebApplication.init_handlers
    - os.path.expanduser
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    - <builtin>.open
    - traitlets.Type
    - jupyter_server.serverapp.ServerApp.init_resources
    - jinja2.FileSystemLoader
    - jupyter_core.application.JupyterApp.log.info
    - <builtin>.super
    - tornado.ioloop.PeriodicCallback
    - jupyter_server.extension.manager.ExtensionManager.load_extension
    - extension.link_all_points
    - tornado.ioloop.IOLoop.current
    - <builtin>.sorted
    - tornado.netutil.bind_sockets
    - warnings.warn
    - jupyter_server.serverapp.ServerApp.init_shutdown_no_activity
    - module._jupyter_server_extension_points
    - jupyter_server.serverapp.ServerWebApplication.__init__
    - jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    - os.path.abspath
    - handlers.append
    - jupyter_server.services.config.manager.ConfigManager.get
    - jupyter_server.serverapp.ServerApp.init_signal
    - <builtin>.max
    - jupyter_server.serverapp.ServerApp.load_server_extensions
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - sys.platform.startswith
    - os.path.getsize
    - <builtin>.range
    - traitlets.Unicode.startswith
    - jupyter_server.serverapp.ServerApp.init_configurables
    - jupyter_server.serverapp.ServerWebApplication.init_settings
    - traitlets.config.LoggingConfigurable.log.warning
    - jenv_opt.update
    - tornado.httpserver.HTTPServer
    - pathlib.Path
    - logging.getLogger
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - signal.signal
    - jinja2.Environment.install_gettext_translations
    - jupyter_server._sysinfo.pkg_info
    - traitlets.Type.validate_security
    - mimetypes.init
    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: 3111
    functionName: jupyter_server.serverapp.ServerApp.init_ioloop
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - tornado.ioloop.IOLoop.current
    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: 2765
    functionName: jupyter_server.serverapp.ServerApp.cleanup_kernels
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - jupyter_core.utils.ensure_async
    - jupyter_core.application.JupyterApp.log.info
    - <builtin>.getattr
    - trans.ngettext
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: trans.ngettext
    functionSourceFile: <builtin>
    functionUses: 9
    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: 2
    functionLinenumber: 2780
    functionName: jupyter_server.serverapp.ServerApp.cleanup_extensions
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - tornado.gen.multi
    - jupyter_server.extension.manager.ExtensionManager.stop_all_extensions
    - <builtin>.list
    - jupyter_core.utils.ensure_async
    - jupyter_core.application.JupyterApp.log.info
    - <builtin>.sorted
    - itertools.starmap
    - <builtin>.dict
    - <builtin>.getattr
    - trans.ngettext
    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: 395
    functionName: jupyter_server.extension.manager.ExtensionManager.stop_all_extensions
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 3
    functionsReached:
    - tornado.gen.multi
    - <builtin>.list
    - <builtin>.sorted
    - itertools.starmap
    - <builtin>.dict
    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: 2808
    functionName: jupyter_server.serverapp.ServerApp.server_info
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - os.path.abspath
    - os.getpid
    - <builtin>.bool
    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: 2824
    functionName: jupyter_server.serverapp.ServerApp.write_server_info_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - <builtin>.bool
    - os.getpid
    - json.dump
    - jupyter_core.paths.secure_write
    - os.path.abspath
    - jupyter_server.serverapp.ServerApp.server_info
    - jupyter_core.application.JupyterApp.log.error
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.dump
    functionSourceFile: json
    functionUses: 3
    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: 2832
    functionName: jupyter_server.serverapp.ServerApp.remove_server_info_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - os.unlink
    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: 1
    functionLinenumber: 2843
    functionName: jupyter_server.serverapp.ServerApp._resolve_file_to_run_and_root_dir
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - <builtin>.str
    - pathlib.Path
    - jupyter_core.application.JupyterApp.log.debug
    - jupyter_core.application.JupyterApp.log.critical
    - combined_path.relative_to
    - jupyter_core.application.JupyterApp.exit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: combined_path.relative_to
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - url
    - fh
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2875
    functionName: jupyter_server.serverapp.ServerApp._write_browser_open_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 4
    functionsReached:
    - template.render
    - s.strip
    - fh.write
    - tornado.httputil.url_concat
    - jupyter_server.utils.url_path_join
    - jinja2_env.get_template
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.httputil.url_concat
    functionSourceFile: tornado
    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: jinja2_env.get_template
    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: fh.write
    functionSourceFile: <builtin>
    functionUses: 5
    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: 4
    functionLinenumber: 2885
    functionName: jupyter_server.serverapp.ServerApp.write_browser_open_files
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - <builtin>.open
    - jupyter_server.serverapp.ServerApp._write_browser_open_file
    - jupyter_server.utils.url_path_join
    - jupyter_core.application.JupyterApp.exit
    - jinja2_env.get_template
    - <builtin>.str
    - path.split
    - file_to_run_relpath.split
    - tornado.httputil.url_concat
    - jupyter_core.application.JupyterApp.log.debug
    - combined_path.relative_to
    - template.render
    - fh.write
    - urllib.parse.quote
    - jupyter_server.serverapp.ServerApp.write_browser_open_file
    - <builtin>.len
    - pathlib.Path
    - jupyter_core.application.JupyterApp.log.critical
    - jupyter_server.utils.url_escape
    - jupyter_server.serverapp.ServerApp._resolve_file_to_run_and_root_dir
    - s.strip
    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: 3
    functionLinenumber: 2906
    functionName: jupyter_server.serverapp.ServerApp.write_browser_open_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - <builtin>.open
    - jupyter_server.serverapp.ServerApp._write_browser_open_file
    - template.render
    - s.strip
    - fh.write
    - tornado.httputil.url_concat
    - jupyter_server.utils.url_path_join
    - jinja2_env.get_template
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_to_run_relpath.split
    functionSourceFile: <builtin>
    functionUses: 3
    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: 2
    functionLinenumber: 2917
    functionName: jupyter_server.serverapp.ServerApp.remove_browser_open_files
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - jupyter_server.serverapp.ServerApp.remove_browser_open_file
    - os.unlink
    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: 2930
    functionName: jupyter_server.serverapp.ServerApp.remove_browser_open_file
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - os.unlink
    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: 2
    functionLinenumber: 2941
    functionName: jupyter_server.serverapp.ServerApp._prepare_browser_open
    functionSourceFile: jupyter_server.serverapp
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - urllib.parse.urljoin
    - s.strip
    - tornado.httputil.url_concat
    - jupyter_server.utils.url_path_join
    - urllib.request.pathname2url
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.request.pathname2url
    functionSourceFile: urllib
    functionUses: 4
    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: 3
    functionLinenumber: 2964
    functionName: jupyter_server.serverapp.ServerApp.launch_browser
    functionSourceFile: jupyter_server.serverapp
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - jupyter_core.application.JupyterApp.log.warning
    - jupyter_server.serverapp.ServerApp._prepare_browser_open
    - urllib.parse.urljoin
    - webbrowser.get
    - s.strip
    - tornado.httputil.url_concat
    - threading.Thread
    - jupyter_server.utils.url_path_join
    - urllib.request.pathname2url
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: webbrowser.get
    functionSourceFile: webbrowser
    functionUses: 3
    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: 2981
    functionName: jupyter_server.serverapp.ServerApp.launch_browser.target
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - browser.open
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: browser.open
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    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: 5
    functionLinenumber: 2987
    functionName: jupyter_server.serverapp.ServerApp.start_app
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - typing.cast
    - <builtin>.open
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_server.serverapp.ServerApp._write_browser_open_file
    - os.geteuid
    - <builtin>.super
    - jupyter_core.paths.secure_write
    - urllib.parse.urljoin
    - webbrowser.get
    - jupyter_server.utils.url_path_join
    - jupyter_core.application.JupyterApp.exit
    - jinja2_env.get_template
    - <builtin>.str
    - path.split
    - jupyter_server.serverapp.ServerApp._prepare_browser_open
    - jupyter_server.serverapp.ServerApp.write_browser_open_files
    - os.getpid
    - tornado.httputil.url_concat
    - file_to_run_relpath.split
    - os.path.abspath
    - jupyter_server.serverapp.ServerApp.server_info
    - jupyter_core.application.JupyterApp.log.error
    - threading.Thread
    - trans.ngettext
    - jupyter_core.application.JupyterApp.log.debug
    - <builtin>.bool
    - jupyter_server.serverapp.ServerApp.running_server_info
    - combined_path.relative_to
    - template.render
    - fh.write
    - jupyter_server.serverapp.ServerApp.write_browser_open_file
    - urllib.parse.quote
    - <builtin>.len
    - jupyter_server.serverapp.ServerApp.launch_browser
    - jupyter_core.application.JupyterApp.log.warning
    - pathlib.Path
    - jupyter_core.application.JupyterApp.log.critical
    - jupyter_server.serverapp.ServerApp.write_server_info_file
    - jupyter_server.utils.url_escape
    - jupyter_server.serverapp.ServerApp._resolve_file_to_run_and_root_dir
    - s.strip
    - urllib.request.pathname2url
    - json.dump
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 9
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 3070
    functionName: jupyter_server.serverapp.ServerApp._cleanup
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - jupyter_core.application.JupyterApp.log.info
    - traitlets.Type.close_all
    - <builtin>.hasattr
    - jupyter_server.serverapp.ServerApp.remove_browser_open_file
    - jupyter_server.serverapp.ServerApp.remove_server_info_file
    - <builtin>.sorted
    - <builtin>.getattr
    - jupyter_server.serverapp.ServerApp.cleanup_extensions
    - jupyter_server.serverapp.ServerApp.remove_browser_open_files
    - trans.ngettext
    - tornado.gen.multi
    - <builtin>.list
    - jupyter_server.serverapp.ServerApp.cleanup_kernels
    - <builtin>.dict
    - <builtin>.len
    - jupyter_server.extension.manager.ExtensionManager.stop_all_extensions
    - jupyter_core.utils.ensure_async
    - itertools.starmap
    - 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: traitlets.Type.close_all
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    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: 1
    functionLinenumber: 3099
    functionName: jupyter_server.serverapp.ServerApp.start_ioloop
    functionSourceFile: jupyter_server.serverapp
    functionUses: 1
    functionsReached:
    - tornado.ioloop.PeriodicCallback
    - jupyter_core.application.JupyterApp.log.info
    - sys.platform.startswith
    - pc.start
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.serverapp.ServerApp.start_ioloop.<lambda1>
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    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: 6
    functionLinenumber: 3115
    functionName: jupyter_server.serverapp.ServerApp.start
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.open
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_server.serverapp.ServerApp._write_browser_open_file
    - os.geteuid
    - <builtin>.super
    - tornado.ioloop.PeriodicCallback
    - jupyter_core.paths.secure_write
    - urllib.parse.urljoin
    - pc.start
    - webbrowser.get
    - jupyter_server.utils.url_path_join
    - jupyter_core.application.JupyterApp.exit
    - jinja2_env.get_template
    - <builtin>.str
    - path.split
    - jupyter_server.serverapp.ServerApp._prepare_browser_open
    - jupyter_server.serverapp.ServerApp.write_browser_open_files
    - os.getpid
    - jupyter_server.serverapp.ServerApp.start_app
    - tornado.httputil.url_concat
    - file_to_run_relpath.split
    - os.path.abspath
    - jupyter_server.serverapp.ServerApp.server_info
    - jupyter_core.application.JupyterApp.log.error
    - threading.Thread
    - trans.ngettext
    - jupyter_core.application.JupyterApp.log.debug
    - <builtin>.bool
    - jupyter_server.serverapp.ServerApp.running_server_info
    - combined_path.relative_to
    - sys.platform.startswith
    - template.render
    - fh.write
    - jupyter_server.serverapp.ServerApp.write_browser_open_file
    - urllib.parse.quote
    - <builtin>.len
    - jupyter_server.serverapp.ServerApp.launch_browser
    - jupyter_core.application.JupyterApp.log.warning
    - pathlib.Path
    - jupyter_core.application.JupyterApp.log.critical
    - jupyter_server.serverapp.ServerApp.write_server_info_file
    - jupyter_server.utils.url_escape
    - jupyter_server.serverapp.ServerApp._resolve_file_to_run_and_root_dir
    - s.strip
    - jupyter_server.serverapp.ServerApp.start_ioloop
    - urllib.request.pathname2url
    - json.dump
    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: 4
    functionLinenumber: 3123
    functionName: jupyter_server.serverapp.ServerApp._stop
    functionSourceFile: jupyter_server.serverapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.info
    - traitlets.Type.close_all
    - <builtin>.hasattr
    - jupyter_server.serverapp.ServerApp.remove_browser_open_file
    - jupyter_server.serverapp.ServerApp.remove_server_info_file
    - jupyter_server.serverapp.ServerApp._cleanup
    - <builtin>.sorted
    - <builtin>.getattr
    - jupyter_server.serverapp.ServerApp.remove_browser_open_files
    - jupyter_server.serverapp.ServerApp.cleanup_extensions
    - trans.ngettext
    - tornado.gen.multi
    - <builtin>.list
    - jupyter_server.serverapp.ServerApp.cleanup_kernels
    - <builtin>.dict
    - <builtin>.len
    - jupyter_server.extension.manager.ExtensionManager.stop_all_extensions
    - jupyter_core.utils.ensure_async
    - itertools.starmap
    - 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: log.warning
    functionSourceFile: <builtin>
    functionUses: 3
    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: jupyter_server.auth.identity
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - re.compile
    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: 58
    functionName: jupyter_server.auth.identity.User.__post_init__
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.identity.User.fill_defaults
    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: 0
    functionLinenumber: 61
    functionName: jupyter_server.auth.identity.User.fill_defaults
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - got_user
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 81
    functionName: jupyter_server.auth.identity._backward_compat_user
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    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: 1
    functionLinenumber: -1
    functionName: jupyter_server.auth.identity.IdentityProvider
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - traitlets.Bool
    - traitlets.Type
    - traitlets.Dict
    - traitlets.default
    - re.compile
    - traitlets.Unicode.tag
    - traitlets.Unicode
    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: 1
    functionLinenumber: 194
    functionName: jupyter_server.auth.identity.IdentityProvider._token_default
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - token_file.read
    - os.urandom
    - binascii.hexlify
    - os.getenv
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_file.read
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: binascii.hexlify
    functionSourceFile: binascii
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 212
    functionName: jupyter_server.auth.identity.IdentityProvider.get_user
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - typing.cast
    - jupyter_server.auth.identity.IdentityProvider.get_user_cookie
    - jupyter_server.auth.identity.IdentityProvider._force_clear_cookie
    - cookie_options.setdefault
    - morsel.set
    - datetime.datetime.now
    - handler.request.headers.get
    - traitlets.config.LoggingConfigurable.log.error
    - datetime.timedelta
    - _non_alphanum.sub
    - <builtin>.getattr
    - <builtin>.isinstance
    - handler.get_secure_cookie
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.auth.identity.IdentityProvider._get_user
    - handler.get_argument
    - http.cookies.Morsel
    - morsel.OutputString
    - random.randint
    - jupyter_server.auth.identity.IdentityProvider.set_login_cookie
    - handler.get_cookie
    - jupyter_server.auth.identity.IdentityProvider.clear_login_cookie
    - handler.log.debug
    - tornado.httputil.format_timestamp
    - jupyter_server.auth.identity.IdentityProvider.get_user_token
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.auth.identity.IdentityProvider.get_token
    - jupyter_server.auth.identity.IdentityProvider.user_to_cookie
    - jupyter_server.auth.identity.IdentityProvider.user_from_cookie
    - json.loads
    - <builtin>.len
    - json.dumps
    - jupyter_server.auth.utils.get_anonymous_username
    - _user_cookie.decode
    - jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    - m.group
    - handler.clear_cookie
    - tornado.escape.native_str
    - handler.set_secure_cookie
    - handler.add_header
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - uuid.uuid4
    - cookie_options.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 5
    IfCount: 8
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 227
    functionName: jupyter_server.auth.identity.IdentityProvider._get_user
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 1
    functionsReached:
    - typing.cast
    - jupyter_server.auth.identity.IdentityProvider.get_user_cookie
    - jupyter_server.auth.identity.IdentityProvider._force_clear_cookie
    - cookie_options.setdefault
    - morsel.set
    - datetime.datetime.now
    - handler.request.headers.get
    - traitlets.config.LoggingConfigurable.log.error
    - datetime.timedelta
    - _non_alphanum.sub
    - <builtin>.getattr
    - <builtin>.isinstance
    - handler.get_secure_cookie
    - traitlets.config.LoggingConfigurable.log.debug
    - handler.get_argument
    - http.cookies.Morsel
    - morsel.OutputString
    - random.randint
    - jupyter_server.auth.identity.IdentityProvider.set_login_cookie
    - handler.get_cookie
    - jupyter_server.auth.identity.IdentityProvider.clear_login_cookie
    - handler.log.debug
    - tornado.httputil.format_timestamp
    - jupyter_server.auth.identity.IdentityProvider.get_user_token
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.auth.identity.IdentityProvider.get_token
    - jupyter_server.auth.identity.IdentityProvider.user_to_cookie
    - jupyter_server.auth.identity.IdentityProvider.user_from_cookie
    - json.loads
    - <builtin>.len
    - json.dumps
    - jupyter_server.auth.utils.get_anonymous_username
    - _user_cookie.decode
    - jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    - m.group
    - handler.clear_cookie
    - tornado.escape.native_str
    - handler.set_secure_cookie
    - handler.add_header
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - uuid.uuid4
    - cookie_options.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 430
    functionName: jupyter_server.auth.identity.IdentityProvider.get_user_token
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 2
    functionsReached:
    - typing.cast
    - jupyter_server.auth.identity.IdentityProvider.get_user_cookie
    - handler.request.headers.get
    - traitlets.config.LoggingConfigurable.log.error
    - _non_alphanum.sub
    - <builtin>.isinstance
    - handler.get_secure_cookie
    - traitlets.config.LoggingConfigurable.log.debug
    - handler.get_argument
    - random.randint
    - handler.log.debug
    - jupyter_server.auth.identity.IdentityProvider.get_token
    - jupyter_server.auth.identity.IdentityProvider.user_from_cookie
    - json.loads
    - <builtin>.len
    - jupyter_server.auth.utils.get_anonymous_username
    - _user_cookie.decode
    - m.group
    - jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - uuid.uuid4
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 389
    functionName: jupyter_server.auth.identity.IdentityProvider.get_user_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 3
    functionsReached:
    - jupyter_server.auth.identity.IdentityProvider.user_from_cookie
    - traitlets.config.LoggingConfigurable.log.error
    - json.loads
    - _user_cookie.decode
    - _non_alphanum.sub
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - handler.get_secure_cookie
    - traitlets.config.LoggingConfigurable.log.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - handler
    - user
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 332
    functionName: jupyter_server.auth.identity.IdentityProvider.set_login_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 2
    functionsReached:
    - json.dumps
    - cookie_options.setdefault
    - cookie_options.update
    - _non_alphanum.sub
    - handler.set_secure_cookie
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - jupyter_server.auth.identity.IdentityProvider.user_to_cookie
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 320
    functionName: jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 6
    functionsReached:
    - _non_alphanum.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.get_cookie
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 375
    functionName: jupyter_server.auth.identity.IdentityProvider.clear_login_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 2
    functionsReached:
    - jupyter_server.auth.identity.IdentityProvider._force_clear_cookie
    - http.cookies.Morsel
    - cookie_options.setdefault
    - morsel.set
    - morsel.OutputString
    - handler.clear_cookie
    - datetime.timedelta
    - tornado.escape.native_str
    - datetime.datetime.now
    - handler.add_header
    - _non_alphanum.sub
    - tornado.httputil.format_timestamp
    - jupyter_server.auth.identity.IdentityProvider.get_cookie_name
    - cookie_options.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 465
    functionName: jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 5
    functionsReached:
    - <builtin>.len
    - jupyter_server.auth.utils.get_anonymous_username
    - random.randint
    - handler.log.debug
    - uuid.uuid4
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - user
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 272
    functionName: jupyter_server.auth.identity.IdentityProvider.identity_model
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - dataclasses.asdict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dataclasses.asdict
    functionSourceFile: dataclasses
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - user
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 289
    functionName: jupyter_server.auth.identity.IdentityProvider.user_to_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 3
    functionsReached:
    - json.dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cookie_value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 308
    functionName: jupyter_server.auth.identity.IdentityProvider.user_from_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 4
    functionsReached:
    - json.loads
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _non_alphanum.sub
    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: cookie_options.update
    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: cookie_options.setdefault
    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: handler.set_secure_cookie
    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:
    - <ast.Constant object at 0x7f80250e89d0>
    - <ast.Constant object at 0x7f80250e87c0>
    argNames:
    - self
    - handler
    - name
    - path
    - domain
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 348
    functionName: jupyter_server.auth.identity.IdentityProvider._force_clear_cookie
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 3
    functionsReached:
    - http.cookies.Morsel
    - morsel.set
    - morsel.OutputString
    - datetime.timedelta
    - tornado.escape.native_str
    - datetime.datetime.now
    - handler.add_header
    - tornado.httputil.format_timestamp
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.escape.native_str
    functionSourceFile: tornado
    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: datetime.timedelta
    functionSourceFile: datetime
    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: http.cookies.Morsel
    functionSourceFile: http
    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: morsel.set
    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: tornado.httputil.format_timestamp
    functionSourceFile: tornado
    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: morsel.OutputString
    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: handler.add_header
    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: handler.clear_cookie
    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: handler.get_secure_cookie
    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: _user_cookie.decode
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.log.error
    functionSourceFile: traitlets
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 414
    functionName: jupyter_server.auth.identity.IdentityProvider.get_token
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 3
    functionsReached:
    - handler.request.headers.get
    - handler.get_argument
    - m.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.get_argument
    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: handler.request.headers.get
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: handler.log.debug
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 479
    functionName: jupyter_server.auth.identity.IdentityProvider.should_check_origin
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - traitlets.Type.is_token_authenticated
    - jupyter_server.auth.identity.LegacyIdentityProvider.is_token_authenticated
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 720
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.is_token_authenticated
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 1
    functionsReached:
    - traitlets.Type.is_token_authenticated
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 490
    functionName: jupyter_server.auth.identity.IdentityProvider.is_token_authenticated
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8024f3f9d0>
    argNames:
    - self
    - app
    - ssl_options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 503
    functionName: jupyter_server.auth.identity.IdentityProvider.validate_security
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - app.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: app.log.warning
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 527
    functionName: jupyter_server.auth.identity.IdentityProvider.process_login_form
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.len
    - handler.get_argument
    - jupyter_server.auth.utils.get_anonymous_username
    - jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    - random.randint
    - traitlets.config.LoggingConfigurable.user_for_token
    - handler.log.debug
    - traitlets.config.LoggingConfigurable.log.warning
    - uuid.uuid4
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.user_for_token
    functionSourceFile: traitlets
    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: 0
    functionLinenumber: 544
    functionName: jupyter_server.auth.identity.IdentityProvider.auth_enabled
    functionSourceFile: jupyter_server.auth.identity
    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: 555
    functionName: jupyter_server.auth.identity.IdentityProvider.login_available
    functionSourceFile: jupyter_server.auth.identity
    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: 560
    functionName: jupyter_server.auth.identity.IdentityProvider.logout_available
    functionSourceFile: jupyter_server.auth.identity
    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: jupyter_server.auth.identity.PasswordIdentityProvider
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - traitlets.default
    - traitlets.Bool
    - traitlets.Unicode
    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: 617
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider._need_token_default
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    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: 621
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider.login_available
    functionSourceFile: jupyter_server.auth.identity
    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: 626
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider.auth_enabled
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - password
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 630
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider.passwd_check
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 1
    functionsReached:
    - jupyter_server.auth.identity.PasswordIdentityProvider.passwd_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 634
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider.process_login_form
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - hashlib.new
    - getpass.getpass
    - h.update
    - jupyter_server.auth.security.persist_config
    - salt.encode
    - os.path.join
    - ph.hash
    - argon2.PasswordHasher
    - h.hexdigest
    - <builtin>.str
    - traitlets.config.loader.JSONFileConfigLoader.load_config
    - getpass.getpass.encode
    - warnings.warn
    - traceback.format_exc
    - os.path.basename
    - traitlets.config.loader.JSONFileConfigLoader
    - handler.get_argument
    - random.randint
    - <builtin>.range
    - handler.log.debug
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_core.paths.jupyter_config_dir
    - f.write
    - traitlets.config.LoggingConfigurable.log.info
    - json.dumps
    - <builtin>.len
    - random.getrandbits
    - jupyter_server.auth.identity.PasswordIdentityProvider.passwd_check
    - jupyter_server.auth.utils.get_anonymous_username
    - traitlets.config.Config
    - jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user
    - os.path.dirname
    - jupyter_server.auth.security.set_password
    - jupyter_server.auth.security.passwd
    - uuid.uuid4
    - handler.settings.get
    - os.makedirs
    - os.chmod
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.settings.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f80253eb100>
    argNames:
    - self
    - app
    - ssl_options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 658
    functionName: jupyter_server.auth.identity.PasswordIdentityProvider.validate_security
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - traitlets.config.LoggingConfigurable.log.critical
    - sys.exit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.log.critical
    functionSourceFile: traitlets
    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: 1
    functionLinenumber: -1
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - traitlets.default
    - traitlets.Dict
    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: 685
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider._default_settings
    functionSourceFile: jupyter_server.auth.identity
    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: 692
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider._default_login_handler_class
    functionSourceFile: jupyter_server.auth.identity
    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: 698
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.auth_enabled
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 701
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.get_user
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - jupyter_server.auth.identity._backward_compat_user
    - traitlets.Type.get_user
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Type.get_user
    functionSourceFile: traitlets
    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: 709
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.login_available
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - traitlets.Type.get_login_available
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Type.get_login_available
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 716
    functionName: jupyter_server.auth.identity.LegacyIdentityProvider.should_check_origin
    functionSourceFile: jupyter_server.auth.identity
    functionUses: 0
    functionsReached:
    - traitlets.Type.should_check_origin
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Type.should_check_origin
    functionSourceFile: traitlets
    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: traitlets.Type.is_token_authenticated
    functionSourceFile: traitlets
    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: traitlets.Type.validate_security
    functionSourceFile: traitlets
    functionUses: 3
    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: jupyter_server.transutils
    functionSourceFile: jupyter_server.transutils
    functionUses: 0
    functionsReached:
    - os.path.join
    - os.path.realpath
    - gettext.translation
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 10
    functionName: jupyter_server.transutils._trans_gettext_deprecation_helper
    functionSourceFile: jupyter_server.transutils
    functionUses: 0
    functionsReached:
    - trans.gettext
    - warnings.warn
    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: jupyter_server.auth.login
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    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 0x7f80248252b0>
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 23
    functionName: jupyter_server.auth.login.LoginFormHandler._render
    functionSourceFile: jupyter_server.auth.login
    functionUses: 3
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.write
    - tornado.escape.url_escape
    - ns.update
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - template.render
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.escape.url_escape
    functionSourceFile: tornado
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 3
    IfCount: 7
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f802444a430>
    argNames:
    - self
    - url
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 33
    functionName: jupyter_server.auth.login.LoginFormHandler._redirect_safe
    functionSourceFile: jupyter_server.auth.login
    functionUses: 3
    functionsReached:
    - tornado.web.RequestHandler.redirect
    - re.match
    - origin.lower
    - <builtin>.bool
    - urllib.parse.urlparse
    - urllib.parse.urlparse.path.startswith
    - rest.lstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rest.lstrip
    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: 2
    functionLinenumber: -1
    functionName: jupyter_server.auth.login.LoginFormHandler
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.setattr
    - jupyter_server.auth.decorator.allow_unauthenticated
    - functools.wraps
    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: 79
    functionName: jupyter_server.auth.login.LoginFormHandler.get
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - jupyter_server.auth.login.LoginFormHandler._render
    - tornado.web.RequestHandler.redirect
    - tornado.web.RequestHandler.get_argument
    - origin.lower
    - tornado.web.RequestHandler.write
    - re.match
    - <builtin>.bool
    - tornado.escape.url_escape
    - ns.update
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - jupyter_server.auth.login.LoginFormHandler._redirect_safe
    - urllib.parse.urlparse.path.startswith
    - urllib.parse.urlparse
    - rest.lstrip
    - template.render
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 88
    functionName: jupyter_server.auth.login.LoginFormHandler.post
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - jupyter_server.auth.login.LoginFormHandler._render
    - tornado.web.RequestHandler.redirect
    - tornado.web.RequestHandler.get_argument
    - origin.lower
    - tornado.web.RequestHandler.set_status
    - tornado.web.RequestHandler.write
    - re.match
    - <builtin>.bool
    - tornado.escape.url_escape
    - ns.update
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - jupyter_server.auth.login.LoginFormHandler._redirect_safe
    - urllib.parse.urlparse.path.startswith
    - urllib.parse.urlparse
    - rest.lstrip
    - template.render
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.web.RequestHandler.set_status
    functionSourceFile: tornado
    functionUses: 22
    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: 110
    functionName: jupyter_server.auth.login.LegacyLoginHandler.hashed_password
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - jupyter_server.auth.login.LegacyLoginHandler.password_from_settings
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - settings
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 287
    functionName: jupyter_server.auth.login.LegacyLoginHandler.password_from_settings
    functionSourceFile: jupyter_server.auth.login
    functionUses: 3
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - a
    - b
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 113
    functionName: jupyter_server.auth.login.LegacyLoginHandler.passwd_check
    functionSourceFile: jupyter_server.auth.login
    functionUses: 1
    functionsReached:
    - jupyter_server.auth.login.LegacyLoginHandler.passwd_check
    linkageType: 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: jupyter_server.auth.login.LegacyLoginHandler
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - typing.cast
    - re.compile
    - jupyter_server.auth.decorator.allow_unauthenticated
    - <builtin>.setattr
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 7
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 118
    functionName: jupyter_server.auth.login.LegacyLoginHandler.post
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.login.LoginFormHandler._render
    - <builtin>.open
    - cookie_options.setdefault
    - jupyter_server.auth.login.LegacyLoginHandler.get_login_available
    - hashlib.new
    - getpass.getpass
    - h.update
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - urllib.parse.urlparse.path.startswith
    - jupyter_server.auth.security.persist_config
    - tornado.web.RequestHandler.settings.get
    - <builtin>.hasattr
    - salt.encode
    - os.path.join
    - ph.hash
    - argon2.PasswordHasher
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - h.hexdigest
    - <builtin>.str
    - tornado.web.RequestHandler.get_argument
    - origin.lower
    - tornado.web.RequestHandler.write
    - traitlets.config.loader.JSONFileConfigLoader.load_config
    - getpass.getpass.encode
    - jupyter_server.auth.login.LoginFormHandler._redirect_safe
    - warnings.warn
    - traceback.format_exc
    - rest.lstrip
    - os.path.basename
    - <builtin>.getattr
    - traitlets.config.loader.JSONFileConfigLoader
    - tornado.web.RequestHandler.redirect
    - <builtin>.bool
    - tornado.escape.url_escape
    - ns.update
    - tornado.web.RequestHandler.set_secure_cookie
    - <builtin>.range
    - jupyter_server.auth.login.LegacyLoginHandler.set_login_cookie
    - template.render
    - jupyter_core.paths.jupyter_config_dir
    - f.write
    - random.getrandbits
    - json.dumps
    - re.match
    - tornado.web.RequestHandler.set_status
    - jupyter_server.auth.login.LegacyLoginHandler.passwd_check
    - traitlets.config.Config
    - os.path.dirname
    - urllib.parse.urlparse
    - jupyter_server.auth.security.set_password
    - jupyter_server.auth.login.LegacyLoginHandler.password_from_settings
    - jupyter_server.auth.security.passwd
    - uuid.uuid4
    - os.makedirs
    - os.chmod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - settings
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 292
    functionName: jupyter_server.auth.login.LegacyLoginHandler.get_login_available
    functionSourceFile: jupyter_server.auth.login
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - jupyter_server.auth.login.LegacyLoginHandler.password_from_settings
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f80252eb670>
    argNames:
    - cls
    - handler
    - user_id
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 145
    functionName: jupyter_server.auth.login.LegacyLoginHandler.set_login_cookie
    functionSourceFile: jupyter_server.auth.login
    functionUses: 2
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    - cookie_options.setdefault
    - tornado.web.RequestHandler.set_secure_cookie
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.web.RequestHandler.set_secure_cookie
    functionSourceFile: tornado
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 160
    functionName: jupyter_server.auth.login.LegacyLoginHandler.get_token
    functionSourceFile: jupyter_server.auth.login
    functionUses: 2
    functionsReached:
    - handler.request.headers.get
    - handler.get_argument
    - m.group
    - cls.auth_header_pat.match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cls.auth_header_pat.match
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 178
    functionName: jupyter_server.auth.login.LegacyLoginHandler.should_check_origin
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - jupyter_server.auth.login.LegacyLoginHandler.is_token_authenticated
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 183
    functionName: jupyter_server.auth.login.LegacyLoginHandler.is_token_authenticated
    functionSourceFile: jupyter_server.auth.login
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 191
    functionName: jupyter_server.auth.login.LegacyLoginHandler.get_user
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - cookie_options.setdefault
    - handler.clear_login_cookie
    - tornado.web.RequestHandler.settings.get
    - cls.auth_header_pat.match
    - handler.request.headers.get
    - jupyter_server.auth.login.LegacyLoginHandler.get_user_token
    - handler.log.info
    - jupyter_server.auth.login.LegacyLoginHandler.get_token
    - <builtin>.getattr
    - handler.log.warning
    - user_id.decode
    - handler.get_secure_cookie
    - handler.get_argument
    - tornado.web.RequestHandler.set_secure_cookie
    - handler.get_cookie
    - handler.log.debug
    - jupyter_server.auth.login.LegacyLoginHandler.set_login_cookie
    - m.group
    - jupyter_server.auth.login.LegacyLoginHandler.get_user_cookie
    - uuid.uuid4
    - handler.settings.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 237
    functionName: jupyter_server.auth.login.LegacyLoginHandler.get_user_token
    functionSourceFile: jupyter_server.auth.login
    functionUses: 1
    functionsReached:
    - handler.request.headers.get
    - handler.get_argument
    - handler.log.info
    - m.group
    - jupyter_server.auth.login.LegacyLoginHandler.get_token
    - jupyter_server.auth.login.LegacyLoginHandler.get_user_cookie
    - handler.get_secure_cookie
    - handler.log.debug
    - cls.auth_header_pat.match
    - user_id.decode
    - uuid.uuid4
    - handler.settings.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - handler
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 228
    functionName: jupyter_server.auth.login.LegacyLoginHandler.get_user_cookie
    functionSourceFile: jupyter_server.auth.login
    functionUses: 2
    functionsReached:
    - user_id.decode
    - handler.settings.get
    - handler.get_secure_cookie
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.log.warning
    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.clear_login_cookie
    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: user_id.decode
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: handler.log.info
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8024e88160>
    argNames:
    - cls
    - app
    - ssl_options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 269
    functionName: jupyter_server.auth.login.LegacyLoginHandler.validate_security
    functionSourceFile: jupyter_server.auth.login
    functionUses: 0
    functionsReached:
    - app.log.warning
    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: jupyter_server.auth.security
    functionSourceFile: jupyter_server.auth.security
    functionUses: 0
    functionsReached:
    - contextlib.contextmanager
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f802456bbb0>
    - <ast.Constant object at 0x7f802456b4c0>
    argNames:
    - passphrase
    - algorithm
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 23
    functionName: jupyter_server.auth.security.passwd
    functionSourceFile: jupyter_server.auth.security
    functionUses: 5
    functionsReached:
    - h.hexdigest
    - <builtin>.str
    - hashlib.new
    - getpass.getpass
    - getpass.getpass.encode
    - h.update
    - warnings.warn
    - <builtin>.range
    - salt.encode
    - ph.hash
    - argon2.PasswordHasher
    - random.getrandbits
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: argon2.PasswordHasher
    functionSourceFile: argon2
    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: ph.hash
    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: hashlib.new
    functionSourceFile: hashlib
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.getrandbits
    functionSourceFile: random
    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: getpass.getpass.encode
    functionSourceFile: getpass
    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: salt.encode
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - hashed_passphrase
    - passphrase
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 80
    functionName: jupyter_server.auth.security.passwd_check
    functionSourceFile: jupyter_server.auth.security
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - h.hexdigest
    - passphrase.encode
    - hashed_passphrase.startswith
    - hashlib.new
    - h.update
    - hashed_passphrase.split
    - ph.verify
    - salt.encode
    - argon2.PasswordHasher
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hashed_passphrase.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: ph.verify
    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: hashed_passphrase.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: passphrase.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024f3f100>
    - <ast.Constant object at 0x7f8024f3fbb0>
    argNames:
    - config_file
    - mode
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 137
    functionName: jupyter_server.auth.security.persist_config
    functionSourceFile: jupyter_server.auth.security
    functionUses: 4
    functionsReached:
    - json.dumps
    - <builtin>.open
    - traitlets.config.Config
    - traitlets.config.loader.JSONFileConfigLoader.load_config
    - os.path.dirname
    - jupyter_core.paths.jupyter_config_dir
    - warnings.warn
    - traceback.format_exc
    - os.path.basename
    - os.path.join
    - traitlets.config.loader.JSONFileConfigLoader
    - f.write
    - os.makedirs
    - os.chmod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.paths.jupyter_config_dir
    functionSourceFile: jupyter_core
    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: os.makedirs
    functionSourceFile: os
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.loader.JSONFileConfigLoader
    functionSourceFile: traitlets
    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: traitlets.config.loader.JSONFileConfigLoader.load_config
    functionSourceFile: traitlets
    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: traceback.format_exc
    functionSourceFile: traceback
    functionUses: 5
    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: jupyter_server.services.kernels.kernelmanager
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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: jupyter_server.services.kernels.kernelmanager.MappingKernelManager
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.Float
    - traitlets.Bool
    - traitlets.Dict
    - traitlets.default
    - traitlets.validate
    - traitlets.Any
    - traitlets.List
    - traitlets.Instance
    - traitlets.Integer
    - traitlets.Unicode
    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: 59
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._default_kernel_manager_class
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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: 75
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._default_root_dir
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - os.getcwd
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 81
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._update_root_dir
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.exists
    - os.path.abspath
    - os.path.isabs
    - os.path.isdir
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.paths.exists
    functionSourceFile: jupyter_core
    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: 150
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._default_kernel_buffers
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - collections.defaultdict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._default_kernel_buffers.<lambda1>
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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: collections.defaultdict
    functionSourceFile: collections
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 158
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.__init__
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - jupyter_client.multikernelmanager.MultiKernelManager.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 187
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._handle_kernel_died
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 1
    functionsReached:
    - traitlets.Dict.pop
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 192
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cwd_for_path
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 2
    functionsReached:
    - <builtin>.str
    - os.path.isdir
    - os.path.dirname
    - jupyter_server.utils.to_os_path
    - os.path.join
    - os.path.normpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - kernel_awaitable
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 201
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._remove_kernel_when_ready
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - traitlets.config.configurable.LoggingConfigurable._kernel_ports.pop
    - traitlets.Dict.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: traitlets.config.configurable.LoggingConfigurable._kernel_ports.pop
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 8
    IfCount: 6
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 209
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_start_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_client.jsonutil.json_clean
    - datetime.datetime.now
    - os.path.join
    - asyncio.wrap_future
    - <builtin>.str
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._finish_kernel_start
    - os.path.isdir
    - <builtin>.isinstance
    - notebook.prometheus.metrics.KERNEL_CURRENTLY_RUNNING_TOTAL.labels
    - s.decode
    - traitlets.log.get_logger.warning
    - kernel.connect_iopub
    - obj.strftime
    - jupyter_client.jsonutil.squash_dates
    - jupyter_client.session.json_unpacker
    - binascii.b2a_base64
    - traitlets.Dict.pop
    - jupyter_client.session.Session._check_packers.<lambda1>
    - hmac.HMAC
    - <builtin>.repr
    - kernel._activity_stream.on_recv
    - prometheus_client.Gauge.labels
    - uuid.uuid4
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity
    - jupyter_client.session.Session.__init__
    - os.getpid
    - <builtin>.getattr
    - jupyter_client.session.json_packer
    - jupyter_client.session.Session._new_auth
    - <builtin>.list
    - traitlets.log.get_logger
    - env.keys
    - json.dumps
    - <builtin>.len
    - json.loads
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.initialize_culler
    - jupyter_core.utils.ensure_async
    - jupyter_client.multikernelmanager.MultiKernelManager.add_restart_callback
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - <builtin>.set
    - jupyter_server._tz.utcnow
    - pickle.dumps
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.pickle_packer
    - jupyter_client.session.Session._check_packers.<lambda2>
    - asyncio.create_task
    - obj.isoformat
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - <builtin>.hasattr
    - kwargs.get
    - jupyter_client.session.utcnow
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - <builtin>.type
    - obj.items
    - km.ready.exception
    - tornado.ioloop.PeriodicCallback.start
    - <builtin>.dict
    - <builtin>.int
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - jupyter_client.multikernelmanager.MultiKernelManager._async_start_kernel
    - kwargs.pop
    - <builtin>.map
    - os.path.dirname
    - jupyter_server.utils.to_os_path
    - binascii.b2a_base64.decode
    - km.start_kernel
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cwd_for_path
    - <builtin>.super
    - tornado.ioloop.PeriodicCallback
    - os.path.normpath
    - tornado.ioloop.IOLoop.current
    - <builtin>.float
    - warnings.warn
    - kwargs.items
    - zmq.Context
    - pickle.loads
    - traitlets.Any
    - kwargs.setdefault
    - jupyter_client.multikernelmanager.MultiKernelManager._add_kernel_when_ready
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - math.isinf
    - jupyter_client.multikernelmanager.MultiKernelManager.pre_start_kernel
    - math.isnan
    - jupyter_client.session.Session._check_packers
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.keys
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 273
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._finish_kernel_start
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 1
    functionsReached:
    - jupyter_client.jsonutil.json_clean
    - <builtin>.set
    - jupyter_server._tz.utcnow
    - pickle.dumps
    - datetime.datetime.now
    - <builtin>.super
    - jupyter_client.session.pickle_packer
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session._check_packers.<lambda2>
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity
    - obj.isoformat
    - <builtin>.hasattr
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - jupyter_client.session.Session.__init__
    - asyncio.wrap_future
    - <builtin>.str
    - jupyter_client.session.utcnow
    - <builtin>.float
    - os.getpid
    - warnings.warn
    - <builtin>.isinstance
    - <builtin>.type
    - jupyter_client.session.json_packer
    - s.decode
    - jupyter_client.session.Session._new_auth
    - obj.items
    - traitlets.log.get_logger.warning
    - <builtin>.list
    - traitlets.Any
    - pickle.loads
    - traitlets.log.get_logger
    - kernel.connect_iopub
    - obj.strftime
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - math.isinf
    - <builtin>.int
    - jupyter_client.session.json_unpacker
    - <builtin>.map
    - json.dumps
    - <builtin>.len
    - json.loads
    - binascii.b2a_base64.decode
    - binascii.b2a_base64
    - jupyter_client.multikernelmanager.MultiKernelManager.add_restart_callback
    - jupyter_client.session.Session._check_packers.<lambda1>
    - math.isnan
    - hmac.HMAC
    - <builtin>.repr
    - kernel._activity_stream.on_recv
    - jupyter_client.session.Session._check_packers
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: notebook.prometheus.metrics.KERNEL_CURRENTLY_RUNNING_TOTAL.labels
    functionSourceFile: notebook
    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: prometheus_client.Gauge.labels
    functionSourceFile: prometheus_client
    functionUses: 4
    functionsReached: []
    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: 638
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.initialize_culler
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 2
    functionsReached:
    - tornado.ioloop.PeriodicCallback
    - tornado.ioloop.PeriodicCallback.start
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.wrap_future
    functionSourceFile: asyncio
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 577
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 3
    functionsReached:
    - jupyter_client.jsonutil.json_clean
    - <builtin>.set
    - jupyter_server._tz.utcnow
    - pickle.dumps
    - datetime.datetime.now
    - <builtin>.super
    - jupyter_client.session.pickle_packer
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session._check_packers.<lambda2>
    - obj.isoformat
    - <builtin>.hasattr
    - jupyter_client.session.Session.__init__
    - <builtin>.str
    - jupyter_client.session.utcnow
    - <builtin>.float
    - os.getpid
    - warnings.warn
    - <builtin>.isinstance
    - <builtin>.type
    - jupyter_client.session.json_packer
    - s.decode
    - jupyter_client.session.Session._new_auth
    - obj.items
    - traitlets.log.get_logger.warning
    - <builtin>.list
    - traitlets.Any
    - pickle.loads
    - traitlets.log.get_logger
    - kernel.connect_iopub
    - obj.strftime
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - math.isinf
    - <builtin>.int
    - jupyter_client.session.json_unpacker
    - <builtin>.map
    - json.dumps
    - <builtin>.len
    - json.loads
    - binascii.b2a_base64.decode
    - binascii.b2a_base64
    - jupyter_client.session.Session._check_packers.<lambda1>
    - math.isnan
    - hmac.HMAC
    - <builtin>.repr
    - kernel._activity_stream.on_recv
    - jupyter_client.session.Session._check_packers
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._finish_kernel_start.<lambda1>
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.Dict.pop
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._handle_kernel_died
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 295
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.ports_changed
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._get_changed_ports
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 315
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._get_changed_ports
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - session_key
    - channels
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 331
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_buffering
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - traitlets.Any.pop
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - channels.values
    - channels.items
    - stream.close
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    - stream.on_recv
    - 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: channels.values
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stream.close
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 536
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    functionSourceFile: ''
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 395
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 5
    functionsReached:
    - <builtin>.len
    - traitlets.Any.pop
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - stream.close
    - stream.on_recv
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - channel
    - msg_parts
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 363
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_buffering.buffer_msg
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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: channels.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stream.on_recv
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - session_key
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 370
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.get_buffer
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - traitlets.Any.pop
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - stream.close
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    - stream.on_recv
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Any.pop
    functionSourceFile: traitlets
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f8024514310>
    - <ast.Constant object at 0x7f8024514100>
    argNames:
    - self
    - kernel_id
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 423
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_shutdown_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 2
    functionsReached:
    - typing.cast
    - traitlets.Any.pop
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - stream.close
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    - stream.on_recv
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - kernel._pending_restart_cleanup
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - <builtin>.getattr
    - notebook.prometheus.metrics.KERNEL_CURRENTLY_RUNNING_TOTAL.labels
    - jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity
    - kernel._activity_stream.close
    - asyncio.ensure_future
    - traitlets.config.LoggingConfigurable.ready.exception
    - task.cancel
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - <builtin>.len
    - jupyter_core.utils.ensure_async
    - traitlets.Dict.pop
    - prometheus_client.Gauge.labels
    - traitlets.config.LoggingConfigurable.ready.cancelled
    - jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: task.cancel
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 628
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 4
    functionsReached:
    - kernel._activity_stream.close
    - kernel._pending_restart_cleanup
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 8
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f80246c68b0>
    argNames:
    - self
    - kernel_id
    - now
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 444
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_client.jsonutil.json_clean
    - traitlets.config.LoggingConfigurable.add_restart_callback
    - tornado.concurrent.Future
    - <builtin>.set
    - traitlets.config.LoggingConfigurable.restart_kernel
    - jupyter_server._tz.utcnow
    - pickle.dumps
    - traitlets.config.LoggingConfigurable.ready.done
    - datetime.datetime.now
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._get_changed_ports
    - traitlets.config.LoggingConfigurable.connect_shell
    - <builtin>.super
    - jupyter_client.session.pickle_packer
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session._check_packers.<lambda2>
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity
    - obj.isoformat
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - <builtin>.hasattr
    - jupyter_client.session.Session.__init__
    - kernel._pending_restart_cleanup
    - <builtin>.str
    - channel.on_recv
    - jupyter_client.session.utcnow
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - tornado.ioloop.IOLoop.current
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - <builtin>.float
    - os.getpid
    - loop.time
    - warnings.warn
    - <builtin>.getattr
    - <builtin>.isinstance
    - <builtin>.type
    - loop.add_timeout
    - jupyter_client.session.json_packer
    - s.decode
    - jupyter_client.session.Session._new_auth
    - obj.items
    - traitlets.log.get_logger.warning
    - <builtin>.list
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity
    - kernel._activity_stream.close
    - traitlets.Any
    - traitlets.log.get_logger
    - pickle.loads
    - kernel.connect_iopub
    - obj.strftime
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - math.isinf
    - <builtin>.int
    - jupyter_client.multikernelmanager.MultiKernelManager._async_restart_kernel
    - jupyter_client.session.json_unpacker
    - <builtin>.map
    - json.dumps
    - <builtin>.len
    - json.loads
    - binascii.b2a_base64.decode
    - binascii.b2a_base64
    - jupyter_core.utils.ensure_async
    - traitlets.config.LoggingConfigurable.session.send
    - jupyter_client.session.Session._check_packers.<lambda1>
    - math.isnan
    - hmac.HMAC
    - <builtin>.repr
    - kernel._activity_stream.on_recv
    - jupyter_client.session.Session._check_packers
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.connect_shell
    functionSourceFile: traitlets
    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.concurrent.Future
    functionSourceFile: tornado
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 453
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.finish
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 3
    functionsReached:
    - channel.closed
    - loop.remove_timeout
    - traitlets.config.LoggingConfigurable.remove_restart_callback
    - channel.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: channel.closed
    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: channel.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: loop.remove_timeout
    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: traitlets.config.LoggingConfigurable.remove_restart_callback
    functionSourceFile: traitlets
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - msg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 461
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_reply
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - channel.closed
    - loop.remove_timeout
    - future.done
    - future.set_result
    - traitlets.config.LoggingConfigurable.remove_restart_callback
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.finish
    - channel.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: future.done
    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: future.set_result
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 467
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_timeout
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - channel.closed
    - loop.remove_timeout
    - future.set_exception
    - future.done
    - traitlets.config.LoggingConfigurable.remove_restart_callback
    - <builtin>.TimeoutError
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.finish
    - channel.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>.TimeoutError
    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: future.set_exception
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 473
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_restart_failed
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - channel.closed
    - loop.remove_timeout
    - <builtin>.RuntimeError
    - future.set_exception
    - future.done
    - traitlets.config.LoggingConfigurable.remove_restart_callback
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.finish
    - channel.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>.RuntimeError
    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: traitlets.config.LoggingConfigurable.add_restart_callback
    functionSourceFile: traitlets
    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: traitlets.config.LoggingConfigurable.session.send
    functionSourceFile: traitlets
    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: channel.on_recv
    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: loop.add_timeout
    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
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 493
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.notify_connect
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 498
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.notify_disconnect
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 503
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.kernel_model
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 1
    functionsReached:
    - traitlets.Dict.get
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - jupyter_server._tz.isoformat
    - dt.isoformat
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - dt
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 41
    functionName: jupyter_server._tz.isoformat
    functionSourceFile: jupyter_server._tz
    functionUses: 4
    functionsReached:
    - dt.isoformat
    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: 4
    functionLinenumber: 522
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.list_kernels
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - jupyter_server._tz.isoformat
    - datetime.datetime.now
    - dt.isoformat
    - traitlets.utils.importstring.import_item
    - jupyter_client.multikernelmanager.MultiKernelManager.list_kernel_ids
    - kernels.append
    - traitlets.Dict.get
    - jupyter_client.session.utcnow
    - <builtin>.str
    - v.index
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - <builtin>.getattr
    - km.load_connection_info
    - zmq.Context
    - pathlib.Path.is_dir
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.kernel_model
    - <builtin>.list
    - traitlets.Any
    - kwargs.setdefault
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.values
    - connection_file.read_text
    - jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id
    - p.is_file
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - km.ready.set_result
    - json.loads
    - pathlib.Path.iterdir
    - pathlib.Path
    - traitlets.Dict.keys
    - traitlets.config.configurable.LoggingConfigurable.kernel_id_to_connection_file.keys
    - uuid.uuid4
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kernels.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: 2
    argDefaultValues: []
    argNames:
    - self
    - message_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 574
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.track_message_type
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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: kernel.connect_iopub
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - msg_list
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 594
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity.record_activity
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - typing.cast
    - random.sample
    - traitlets.Instance.copy
    - jupyter_client.adapter.adapt
    - <builtin>.set
    - jupyter_client.session.Session.deserialize
    - jupyter_server._tz.utcnow
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.track_message_type
    - datetime.datetime.now
    - h.update
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session._check_packers.<lambda2>
    - jupyter_client.jsonutil.parse_date
    - <builtin>.bytes
    - ISO8601_PAT.match
    - dateutil.parser.parse
    - pprint.pprint
    - dateutil.parser.parse.items
    - jupyter_client.session.Session._add_digest
    - h.hexdigest
    - jupyter_client.session.utcnow
    - traitlets.Set.difference_update
    - jupyter_client.jsonutil._ensure_tzinfo
    - <builtin>.sorted
    - warnings.warn
    - msg_list.index
    - traitlets.Set.add
    - <builtin>.tuple
    - dateutil.parser.parse.replace
    - <builtin>.isinstance
    - dateutil.tz.tzlocal
    - jupyter_client.session.Session.sign
    - <builtin>.max
    - s.decode
    - pickle.loads
    - traitlets.Any
    - adapters.get
    - jupyter_client.session.Session._cull_digest_history
    - <builtin>.int
    - jupyter_client.session.json_unpacker
    - <builtin>.len
    - json.loads
    - <builtin>.memoryview
    - <builtin>.enumerate
    - jupyter_client.jsonutil.extract_dates
    - jupyter_client.session.Session.feed_identities
    - msg.get
    - hmac.compare_digest
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kernel._activity_stream.on_recv
    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: kernel._activity_stream.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: kernel._pending_restart_cleanup
    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: tornado.ioloop.PeriodicCallback.start
    functionSourceFile: tornado
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 670
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cull_kernels
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - typing.cast
    - traitlets.Any.pop
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - stream.close
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    - dt_idle.total_seconds
    - stream.on_recv
    - <builtin>.hasattr
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - kernel._pending_restart_cleanup
    - traitlets.Dict.get
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_shutdown_kernel
    - datetime.timedelta
    - <builtin>.getattr
    - notebook.prometheus.metrics.KERNEL_CURRENTLY_RUNNING_TOTAL.labels
    - <builtin>.list
    - jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity
    - kernel._activity_stream.close
    - asyncio.ensure_future
    - traitlets.config.LoggingConfigurable.ready.exception
    - task.cancel
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cull_kernel_if_idle
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - <builtin>.int
    - kernel_spec_metadata.get
    - <builtin>.len
    - jupyter_core.utils.ensure_async
    - traitlets.Dict.pop
    - prometheus_client.Gauge.labels
    - traitlets.config.LoggingConfigurable.ready.cancelled
    - jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 688
    functionName: jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cull_kernel_if_idle
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 1
    functionsReached:
    - typing.cast
    - traitlets.Any.pop
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel
    - stream.close
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering
    - dt_idle.total_seconds
    - stream.on_recv
    - <builtin>.hasattr
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - kernel._pending_restart_cleanup
    - traitlets.Dict.get
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_shutdown_kernel
    - datetime.timedelta
    - <builtin>.getattr
    - notebook.prometheus.metrics.KERNEL_CURRENTLY_RUNNING_TOTAL.labels
    - jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity
    - kernel._activity_stream.close
    - asyncio.ensure_future
    - traitlets.config.LoggingConfigurable.ready.exception
    - task.cancel
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - <builtin>.int
    - kernel_spec_metadata.get
    - <builtin>.len
    - jupyter_core.utils.ensure_async
    - traitlets.Dict.pop
    - prometheus_client.Gauge.labels
    - traitlets.config.LoggingConfigurable.ready.cancelled
    - jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kernel_spec_metadata.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dt_idle.total_seconds
    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: jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.default
    - traitlets.validate
    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: 741
    functionName: jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager._default_kernel_manager_class
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 745
    functionName: jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager._validate_kernel_manager_class
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.Any.rsplit
    - <builtin>.len
    - <builtin>.__import__
    - warnings.warn
    - <builtin>.issubclass
    - jupyter_server.utils.import_item
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 759
    functionName: jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager.__init__
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - jupyter_client.multikernelmanager.MultiKernelManager.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f8024a304c0>
    argNames:
    - success_msg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 767
    functionName: jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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:
    - method
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 788
    functionName: jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event.wrap_method
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 2
    functionsReached:
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 790
    functionName: jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event.wrap_method.wrapped_method
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.str
    - method.__name__.replace
    - success_msg.format
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.__name__.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: success_msg.format
    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: 2
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.List.tag
    - jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event.wrap_method
    - traitlets.default
    - traitlets.List
    - traitlets.Instance
    - jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event
    - overrides.overrides
    - traitlets.Unicode
    - functools.wraps
    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: 854
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager.core_event_schema_paths
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    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: traitlets.List.tag
    functionSourceFile: traitlets
    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: 1
    functionLinenumber: 870
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager._default_event_logger
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - jupyter_events.EventLogger
    - jupyter_events.EventLogger.register_event_schema
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_events.EventLogger
    functionSourceFile: jupyter_events
    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: jupyter_events.EventLogger.register_event_schema
    functionSourceFile: jupyter_events
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - schema_id
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 892
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager.emit
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.emit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.emit
    functionSourceFile: traitlets
    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: overrides.overrides
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 900
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager.start_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 907
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager.shutdown_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 914
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager.restart_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 921
    functionName: jupyter_server.services.kernels.kernelmanager.ServerKernelManager.interrupt_kernel
    functionSourceFile: jupyter_server.services.kernels.kernelmanager
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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: jupyter_server._tz
    functionSourceFile: jupyter_server._tz
    functionUses: 0
    functionsReached:
    - datetime.tzinfo.__init__
    - datetime.timedelta
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - d
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 20
    functionName: jupyter_server._tz.tzUTC.utcoffset
    functionSourceFile: jupyter_server._tz
    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
    - d
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 24
    functionName: jupyter_server._tz.tzUTC.dst
    functionSourceFile: jupyter_server._tz
    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:
    - timestamp
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 34
    functionName: jupyter_server._tz.utcfromtimestamp
    functionSourceFile: jupyter_server._tz
    functionUses: 39
    functionsReached:
    - datetime.datetime.fromtimestamp
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: datetime.tzinfo.__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: dt.isoformat
    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: jupyter_client.ioloop
    functionSourceFile: jupyter_client.ioloop
    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: 0
    functionLinenumber: -1
    functionName: jupyter_client.ioloop.manager
    functionSourceFile: jupyter_client.ioloop.manager
    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:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 15
    functionName: jupyter_client.ioloop.manager.as_zmqstream
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 18
    functionName: jupyter_client.ioloop.manager.as_zmqstream.wrapped
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 0
    functionsReached:
    - sock.connect
    - jupyter_client.connect.ConnectionFileMixin._make_url
    - jupyter_client.connect.ConnectionFileMixin.connect_iopub
    - zmq.eventloop.zmqstream.ZMQStream
    - jupyter_client.connect.ConnectionFileMixin.connect_stdin
    - traitlets.Instance.socket
    - jupyter_client.connect.ConnectionFileMixin.connect_shell
    - <builtin>.getattr
    - sock.setsockopt
    - jupyter_client.connect.ConnectionFileMixin.connect_hb
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.connect.ConnectionFileMixin._create_connected_socket
    - jupyter_client.connect.ConnectionFileMixin.connect_control
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: zmq.eventloop.zmqstream.ZMQStream
    functionSourceFile: zmq
    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: jupyter_client.ioloop.manager.IOLoopKernelManager
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    - jupyter_client.ioloop.manager.as_zmqstream
    - traitlets.Type
    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: 40
    functionName: jupyter_client.ioloop.manager.IOLoopKernelManager._loop_default
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    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: 55
    functionName: jupyter_client.ioloop.manager.IOLoopKernelManager.start_restarter
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 0
    functionsReached:
    - traitlets.Type
    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: 0
    functionLinenumber: 64
    functionName: jupyter_client.ioloop.manager.IOLoopKernelManager.stop_restarter
    functionSourceFile: jupyter_client.ioloop.manager
    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: jupyter_client.ioloop.manager.AsyncIOLoopKernelManager
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    - jupyter_client.ioloop.manager.as_zmqstream
    - traitlets.Type
    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: 81
    functionName: jupyter_client.ioloop.manager.AsyncIOLoopKernelManager._loop_default
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    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: 98
    functionName: jupyter_client.ioloop.manager.AsyncIOLoopKernelManager.start_restarter
    functionSourceFile: jupyter_client.ioloop.manager
    functionUses: 0
    functionsReached:
    - traitlets.Type
    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: 0
    functionLinenumber: 107
    functionName: jupyter_client.ioloop.manager.AsyncIOLoopKernelManager.stop_restarter
    functionSourceFile: jupyter_client.ioloop.manager
    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: 0
    functionLinenumber: -1
    functionName: jupyter_client.ioloop.restarter
    functionSourceFile: jupyter_client.ioloop.restarter
    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: jupyter_client.ioloop.restarter.IOLoopKernelRestarter
    functionSourceFile: jupyter_client.ioloop.restarter
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    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: 22
    functionName: jupyter_client.ioloop.restarter.IOLoopKernelRestarter._loop_default
    functionSourceFile: jupyter_client.ioloop.restarter
    functionUses: 0
    functionsReached:
    - warnings.warn
    - tornado.ioloop.IOLoop.current
    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: 34
    functionName: jupyter_client.ioloop.restarter.IOLoopKernelRestarter.start
    functionSourceFile: jupyter_client.ioloop.restarter
    functionUses: 0
    functionsReached:
    - tornado.ioloop.PeriodicCallback
    - tornado.ioloop.PeriodicCallback.start
    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: 45
    functionName: jupyter_client.ioloop.restarter.IOLoopKernelRestarter.stop
    functionSourceFile: jupyter_client.ioloop.restarter
    functionUses: 1
    functionsReached:
    - tornado.ioloop.PeriodicCallback.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: tornado.ioloop.PeriodicCallback.stop
    functionSourceFile: tornado
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 9
    IfCount: 7
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 55
    functionName: jupyter_client.ioloop.restarter.AsyncIOLoopKernelRestarter.poll
    functionSourceFile: jupyter_client.ioloop.restarter
    functionUses: 0
    functionsReached:
    - traitlets.Instance.restart_kernel
    - traitlets.Instance.is_alive
    - time.time
    - traitlets.Instance.provisioner.get_stable_start_time
    - tornado.ioloop.PeriodicCallback.stop
    - jupyter_client.restarter.KernelRestarter._fire_callbacks
    - jupyter_client.ioloop.restarter.IOLoopKernelRestarter.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: traitlets.Instance.is_alive
    functionSourceFile: traitlets
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 101
    functionName: jupyter_client.restarter.KernelRestarter._fire_callbacks
    functionSourceFile: ''
    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: traitlets.Instance.restart_kernel
    functionSourceFile: traitlets
    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: traitlets.Instance.provisioner.get_stable_start_time
    functionSourceFile: traitlets
    functionUses: 2
    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: jupyter_client.restarter
    functionSourceFile: jupyter_client.restarter
    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: jupyter_client.restarter.KernelRestarter
    functionSourceFile: jupyter_client.restarter
    functionUses: 0
    functionsReached:
    - traitlets.Float
    - traitlets.Bool
    - traitlets.Dict
    - traitlets.default
    - traitlets.Instance
    - traitlets.Integer
    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: 58
    functionName: jupyter_client.restarter.KernelRestarter._default_last_dead
    functionSourceFile: jupyter_client.restarter
    functionUses: 0
    functionsReached:
    - time.time
    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: jupyter_client.restarter.KernelRestarter._callbacks_default
    functionSourceFile: jupyter_client.restarter
    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: 66
    functionName: jupyter_client.restarter.KernelRestarter.start
    functionSourceFile: jupyter_client.restarter
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    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: 71
    functionName: jupyter_client.restarter.KernelRestarter.stop
    functionSourceFile: jupyter_client.restarter
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8025072520>
    argNames:
    - self
    - f
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 76
    functionName: jupyter_client.restarter.KernelRestarter.add_callback
    functionSourceFile: jupyter_client.restarter
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8025072400>
    argNames:
    - self
    - f
    - event
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 87
    functionName: jupyter_client.restarter.KernelRestarter.remove_callback
    functionSourceFile: jupyter_client.restarter
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 9
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 114
    functionName: jupyter_client.restarter.KernelRestarter.poll
    functionSourceFile: jupyter_client.restarter
    functionUses: 0
    functionsReached:
    - traitlets.Instance.restart_kernel
    - jupyter_client.restarter.KernelRestarter.stop
    - traitlets.Instance.is_alive
    - time.time
    - jupyter_client.restarter.KernelRestarter._fire_callbacks
    - traitlets.Instance.provisioner.get_stable_start_time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.prometheus
    functionSourceFile: jupyter_server.prometheus
    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: -1
    functionName: jupyter_server.prometheus.metrics
    functionSourceFile: jupyter_server.prometheus.metrics
    functionUses: 0
    functionsReached:
    - prometheus_client.Histogram
    - prometheus_client.Gauge
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: prometheus_client.Histogram
    functionSourceFile: prometheus_client
    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: prometheus_client.Gauge
    functionSourceFile: prometheus_client
    functionUses: 1
    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: -1
    functionName: jupyter_server.services.kernels.connection.channels
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - abc.ABC.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 39
    functionName: jupyter_server.services.kernels.connection.channels._ensure_future
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 5
    functionsReached:
    - asyncio.wrap_future
    - asyncio.get_running_loop
    linkageType: 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: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - traitlets.Float
    - traitlets.Bool
    - weakref.WeakSet
    - traitlets.Dict
    - traitlets.default
    - traitlets.Any
    - traitlets.List
    - traitlets.Int
    - traitlets.Instance
    - traitlets.Unicode
    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: 93
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    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: weakref.WeakSet
    functionSourceFile: weakref
    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: 1
    functionLinenumber: 112
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._default_kernel_info_future
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - concurrent.futures.Future
    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: 119
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._default_close_future
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - concurrent.futures.Future
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Int
    functionSourceFile: traitlets
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - cls
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 135
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.close_all
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - asyncio.wrap_future
    - <builtin>.list
    - jupyter_server.services.kernels.connection.channels._ensure_future
    - asyncio.get_running_loop
    - connection.disconnect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connection.disconnect
    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: 0
    functionLinenumber: 142
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.subprotocol
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    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: 150
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.create_stream
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 8
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 158
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 1
    functionsReached:
    - f.set_result
    - asyncio.wrap_future
    - shell_channel.on_recv
    - tornado.gen.multi
    - both_done.add_done_callback
    - iopub_channel.on_recv
    - control_channel.on_recv
    - tornado.ioloop.IOLoop.current
    - jupyter_server.services.kernels.connection.channels._ensure_future
    - loop.time
    - asyncio.get_running_loop
    - tornado.gen.with_timeout
    - <builtin>.getattr
    - concurrent.futures.Future
    - future.add_done_callback
    - traitlets.config.LoggingConfigurable.log.debug
    - loop.call_later
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.set_result
    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: tornado.gen.multi
    functionSourceFile: tornado
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f8024e88070>
    argNames:
    - _
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 190
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.finish
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 1
    functionsReached:
    - f.done
    - f.set_result
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.done
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f80253eb7f0>
    argNames:
    - _
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 198
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.cleanup
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - control_channel.close
    - loop.remove_timeout
    - shell_channel.closed
    - control_channel.closed
    - iopub_channel.stop_on_recv
    - shell_channel.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: iopub_channel.stop_on_recv
    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: shell_channel.closed
    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: shell_channel.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: control_channel.closed
    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: control_channel.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: both_done.add_done_callback
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    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: 210
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_shell_reply
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - info_future.done
    - info_future.set_result
    - traitlets.config.LoggingConfigurable.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: info_future.done
    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: info_future.set_result
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    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: 217
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_control_reply
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - info_future.done
    - info_future.set_result
    - traitlets.config.LoggingConfigurable.log.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - msg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 224
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_iopub
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - iopub_future.done
    - traitlets.config.LoggingConfigurable.log.debug
    - iopub_future.set_result
    - iopub_channel.stop_on_recv
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: iopub_future.done
    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: iopub_future.set_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: iopub_channel.on_recv
    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: shell_channel.on_recv
    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: control_channel.on_recv
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 10
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - count
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 238
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.nudge
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - f.done
    - f.set_result
    - shell_channel.closed
    - control_channel.closed
    - loop.call_later
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.finish
    - both_done.done
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.Instance.send
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: both_done.done
    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: loop.call_later
    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: tornado.gen.with_timeout
    functionSourceFile: tornado
    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: future.add_done_callback
    functionSourceFile: <builtin>
    functionUses: 4
    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: 275
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._register_session
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 1
    functionsReached:
    - typing.cast
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - stale_handler.close
    - traitlets.config.LoggingConfigurable.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: traitlets.config.LoggingConfigurable._open_sessions.get
    functionSourceFile: traitlets
    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: stale_handler.close
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 294
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.prepare
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - typing.cast
    - jupyter_server.services.kernels.connection.channels._ensure_future
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._register_session
    - traitlets.Any.on_recv
    - asyncio.get_running_loop
    - <builtin>.hasattr
    - future.add_done_callback
    - asyncio.wrap_future
    - <builtin>.str
    - tornado.ioloop.IOLoop.current
    - stale_handler.close
    - loop.time
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.request_kernel_info
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - loop.add_timeout
    - future.done
    - time.time
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_core.utils.ensure_async
    - asyncio.sleep
    - traitlets.config.LoggingConfigurable._open_sessions.get
    - traitlets.Instance.send
    linkageType: pythonLinkage
    raised:
    - TimeoutError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 575
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.request_kernel_info
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 1
    functionsReached:
    - asyncio.wrap_future
    - future.done
    - jupyter_server.services.kernels.connection.channels._ensure_future
    - traitlets.Any.on_recv
    - asyncio.get_running_loop
    - future.add_done_callback
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.Instance.send
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 323
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.prepare.give_up
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - traitlets.Instance.done
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.Instance.set_result
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.done
    functionSourceFile: traitlets
    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: traitlets.Instance.set_result
    functionSourceFile: traitlets
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 14
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 335
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - shell_channel.on_recv
    - control_channel.on_recv
    - jupyter_server.services.kernels.connection.channels._ensure_future
    - traitlets.config.LoggingConfigurable._open_sockets.remove
    - stream.close
    - stream.on_recv
    - asyncio.get_running_loop
    - future.add_done_callback
    - f.set_result
    - traitlets.config.LoggingConfigurable.log.error
    - asyncio.wrap_future
    - tornado.ioloop.IOLoop.current
    - traitlets.Instance.add_done_callback
    - loop.time
    - tornado.gen.with_timeout
    - <builtin>.getattr
    - concurrent.futures.Future
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge
    - tornado.gen.multi
    - traitlets.config.LoggingConfigurable._open_sockets.add
    - stream.closed
    - traitlets.Dict.values
    - traitlets.Instance.set_result
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.create_stream
    - loop.call_later
    - traitlets.config.LoggingConfigurable.log.info
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    - iopub_channel.on_recv
    - both_done.add_done_callback
    - traitlets.config.LoggingConfigurable._open_sessions.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 353
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect.replay
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._limit_rate
    - buffers.insert
    - traitlets.config.LoggingConfigurable._open_sockets.remove
    - msg.pop
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._reserialize_reply
    - stream.close
    - stream.on_recv
    - channel.encode
    - struct.pack
    - traitlets.Instance.unpack
    - offset.to_bytes
    - <builtin>.str
    - tornado.ioloop.IOLoop.current
    - traitlets.Instance.feed_identities
    - <builtin>.float
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - msg.copy
    - <builtin>.getattr
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_stderr
    - traitlets.config.LoggingConfigurable.log.critical
    - <builtin>.list
    - stream.closed
    - traitlets.Dict.values
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_error
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.Instance.pack
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.handle_outgoing_message
    - traitlets.Instance.set_result
    - traitlets.config.LoggingConfigurable.log.info
    - <builtin>.len
    - <builtin>.sum
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - textwrap.dedent
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    - json.dumps
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - offsets.append
    - traitlets.Instance.msg
    - jupyter_server.services.kernels.connection.base.serialize_binary_message
    - traitlets.Instance.deserialize
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_zmq_reply
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part
    - traitlets.config.LoggingConfigurable._open_sessions.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - stream
    - outgoing_msg
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 490
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.handle_outgoing_message
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 1
    functionsReached:
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._limit_rate
    - buffers.insert
    - traitlets.config.LoggingConfigurable._open_sockets.remove
    - msg.pop
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._reserialize_reply
    - stream.close
    - stream.on_recv
    - channel.encode
    - struct.pack
    - traitlets.Instance.unpack
    - offset.to_bytes
    - <builtin>.str
    - tornado.ioloop.IOLoop.current
    - traitlets.Instance.feed_identities
    - <builtin>.float
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - msg.copy
    - <builtin>.getattr
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_stderr
    - traitlets.config.LoggingConfigurable.log.critical
    - <builtin>.list
    - stream.closed
    - traitlets.Dict.values
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_error
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.Instance.pack
    - traitlets.Instance.set_result
    - <builtin>.len
    - <builtin>.sum
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - textwrap.dedent
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    - json.dumps
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - offsets.append
    - traitlets.Instance.msg
    - jupyter_server.services.kernels.connection.base.serialize_binary_message
    - traitlets.Instance.deserialize
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_zmq_reply
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part
    - traitlets.config.LoggingConfigurable._open_sessions.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: traitlets.Instance.add_done_callback
    functionSourceFile: traitlets
    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: stream.closed
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 13
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 399
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 5
    functionsReached:
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - stream.closed
    - traitlets.Dict.values
    - traitlets.config.LoggingConfigurable._open_sockets.remove
    - stream.close
    - stream.on_recv
    - traitlets.Instance.set_result
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable._open_sessions.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 387
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect.subscribe
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - traitlets.Dict.values
    - stream.on_recv_stream
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.on_recv_stream
    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: traitlets.config.LoggingConfigurable._open_sockets.add
    functionSourceFile: traitlets
    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: 395
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.close
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    - stream.closed
    - traitlets.Dict.values
    - traitlets.config.LoggingConfigurable._open_sockets.remove
    - stream.close
    - stream.on_recv
    - traitlets.Instance.set_result
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable._open_sessions.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: traitlets.config.LoggingConfigurable._open_sessions.pop
    functionSourceFile: traitlets
    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: traitlets.config.LoggingConfigurable._open_sockets.remove
    functionSourceFile: traitlets
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 7
    IfCount: 9
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - incoming_msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 445
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.handle_incoming_message
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - msg.pop
    - jupyter_client.jsonutil.parse_date
    - ISO8601_PAT.match
    - dateutil.parser.parse
    - traitlets.Instance.unpack
    - dateutil.parser.parse.items
    - struct.unpack
    - traitlets.Instance.send_raw
    - jupyter_client.jsonutil._ensure_tzinfo
    - jupyter_server.services.kernels.connection.base.deserialize_msg_from_ws_v1
    - warnings.warn
    - jupyter_server.services.kernels.connection.base.deserialize_binary_message
    - dateutil.parser.parse.replace
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - dateutil.tz.tzlocal
    - <builtin>.list
    - <builtin>.range
    - traitlets.config.LoggingConfigurable.log.warning
    - int.from_bytes
    - json.loads
    - offsets.append
    - <builtin>.zip
    - jupyter_client.jsonutil.extract_dates
    - bufs.append
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part
    - traitlets.Instance.send
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - ws_msg
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 103
    functionName: jupyter_server.services.kernels.connection.base.deserialize_msg_from_ws_v1
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 1
    functionsReached:
    - int.from_bytes
    - <builtin>.range
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.pop
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - field
    - value
    - msg_list
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 516
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 5
    functionsReached:
    - traitlets.Instance.unpack
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.send_raw
    functionSourceFile: traitlets
    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: traitlets.Instance.feed_identities
    functionSourceFile: traitlets
    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: traitlets.Instance.deserialize
    functionSourceFile: traitlets
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - channel
    - msg
    - msg_list
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 793
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_error
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 2
    functionsReached:
    - traitlets.Instance.unpack
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part
    - traitlets.Instance.pack
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 7
    IfCount: 14
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - channel
    - msg
    - msg_list
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 652
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._limit_rate
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - <builtin>.sum
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - json.dumps
    - offset.to_bytes
    - tornado.ioloop.IOLoop.current
    - <builtin>.float
    - offsets.append
    - traitlets.Instance.msg
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - traitlets.config.LoggingConfigurable.log.warning
    - channel.encode
    - traitlets.Instance.pack
    - traitlets.Instance.unpack
    - textwrap.dedent
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_stderr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - stream
    - msg_list
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 552
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_zmq_reply
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 2
    functionsReached:
    - buffers.insert
    - traitlets.config.LoggingConfigurable._open_sockets.remove
    - msg.pop
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._reserialize_reply
    - stream.close
    - stream.on_recv
    - struct.pack
    - channel.encode
    - offset.to_bytes
    - <builtin>.str
    - traitlets.Instance.feed_identities
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - msg.copy
    - <builtin>.getattr
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.log.critical
    - <builtin>.list
    - stream.closed
    - traitlets.Dict.values
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.Instance.pack
    - traitlets.Instance.set_result
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - <builtin>.len
    - json.dumps
    - traitlets.config.LoggingConfigurable._open_sessions.pop
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect
    - offsets.append
    - jupyter_server.services.kernels.connection.base.serialize_binary_message
    - traitlets.Instance.deserialize
    - traitlets.config.LoggingConfigurable._open_sessions.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: traitlets.Instance.unpack
    functionSourceFile: traitlets
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8024ca2d00>
    argNames:
    - self
    - msg_or_list
    - channel
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 527
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._reserialize_reply
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 3
    functionsReached:
    - json.dumps
    - <builtin>.len
    - <builtin>.list
    - traitlets.Instance.deserialize
    - traitlets.Instance.feed_identities
    - buffers.insert
    - offsets.append
    - msg.pop
    - jupyter_server.services.kernels.connection.base.serialize_binary_message
    - struct.pack
    - msg.copy
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f80246e45b0>
    argNames:
    - msg_or_list
    - channel
    - pack
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 80
    functionName: jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 8
    functionsReached:
    - <builtin>.len
    - offsets.append
    - channel.encode
    - traitlets.Instance.pack
    - offset.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: traitlets.Any.on_recv
    functionSourceFile: traitlets
    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: 2
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.request_kernel_info.<lambda1>
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - protocol_version.split
    - info.get
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._finish_kernel_info
    - traitlets.Instance.done
    - traitlets.Instance.set_result
    - <builtin>.int
    - f.result
    - traitlets.config.LoggingConfigurable.log.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: f.result
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 622
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._finish_kernel_info
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 2
    functionsReached:
    - protocol_version.split
    - info.get
    - traitlets.Instance.done
    - traitlets.Instance.set_result
    - <builtin>.int
    - traitlets.config.LoggingConfigurable.log.info
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 597
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._handle_kernel_info_reply
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.error
    - protocol_version.split
    - traitlets.Instance.feed_identities
    - info.get
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._finish_kernel_info
    - traitlets.Any.close
    - traitlets.Instance.done
    - traitlets.Instance.set_result
    - <builtin>.int
    - traitlets.Instance.deserialize
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.log.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: traitlets.Any.close
    functionSourceFile: traitlets
    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: protocol_version.split
    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
    - error_message
    - parent_header
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 637
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_stderr
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 3
    functionsReached:
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - <builtin>.len
    - json.dumps
    - offsets.append
    - traitlets.Instance.msg
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - channel.encode
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.Instance.pack
    - offset.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: <builtin>.sum
    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: textwrap.dedent
    functionSourceFile: textwrap
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - status
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 767
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._send_status_message
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 2
    functionsReached:
    - traitlets.Dict.get
    - json.dumps
    - <builtin>.len
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - iopub.closed
    - iopub.flush
    - offsets.append
    - traitlets.Instance.msg
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - channel.encode
    - traitlets.Instance.pack
    - offset.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: iopub.closed
    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: iopub.flush
    functionSourceFile: <builtin>
    functionUses: 3
    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: 3
    functionLinenumber: 783
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.on_kernel_restarted
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - traitlets.Dict.get
    - <builtin>.len
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - json.dumps
    - iopub.closed
    - iopub.flush
    - offsets.append
    - traitlets.Instance.msg
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._send_status_message
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - channel.encode
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.Instance.pack
    - offset.to_bytes
    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: 788
    functionName: jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.on_restart_failed
    functionSourceFile: jupyter_server.services.kernels.connection.channels
    functionUses: 0
    functionsReached:
    - traitlets.Dict.get
    - traitlets.config.LoggingConfigurable.log.error
    - json.dumps
    - jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1
    - <builtin>.len
    - iopub.closed
    - iopub.flush
    - offsets.append
    - traitlets.Instance.msg
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._send_status_message
    - jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message
    - channel.encode
    - traitlets.Instance.pack
    - offset.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: traitlets.Instance.pack
    functionSourceFile: traitlets
    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: abc.ABC.register
    functionSourceFile: abc
    functionUses: 2
    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: jupyter_server.services.kernels.websocket
    functionSourceFile: jupyter_server.services.kernels.websocket
    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: 22
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.kernel_websocket_connection_class
    functionSourceFile: jupyter_server.services.kernels.websocket
    functionUses: 2
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    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: 26
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.set_default_headers
    functionSourceFile: jupyter_server.services.kernels.websocket
    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: 32
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.get_compression_options
    functionSourceFile: jupyter_server.services.kernels.websocket
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.settings.get
    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: 2
    functionLinenumber: 36
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.pre_get
    functionSourceFile: jupyter_server.services.kernels.websocket
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.get_argument
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.settings.get
    - <builtin>.hasattr
    - jupyter_server.services.kernels.websocket.KernelWebsocketHandler.kernel_websocket_connection_class
    linkageType: 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: jupyter_server.services.kernels.websocket.KernelWebsocketHandler
    functionSourceFile: jupyter_server.services.kernels.websocket
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.setattr
    - functools.wraps
    - jupyter_server.auth.decorator.ws_authenticated
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 62
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.get
    functionSourceFile: jupyter_server.services.kernels.websocket
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.get_argument
    - jupyter_core.utils.ensure_async
    - <builtin>.super
    - tornado.web.RequestHandler.settings.get
    - jupyter_server.services.kernels.websocket.KernelWebsocketHandler.pre_get
    - <builtin>.hasattr
    - jupyter_server.services.kernels.websocket.KernelWebsocketHandler.kernel_websocket_connection_class
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 68
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.open
    functionSourceFile: jupyter_server.services.kernels.websocket
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - ws_message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 77
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.on_message
    functionSourceFile: jupyter_server.services.kernels.websocket
    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: 0
    functionLinenumber: 81
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.on_close
    functionSourceFile: jupyter_server.services.kernels.websocket
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - subprotocols
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 86
    functionName: jupyter_server.services.kernels.websocket.KernelWebsocketHandler.select_subprotocol
    functionSourceFile: jupyter_server.services.kernels.websocket
    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: 0
    functionLinenumber: -1
    functionName: jupyter_server.log
    functionSourceFile: jupyter_server.log
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - uri
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 23
    functionName: jupyter_server.log._scrub_uri
    functionSourceFile: jupyter_server.log
    functionUses: 1
    functionsReached:
    - urllib.parse.urlparse.query.split
    - s.partition
    - urllib.parse.urlparse._replace
    - <builtin>.enumerate
    - urllib.parse.urlunparse
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.urlparse.query.split
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.partition
    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: urllib.parse.urlparse._replace
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlunparse
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - handler
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 44
    functionName: jupyter_server.log.log_request
    functionSourceFile: jupyter_server.log
    functionUses: 0
    functionsReached:
    - urllib.parse.urlparse.query.split
    - tornado.log.access_log.warning
    - tornado.log.access_log.info
    - jupyter_server.log._scrub_uri
    - handler.get_status
    - notebook.prometheus.metrics.HTTP_REQUEST_DURATION_SECONDS.labels
    - tornado.log.access_log.error
    - prometheus_client.Histogram.labels
    - msg.format
    - urllib.parse.urlunparse
    - handler.request.request_time
    - <builtin>.isinstance
    - request.headers.get
    - <builtin>.type
    - urllib.parse.urlparse._replace
    - s.partition
    - jupyter_server.prometheus.log_functions.prometheus_log_method
    - tornado.log.access_log.debug
    - json.dumps
    - <builtin>.enumerate
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.get_status
    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.request.request_time
    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: request.headers.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tornado.log.access_log.info
    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.log.access_log.warning
    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.log.access_log.error
    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.log.access_log.debug
    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:
    - handler
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 6
    functionName: jupyter_server.prometheus.log_functions.prometheus_log_method
    functionSourceFile: jupyter_server.prometheus.log_functions
    functionUses: 1
    functionsReached:
    - handler.get_status
    - notebook.prometheus.metrics.HTTP_REQUEST_DURATION_SECONDS.labels
    - prometheus_client.Histogram.labels
    - handler.request.request_time
    - <builtin>.type
    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: jupyter_server.prometheus.log_functions
    functionSourceFile: jupyter_server.prometheus.log_functions
    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: prometheus_client.Histogram.labels
    functionSourceFile: prometheus_client
    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: notebook.prometheus.metrics.HTTP_REQUEST_DURATION_SECONDS.labels
    functionSourceFile: notebook
    functionUses: 2
    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: jupyter_server.extension.manager
    functionSourceFile: jupyter_server.extension.manager
    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: jupyter_server.extension.manager.ExtensionPoint
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - traitlets.Any
    - traitlets.validate
    - traitlets.Bool
    - traitlets.Dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposed
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 28
    functionName: jupyter_server.extension.manager.ExtensionPoint._valid_metadata
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - importlib.import_module
    linkageType: pythonLinkage
    raised:
    - ExtensionMetadataError
    - ExtensionModuleNotFound
    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: 52
    functionName: jupyter_server.extension.manager.ExtensionPoint.linked
    functionSourceFile: jupyter_server.extension.manager
    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: 63
    functionName: jupyter_server.extension.manager.ExtensionPoint.app
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    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: 68
    functionName: jupyter_server.extension.manager.ExtensionPoint.config
    functionSourceFile: jupyter_server.extension.manager
    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: 78
    functionName: jupyter_server.extension.manager.ExtensionPoint.module_name
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    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: 85
    functionName: jupyter_server.extension.manager.ExtensionPoint.name
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - traitlets.Dict.get
    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: 96
    functionName: jupyter_server.extension.manager.ExtensionPoint.module
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    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: 100
    functionName: jupyter_server.extension.manager.ExtensionPoint._get_linker
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 2
    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: jupyter_server.extension.manager.ExtensionPoint._get_linker.<lambda1>
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    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: 114
    functionName: jupyter_server.extension.manager.ExtensionPoint._get_loader
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 2
    functionsReached:
    - jupyter_server.extension.utils.get_loader
    - warnings.warn
    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 0x7f8024efb370>
    argNames:
    - obj
    - logger
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 24
    functionName: jupyter_server.extension.utils.get_loader
    functionSourceFile: jupyter_server.extension.utils
    functionUses: 3
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised:
    - ExtensionLoadingError
    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: 122
    functionName: jupyter_server.extension.manager.ExtensionPoint.validate
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPoint._get_linker
    - jupyter_server.extension.manager.ExtensionPoint._get_loader
    - jupyter_server.extension.utils.get_loader
    - warnings.warn
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 132
    functionName: jupyter_server.extension.manager.ExtensionPoint.link
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPoint._get_linker
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 144
    functionName: jupyter_server.extension.manager.ExtensionPoint.load
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.utils.get_loader
    - warnings.warn
    - jupyter_server.extension.manager.ExtensionPoint._get_loader
    linkageType: 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: jupyter_server.extension.manager.ExtensionPackage
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - traitlets.Bool
    - traitlets.Dict
    - traitlets.default
    - traitlets.List
    - traitlets.Any
    - traitlets.Unicode
    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: 178
    functionName: jupyter_server.extension.manager.ExtensionPackage._load_version
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 183
    functionName: jupyter_server.extension.manager.ExtensionPackage.__init__
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 12
    functionsReached:
    - importlib.import_module
    - traitlets.HasTraits.__init__
    - module._jupyter_server_extension_paths
    - jupyter_server.extension.utils.get_metadata
    - <builtin>.super
    - time.perf_counter
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - module._jupyter_server_extension_points
    - traitlets.config.LoggingConfigurable.log.debug
    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: 189
    functionName: jupyter_server.extension.manager.ExtensionPackage._load_metadata
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 13
    functionsReached:
    - importlib.import_module
    - traitlets.HasTraits.__init__
    - module._jupyter_server_extension_paths
    - jupyter_server.extension.utils.get_metadata
    - time.perf_counter
    - traitlets.config.LoggingConfigurable.log.warning
    - module._jupyter_server_extension_points
    - traitlets.config.LoggingConfigurable.log.debug
    linkageType: pythonLinkage
    raised:
    - ExtensionModuleNotFound
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f802437d490>
    argNames:
    - package_name
    - logger
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 54
    functionName: jupyter_server.extension.utils.get_metadata
    functionSourceFile: jupyter_server.extension.utils
    functionUses: 14
    functionsReached:
    - importlib.import_module
    - module._jupyter_server_extension_paths
    - time.perf_counter
    - traitlets.config.LoggingConfigurable.log.warning
    - module._jupyter_server_extension_points
    - traitlets.config.LoggingConfigurable.log.debug
    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: 209
    functionName: jupyter_server.extension.manager.ExtensionPackage.validate
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 4
    functionsReached:
    - traitlets.Dict.values
    - extension.validate
    - <builtin>.all
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: extension.validate
    functionSourceFile: <builtin>
    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
    - point_name
    - serverapp
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 213
    functionName: jupyter_server.extension.manager.ExtensionPackage.link_point
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 1
    functionsReached:
    - traitlets.Dict.get
    - point.link
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: point.link
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - point_name
    - serverapp
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 220
    functionName: jupyter_server.extension.manager.ExtensionPackage.load_point
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 1
    functionsReached:
    - traitlets.config.LoggingConfigurable.load
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.LoggingConfigurable.load
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 225
    functionName: jupyter_server.extension.manager.ExtensionPackage.link_all_points
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPackage.link_point
    - point.link
    - traitlets.Dict.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 230
    functionName: jupyter_server.extension.manager.ExtensionPackage.load_all_points
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.manager.ExtensionPackage.load_point
    - traitlets.config.LoggingConfigurable.load
    linkageType: 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: jupyter_server.extension.manager.ExtensionManager
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - traitlets.observe
    - traitlets.Dict
    - traitlets.Any
    - traitlets.default
    - traitlets.Instance
    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: 7
    functionLinenumber: 248
    functionName: jupyter_server.extension.manager.ExtensionManager._load_default_config_manager
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - importlib.import_module
    - traitlets.Dict.items
    - jupyter_server.extension.manager.ExtensionManager._load_config_manager
    - new.items
    - <builtin>.super
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - os.path.join
    - jupyter_server.extension.utils.get_metadata
    - glob.glob
    - <builtin>.sorted
    - time.perf_counter
    - module._jupyter_server_extension_points
    - <builtin>.isinstance
    - jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.services.config.manager.ConfigManager.get
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - module._jupyter_server_extension_paths
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - traitlets.HasTraits.__init__
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - os.path.getsize
    - traitlets.config.LoggingConfigurable.__init__
    - traitlets.config.LoggingConfigurable.log.warning
    - data.get
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - os.path.isfile
    - jupyter_server.config_manager.recursive_update
    - json.load
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - config_manager
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 308
    functionName: jupyter_server.extension.manager.ExtensionManager._load_config_manager
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 2
    functionsReached:
    - <builtin>.open
    - importlib.import_module
    - traitlets.Dict.items
    - new.items
    - <builtin>.super
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - os.path.join
    - jupyter_server.extension.utils.get_metadata
    - glob.glob
    - <builtin>.sorted
    - time.perf_counter
    - module._jupyter_server_extension_points
    - <builtin>.isinstance
    - jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.services.config.manager.ConfigManager.get
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - module._jupyter_server_extension_paths
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - traitlets.HasTraits.__init__
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - os.path.getsize
    - traitlets.config.LoggingConfigurable.__init__
    - traitlets.config.LoggingConfigurable.log.warning
    - data.get
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - os.path.isfile
    - jupyter_server.config_manager.recursive_update
    - json.load
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 254
    functionName: jupyter_server.extension.manager.ExtensionManager._config_manager_changed
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - importlib.import_module
    - traitlets.Dict.items
    - jupyter_server.extension.manager.ExtensionManager._load_config_manager
    - new.items
    - <builtin>.super
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - os.path.join
    - jupyter_server.extension.utils.get_metadata
    - glob.glob
    - <builtin>.sorted
    - time.perf_counter
    - module._jupyter_server_extension_points
    - <builtin>.isinstance
    - jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.services.config.manager.ConfigManager.get
    - jupyter_server.extension.manager.ExtensionManager.add_extension
    - module._jupyter_server_extension_paths
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - traitlets.HasTraits.__init__
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - os.path.getsize
    - traitlets.config.LoggingConfigurable.__init__
    - traitlets.config.LoggingConfigurable.log.warning
    - data.get
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - os.path.isfile
    - jupyter_server.config_manager.recursive_update
    - json.load
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    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: 270
    functionName: jupyter_server.extension.manager.ExtensionManager.sorted_extensions
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - <builtin>.dict
    - traitlets.Dict.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: traitlets.Dict.items
    functionSourceFile: traitlets
    functionUses: 8
    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: 287
    functionName: jupyter_server.extension.manager.ExtensionManager.extension_apps
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - extension.extension_points.values
    - traitlets.Dict.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: extension.extension_points.values
    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: 1
    functionLinenumber: 295
    functionName: jupyter_server.extension.manager.ExtensionManager.extension_points
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - traitlets.Dict.values
    - value.extension_points.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: value.extension_points.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - config_manager
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 303
    functionName: jupyter_server.extension.manager.ExtensionManager.from_config_manager
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached: []
    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 0x7f8024ca24f0>
    argNames:
    - self
    - extension_name
    - enabled
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 318
    functionName: jupyter_server.extension.manager.ExtensionManager.add_extension
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 6
    functionsReached:
    - importlib.import_module
    - traitlets.HasTraits.__init__
    - module._jupyter_server_extension_paths
    - jupyter_server.extension.utils.get_metadata
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - <builtin>.super
    - time.perf_counter
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - module._jupyter_server_extension_points
    - traitlets.config.LoggingConfigurable.log.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 339
    functionName: jupyter_server.extension.manager.ExtensionManager.link_extension
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 3
    functionsReached:
    - traitlets.Dict.get
    - extension.link_all_points
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.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: extension.link_all_points
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 354
    functionName: jupyter_server.extension.manager.ExtensionManager.load_extension
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 3
    functionsReached:
    - traitlets.Dict.get
    - extension.load_all_points
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.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: extension.load_all_points
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - apps
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 370
    functionName: jupyter_server.extension.manager.ExtensionManager.stop_extension
    functionSourceFile: jupyter_server.extension.manager
    functionUses: 0
    functionsReached:
    - app.stop_extension
    - traitlets.config.LoggingConfigurable.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: app.stop_extension
    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: itertools.starmap
    functionSourceFile: itertools
    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: app.current_activity
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.extension.utils
    functionSourceFile: jupyter_server.extension.utils
    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: time.perf_counter
    functionSourceFile: time
    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: module._jupyter_server_extension_points
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: module._jupyter_server_extension_paths
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 109
    functionName: jupyter_server.extension.utils.validate_extension
    functionSourceFile: jupyter_server.extension.utils
    functionUses: 0
    functionsReached:
    - importlib.import_module
    - traitlets.HasTraits.__init__
    - module._jupyter_server_extension_paths
    - jupyter_server.extension.utils.get_metadata
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - <builtin>.super
    - time.perf_counter
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - module._jupyter_server_extension_points
    - traitlets.config.LoggingConfigurable.log.debug
    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: jupyter_server.services.sessions.sessionmanager
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - typing.NewType
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 47
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecord.__eq__
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.any
    - <builtin>.all
    linkageType: pythonLinkage
    raised:
    - KernelSessionRecordConflict
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 79
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecord.update
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - dataclasses.fields
    - <builtin>.getattr
    - <builtin>.hasattr
    - <builtin>.isinstance
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised:
    - KernelSessionRecordConflict
    - 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: dataclasses.fields
    functionSourceFile: dataclasses
    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
    - records
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 105
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__init__
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 1
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - record
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 145
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.update
    functionSourceFile: ''
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 111
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__str__
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - record
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 115
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__contains__
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    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: 126
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__len__
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - record
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 130
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.get
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - record
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 153
    functionName: jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.remove
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    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: 2
    functionLinenumber: -1
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - <builtin>.all
    - traitlets.validate
    - inspect.isclass
    - <builtin>.super
    - traitlets.Unicode.tag
    - traitlets.Instance
    - <builtin>.isinstance
    - jupyter_server.traittypes.InstanceFromClasses.__init__
    - traitlets.Unicode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 175
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager._validate_database_filepath
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - path.is_dir
    - <builtin>.open
    - pathlib.Path
    - path.exists
    - f.read
    - header.startswith
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/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.exists
    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: path.is_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: header.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f8024d694c0>
    - <ast.Constant object at 0x7f8024d69250>
    - <ast.Constant object at 0x7f8024d692b0>
    argNames:
    - self
    - klasses
    - args
    - kw
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 135
    functionName: jupyter_server.traittypes.InstanceFromClasses.__init__
    functionSourceFile: jupyter_server.traittypes
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - inspect.isclass
    - <builtin>.super
    - <builtin>.all
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 203
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.__init__
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__init__
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.update
    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: 0
    functionLinenumber: 214
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.cursor
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    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: 225
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.connection
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - pysqlite2.dbapi2.connect
    - sqlite3.connect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pysqlite2.dbapi2.connect
    functionSourceFile: pysqlite2
    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: sqlite3.connect
    functionSourceFile: sqlite3
    functionUses: 1
    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: 0
    functionLinenumber: 233
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.close
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    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: 239
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.__del__
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.SessionManager.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 243
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.session_exists
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - traitlets.Instance.kernel_model
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8024dd0250>
    argNames:
    - self
    - row
    - tolerate_culled
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 473
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 7
    functionsReached:
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - traitlets.Instance.kernel_model
    linkageType: pythonLinkage
    raised:
    - KeyError
    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: 259
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.new_session_id
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 1
    functionsReached:
    - <builtin>.str
    - uuid.uuid4
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f8025099160>
    - <ast.Constant object at 0x7f8025099b80>
    - <ast.Constant object at 0x7f8025099310>
    - <ast.Constant object at 0x7f8025099370>
    - <ast.Constant object at 0x7f80250996d0>
    argNames:
    - self
    - path
    - name
    - type
    - kernel_name
    - kernel_id
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 263
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.create_session
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - typing.cast
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.update
    - traitlets.ClassBasedTraitType.get_kernel_path
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.remove
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_kernel_env
    - conditions.append
    - os.path.join
    - <builtin>.str
    - jupyter_server.services.sessions.sessionmanager.SessionManager.start_kernel_for_session
    - jupyter_server.services.sessions.sessionmanager.SessionManager.save_session
    - kwargs.items
    - <builtin>.isinstance
    - traitlets.Instance.kernel_model
    - traitlets.Instance.start_kernel
    - kwargs.values
    - <builtin>.list
    - jupyter_server.services.sessions.sessionmanager.SessionManager.new_session_id
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    - traitlets.Instance.cwd_for_path
    - jupyter_core.utils.ensure_async
    - q.append
    - uuid.uuid4
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_session
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - session_id
    - path
    - name
    - type
    - kernel_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 315
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.start_kernel_for_session
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 1
    functionsReached:
    - typing.cast
    - traitlets.Instance.cwd_for_path
    - traitlets.Instance.start_kernel
    - jupyter_core.utils.ensure_async
    - traitlets.ClassBasedTraitType.get_kernel_path
    - <builtin>.isinstance
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_kernel_env
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f8024e964c0>
    - <ast.Constant object at 0x7f8024e96d30>
    - <ast.Constant object at 0x7f8024e96700>
    - <ast.Constant object at 0x7f8024e965e0>
    argNames:
    - self
    - session_id
    - path
    - name
    - type
    - kernel_id
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 350
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.save_session
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 1
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - kwargs.values
    - <builtin>.list
    - jupyter_core.utils.ensure_async
    - q.append
    - conditions.append
    - kwargs.items
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    - traitlets.Instance.kernel_model
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_session
    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 0x7f8024a5b910>
    argNames:
    - self
    - path
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 296
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.get_kernel_env
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - traitlets.Instance.cwd_for_path
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.cwd_for_path
    functionSourceFile: traitlets
    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: traitlets.ClassBasedTraitType.get_kernel_path
    functionSourceFile: traitlets
    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: traitlets.Instance.start_kernel
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 382
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.get_session
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 4
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - kwargs.values
    - <builtin>.list
    - jupyter_core.utils.ensure_async
    - q.append
    - conditions.append
    - kwargs.items
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    - traitlets.Instance.kernel_model
    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: conditions.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.values
    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: q.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - session_id
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 433
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.update_session
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.cwd_for_path
    - sets.append
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - kwargs.values
    - <builtin>.list
    - traitlets.Instance.update_env
    - kwargs.items
    - jupyter_core.utils.ensure_async
    - q.append
    - conditions.append
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    - <builtin>.hasattr
    - <builtin>.isinstance
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_kernel_env
    - traitlets.Instance.kernel_model
    - os.path.join
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_session
    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: sets.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: traitlets.Instance.update_env
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 469
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    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: traitlets.Instance.kernel_model
    functionSourceFile: traitlets
    functionUses: 8
    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: 2
    functionLinenumber: 509
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.list_sessions
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - jupyter_core.utils.ensure_async
    - result.append
    - c.fetchall
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    - traitlets.Instance.kernel_model
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: c.fetchall
    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: result.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - session_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 524
    functionName: jupyter_server.services.sessions.sessionmanager.SessionManager.delete_session
    functionSourceFile: jupyter_server.services.sessions.sessionmanager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled
    - traitlets.Instance.kernel_model
    - kwargs.values
    - <builtin>.list
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.update
    - jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.remove
    - q.append
    - kwargs.items
    - jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model
    - conditions.append
    - traitlets.Instance.shutdown_kernel
    - jupyter_server.services.sessions.sessionmanager.SessionManager.get_session
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.shutdown_kernel
    functionSourceFile: traitlets
    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: jupyter_server.traittypes
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Name object at 0x7f8025286580>
    - <ast.Constant object at 0x7f8025286070>
    argNames:
    - self
    - default_value
    - klasses
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 15
    functionName: jupyter_server.traittypes.TypeFromClasses.__init__
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.super
    - inspect.isclass
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/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: 3
    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: 1
    functionLinenumber: 62
    functionName: jupyter_server.traittypes.TypeFromClasses.subclass_from_klasses
    functionSourceFile: jupyter_server.traittypes
    functionUses: 1
    functionsReached:
    - <builtin>.any
    - <builtin>.issubclass
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 66
    functionName: jupyter_server.traittypes.TypeFromClasses.validate
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - traitlets.ClassBasedTraitType._resolve_string
    - traitlets.ClassBasedTraitType.error
    - <builtin>.issubclass
    - jupyter_server.traittypes.TypeFromClasses.subclass_from_klasses
    - <builtin>.isinstance
    - <builtin>.any
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.ClassBasedTraitType._resolve_string
    functionSourceFile: traitlets
    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: traitlets.ClassBasedTraitType.error
    functionSourceFile: traitlets
    functionUses: 2
    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: 85
    functionName: jupyter_server.traittypes.TypeFromClasses.info
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - result.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: result.strip
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 98
    functionName: jupyter_server.traittypes.TypeFromClasses.instance_init
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - traitlets.ClassBasedTraitType._resolve_string
    - <builtin>.isinstance
    - jupyter_server.traittypes.TypeFromClasses._resolve_classes
    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: 103
    functionName: jupyter_server.traittypes.TypeFromClasses._resolve_classes
    functionSourceFile: jupyter_server.traittypes
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - traitlets.ClassBasedTraitType._resolve_string
    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: 120
    functionName: jupyter_server.traittypes.TypeFromClasses.default_value_repr
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.repr
    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: 1
    functionLinenumber: 183
    functionName: jupyter_server.traittypes.InstanceFromClasses.instance_from_importable_klasses
    functionSourceFile: jupyter_server.traittypes
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 187
    functionName: jupyter_server.traittypes.InstanceFromClasses.validate
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.any
    - jupyter_server.traittypes.InstanceFromClasses.instance_from_importable_klasses
    - traitlets.ClassBasedTraitType.error
    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: 194
    functionName: jupyter_server.traittypes.InstanceFromClasses.info
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - traitlets.utils.descriptions.describe
    - result.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.utils.descriptions.describe
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 209
    functionName: jupyter_server.traittypes.InstanceFromClasses.instance_init
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - traitlets.ClassBasedTraitType._resolve_string
    - jupyter_server.traittypes.InstanceFromClasses._resolve_classes
    - <builtin>.isinstance
    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: 214
    functionName: jupyter_server.traittypes.InstanceFromClasses._resolve_classes
    functionSourceFile: jupyter_server.traittypes
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - traitlets.ClassBasedTraitType._resolve_string
    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: 229
    functionName: jupyter_server.traittypes.InstanceFromClasses.make_dynamic_default
    functionSourceFile: jupyter_server.traittypes
    functionUses: 1
    functionsReached:
    - traitlets.ClassBasedTraitType.klass
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.ClassBasedTraitType.klass
    functionSourceFile: traitlets
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 237
    functionName: jupyter_server.traittypes.InstanceFromClasses.default_value_repr
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - traitlets.ClassBasedTraitType.klass
    - jupyter_server.traittypes.InstanceFromClasses.make_dynamic_default
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 241
    functionName: jupyter_server.traittypes.InstanceFromClasses.from_string
    functionSourceFile: jupyter_server.traittypes
    functionUses: 0
    functionsReached:
    - ast.literal_eval
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: jupyter_server.gateway
    functionSourceFile: jupyter_server.gateway
    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: 0
    functionLinenumber: -1
    functionName: jupyter_server._sysinfo
    functionSourceFile: jupyter_server._sysinfo
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - pkg_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 15
    functionName: jupyter_server._sysinfo.pkg_commit_hash
    functionSourceFile: jupyter_server._sysinfo
    functionUses: 8
    functionsReached:
    - repo_commit.strip
    - proc.communicate
    - os.path.dirname
    - subprocess.Popen
    - os.path.exists
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: proc.communicate
    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: repo_commit.strip
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - pkg_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 63
    functionName: jupyter_server._sysinfo.pkg_info
    functionSourceFile: jupyter_server._sysinfo
    functionUses: 7
    functionsReached:
    - repo_commit.strip
    - proc.communicate
    - os.path.dirname
    - jupyter_server._sysinfo.pkg_commit_hash
    - subprocess.Popen
    - platform.platform
    - os.path.exists
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.platform
    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: jupyter_server.services.contents.largefilemanager
    functionSourceFile: jupyter_server.services.contents.largefilemanager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 9
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8024aa32e0>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 16
    functionName: jupyter_server.services.contents.largefilemanager.LargeFileManager.save
    functionSourceFile: jupyter_server.services.contents.largefilemanager
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - nbformat.validate
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os_path.startswith
    - path.rsplit
    - os.path.join
    - validation_error.get
    - <builtin>.str
    - os.path.isdir
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_core.paths.is_file_hidden
    - <builtin>.isinstance
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.fileio.async_replace_file
    - model.get
    - <builtin>.any
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - base64.b64decode
    - os.readlink
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - bcontent.decode
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - nbformat.v4.new_notebook.encode
    - os.path.isfile
    - <builtin>.len
    - json.dumps
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.largefilemanager.LargeFileManager._save_large_file
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_api_path
    - os.path.split
    - os.lstat
    - traitlets.Instance.mark_cells
    - stat.S_ISDIR
    - functools.partial
    - anyio.to_thread.run_sync
    - os_path.strip
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - mimetypes.guess_type
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - model.update
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISREG
    - os.path.exists
    - os.path.splitdrive
    - os.path.dirname
    - jupyter_server.utils.to_os_path
    - <builtin>.open
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_invalid
    - h.update
    - <builtin>.super
    - datetime.datetime
    - os.path.normpath
    - h.hexdigest
    - os.path.islink
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - typing.NewType
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - os.path.abspath
    - path.endswith
    - path.strip
    - os.access
    - f.write
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: model.get
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - model
    - path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 286
    functionName: jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    functionSourceFile: ''
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 250
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 73
    functionsReached:
    - typing.NewType
    - os.path.splitdrive
    - <builtin>.str
    - jupyter_server.utils.to_os_path
    - os.lstat
    - os.path.abspath
    - os.path.join
    - os.path.normpath
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - os_path
    - content
    - format
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 62
    functionName: jupyter_server.services.contents.largefilemanager.LargeFileManager._save_large_file
    functionSourceFile: jupyter_server.services.contents.largefilemanager
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - <builtin>.open
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - base64.b64decode
    - os.path.islink
    - os.path.dirname
    - os.readlink
    - jupyter_server.utils.to_api_path
    - os_path.startswith
    - os.path.join
    - nbformat.v4.new_notebook.encode
    - typing.NewType
    - f.write
    - os_path.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f80244b0af0>
    - <ast.Constant object at 0x7f80244b0880>
    - <ast.Constant object at 0x7f80244b0be0>
    - <ast.Constant object at 0x7f80244b07c0>
    argNames:
    - self
    - path
    - content
    - type
    - format
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 412
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.get
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 5
    functionsReached:
    - datetime.datetime.fromtimestamp
    - nbformat.validate
    - stat.S_ISDIR
    - traitlets.Instance.mark_cells
    - jupyter_server.services.contents.fileio.path_to_invalid
    - hashlib.new
    - contents.append
    - h.update
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os_path.startswith
    - functools.partial
    - path.rsplit
    - datetime.datetime
    - os.path.join
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.normpath
    - h.hexdigest
    - <builtin>.str
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.strip
    - validation_error.get
    - os.path.isdir
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - base64.encodebytes.decode
    - mimetypes.guess_type
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - model.update
    - jupyter_core.paths.is_file_hidden
    - typing.NewType
    - traitlets.Instance.check_signature
    - <builtin>.isinstance
    - os.path.abspath
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - stat.S_ISREG
    - path.endswith
    - path.strip
    - bcontent.decode
    - os.path.exists
    - os.access
    - os.path.isfile
    - json.dumps
    - os.path.splitdrive
    - <builtin>.len
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.utils.to_api_path
    - os.path.split
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - os.lstat
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f802528ff10>
    - <ast.Constant object at 0x7f802528f490>
    - <ast.Constant object at 0x7f802528fe80>
    - <ast.Constant object at 0x7f802528f820>
    argNames:
    - self
    - path
    - content
    - type
    - format
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 883
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 21
    functionsReached:
    - datetime.datetime.fromtimestamp
    - nbformat.validate
    - stat.S_ISDIR
    - traitlets.Instance.mark_cells
    - jupyter_server.services.contents.fileio.path_to_invalid
    - hashlib.new
    - contents.append
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os_path.startswith
    - functools.partial
    - path.rsplit
    - datetime.datetime
    - os.path.join
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.normpath
    - h.hexdigest
    - <builtin>.str
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.strip
    - validation_error.get
    - os.path.isdir
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - base64.encodebytes.decode
    - mimetypes.guess_type
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - model.update
    - jupyter_core.paths.is_file_hidden
    - typing.NewType
    - traitlets.Instance.check_signature
    - <builtin>.isinstance
    - os.path.abspath
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - stat.S_ISREG
    - path.endswith
    - path.strip
    - bcontent.decode
    - os.path.exists
    - os.access
    - os.path.isfile
    - json.dumps
    - os.path.splitdrive
    - <builtin>.len
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.utils.to_api_path
    - os.path.split
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - os.lstat
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - model
    - os_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 308
    functionName: jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    functionSourceFile: ''
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - HTTPError
    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: 78
    functionName: jupyter_server.services.contents.manager.ContentsManager.emit
    functionSourceFile: ''
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nbformat.v4.new_notebook.encode
    functionSourceFile: nbformat
    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: base64.b64decode
    functionSourceFile: base64
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8025fe91c0>
    argNames:
    - self
    - os_path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 227
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 67
    functionsReached:
    - <builtin>.len
    - jupyter_server.utils.to_api_path
    - os_path.startswith
    - typing.NewType
    - os_path.strip
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/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.readlink
    functionSourceFile: os
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 9
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f80248919a0>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 88
    functionName: jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    functionSourceFile: jupyter_server.services.contents.largefilemanager
    functionUses: 6
    functionsReached:
    - datetime.datetime.fromtimestamp
    - nbformat.validate
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os_path.startswith
    - path.rsplit
    - os.path.join
    - validation_error.get
    - <builtin>.str
    - os.path.isdir
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_core.paths.is_file_hidden
    - <builtin>.isinstance
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.fileio.async_replace_file
    - model.get
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - <builtin>.any
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - base64.b64decode
    - os.readlink
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - bcontent.decode
    - nbformat.v4.new_notebook.encode
    - os.path.isfile
    - json.dumps
    - <builtin>.len
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_api_path
    - os.path.split
    - os.lstat
    - traitlets.Instance.mark_cells
    - stat.S_ISDIR
    - functools.partial
    - anyio.to_thread.run_sync
    - os_path.strip
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - mimetypes.guess_type
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - model.update
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISREG
    - os.path.exists
    - os.path.splitdrive
    - os.path.dirname
    - jupyter_server.utils.to_os_path
    - <builtin>.open
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_invalid
    - h.update
    - <builtin>.super
    - datetime.datetime
    - os.path.normpath
    - h.hexdigest
    - os.path.islink
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - typing.NewType
    - os.path.abspath
    - path.endswith
    - path.strip
    - os.access
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - os_path
    - content
    - format
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 135
    functionName: jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    functionSourceFile: jupyter_server.services.contents.largefilemanager
    functionUses: 7
    functionsReached:
    - <builtin>.len
    - <builtin>.open
    - os.path.islink
    - base64.b64decode
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.dirname
    - os.readlink
    - jupyter_server.utils.to_api_path
    - os_path.startswith
    - os.path.join
    - nbformat.v4.new_notebook.encode
    - typing.NewType
    - anyio.to_thread.run_sync
    - os_path.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: anyio.to_thread.run_sync
    functionSourceFile: anyio
    functionUses: 54
    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: jupyter_server.services.contents.filemanager
    functionSourceFile: jupyter_server.services.contents.filemanager
    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: jupyter_server.services.contents.filemanager.FileContentsManager
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - traitlets.Bool
    - traitlets.default
    - traitlets.validate
    - traitlets.Int
    - traitlets.Unicode
    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: 55
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._default_root_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - os.getcwd
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 61
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._validate_root_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - os.path.abspath
    - os.path.isabs
    - os.path.isdir
    linkageType: pythonLinkage
    raised:
    - TraitError
    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: 1
    functionLinenumber: 71
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._default_preferred_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - pathlib.Path.relative_to
    - pathlib.Path
    - warnings.warn
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 95
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._validate_preferred_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - jupyter_server.utils.to_api_path
    - <builtin>.super
    - os_path.startswith
    - typing.NewType
    - os_path.strip
    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: 101
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._checkpoints_class_default
    functionSourceFile: jupyter_server.services.contents.filemanager
    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: 123
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._files_handler_class_default
    functionSourceFile: jupyter_server.services.contents.filemanager
    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: 127
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._files_handler_params_default
    functionSourceFile: jupyter_server.services.contents.filemanager
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 130
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 30
    functionsReached:
    - os.path.splitdrive
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - <builtin>.str
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - typing.NewType
    - os.path.join
    - os.path.normpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1087
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 38
    functionsReached:
    - os.path.splitdrive
    - <builtin>.str
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - typing.NewType
    - os.path.join
    - os.path.normpath
    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: 148
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 31
    functionsReached:
    - os.path.splitdrive
    - <builtin>.str
    - path.strip
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - os.access
    - typing.NewType
    - os.path.join
    - os.path.normpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.access
    functionSourceFile: os
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 170
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.file_exists
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - os.path.splitdrive
    - <builtin>.str
    - os.path.isfile
    - path.strip
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - typing.NewType
    - os.path.join
    - os.path.normpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 189
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.dir_exists
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - os.path.splitdrive
    - <builtin>.str
    - os.path.isdir
    - path.strip
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - typing.NewType
    - os.path.join
    - os.path.normpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 209
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.exists
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 23
    functionsReached:
    - os.path.splitdrive
    - <builtin>.str
    - path.strip
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - typing.NewType
    - os.path.join
    - os.path.normpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 228
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 26
    functionsReached:
    - datetime.datetime.fromtimestamp
    - os.path.splitdrive
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - <builtin>.str
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.utils.to_os_path
    - os.lstat
    - datetime.datetime
    - os.access
    - path.rsplit
    - typing.NewType
    - os.path.join
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.normpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.lstat
    functionSourceFile: os
    functionUses: 74
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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
    functionSourceFile: datetime
    functionUses: 27
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 8
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f802476ca30>
    argNames:
    - self
    - path
    - content
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 278
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._dir_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - nbformat.validate
    - stat.S_ISDIR
    - traitlets.Instance.mark_cells
    - hashlib.new
    - contents.append
    - jupyter_server.services.contents.fileio.path_to_invalid
    - h.update
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - os.listdir
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os_path.startswith
    - functools.partial
    - path.rsplit
    - datetime.datetime
    - os.path.join
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.normpath
    - anyio.to_thread.run_sync
    - h.hexdigest
    - <builtin>.str
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.strip
    - validation_error.get
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - os.path.isdir
    - stat.S_ISLNK
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - fnmatch.fnmatch
    - base64.encodebytes.decode
    - mimetypes.guess_type
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - model.update
    - typing.NewType
    - traitlets.Instance.check_signature
    - <builtin>.isinstance
    - os.path.abspath
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - stat.S_ISREG
    - path.endswith
    - path.strip
    - bcontent.decode
    - os.access
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - os.path.exists
    - os.path.isfile
    - json.dumps
    - os.path.splitdrive
    - <builtin>.len
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.path.split
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_ISLNK
    functionSourceFile: stat
    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: stat.S_ISREG
    functionSourceFile: stat
    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: stat.S_ISDIR
    functionSourceFile: stat
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 744
    functionName: jupyter_server.services.contents.manager.ContentsManager.should_list
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 22
    functionsReached:
    - <builtin>.any
    - fnmatch.fnmatch
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.paths.is_file_hidden
    functionSourceFile: jupyter_core
    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: contents.append
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f8024731b50>
    - <ast.Constant object at 0x7f80247313a0>
    - <ast.Constant object at 0x7f80247312e0>
    argNames:
    - self
    - path
    - content
    - format
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 342
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._file_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - hashlib.new
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os_path.startswith
    - path.rsplit
    - datetime.datetime
    - os.path.join
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os_path.strip
    - os.path.normpath
    - base64.encodebytes
    - h.hexdigest
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - base64.encodebytes.decode
    - mimetypes.guess_type
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - model.update
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - typing.NewType
    - os.path.abspath
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - path.strip
    - bcontent.decode
    - os.access
    - os.path.isfile
    - f.read
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f80247c47c0>
    argNames:
    - self
    - os_path
    - format
    - raw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 354
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 5
    functionsReached:
    - base64.encodebytes
    - <builtin>.len
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - base64.encodebytes.decode
    - jupyter_server.utils.to_api_path
    - bcontent.decode
    - f.read
    - os_path.startswith
    - os.path.isfile
    - os_path.strip
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: model.update
    functionSourceFile: <builtin>
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - byte_content
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 335
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 26
    functionsReached:
    - h.hexdigest
    - hashlib.new
    - h.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f80250cb8e0>
    - <ast.Constant object at 0x7f80250cb340>
    argNames:
    - self
    - path
    - content
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 382
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - nbformat.validate
    - traitlets.Instance.mark_cells
    - jupyter_server.services.contents.fileio.path_to_invalid
    - hashlib.new
    - h.update
    - nbformat.reads
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os_path.startswith
    - path.rsplit
    - os.path.join
    - datetime.datetime
    - os_path.strip
    - validation_error.get
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - h.hexdigest
    - base64.encodebytes
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.normpath
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - base64.encodebytes.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - model.update
    - traitlets.Instance.check_signature
    - <builtin>.isinstance
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - typing.NewType
    - os.path.abspath
    - jupyter_server.services.contents.fileio.replace_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - path.strip
    - bcontent.decode
    - os.path.exists
    - os.access
    - os.path.isfile
    - f.read
    - <builtin>.len
    - os.path.splitdrive
    - json.dumps
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - jupyter_server.utils.to_api_path
    - os.path.split
    - jupyter_server.utils.to_os_path
    - os.lstat
    - os.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f80253ee550>
    - <ast.Constant object at 0x7f80253ee460>
    - <ast.Constant object at 0x7f80253eeac0>
    argNames:
    - self
    - os_path
    - as_version
    - capture_validation_error
    - raw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 289
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 2
    functionsReached:
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.reads
    - os_path.startswith
    - os.path.join
    - os_path.strip
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - base64.encodebytes.decode
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.fileio.replace_file
    - bcontent.decode
    - os.path.exists
    - f.read
    - os.path.isfile
    - <builtin>.len
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - jupyter_server.utils.to_api_path
    - os.path.split
    - os.replace
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8024d69310>
    argNames:
    - self
    - nb
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 727
    functionName: jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 24
    functionsReached:
    - traitlets.Instance.mark_cells
    - traitlets.Instance.check_signature
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8024dd00d0>
    argNames:
    - self
    - model
    - validation_error
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 560
    functionName: jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 24
    functionsReached:
    - json.dumps
    - nbformat.validate
    - <builtin>.str
    - <builtin>.isinstance
    - validation_error.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 8
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8025d016a0>
    argNames:
    - self
    - path
    - content
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 750
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 21
    functionsReached:
    - datetime.datetime.fromtimestamp
    - nbformat.validate
    - stat.S_ISDIR
    - traitlets.Instance.mark_cells
    - hashlib.new
    - contents.append
    - jupyter_server.services.contents.fileio.path_to_invalid
    - h.update
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os_path.startswith
    - functools.partial
    - path.rsplit
    - anyio.to_thread.run_sync
    - datetime.datetime
    - os.path.join
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.normpath
    - h.hexdigest
    - <builtin>.str
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.strip
    - validation_error.get
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - os.path.isdir
    - stat.S_ISLNK
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - fnmatch.fnmatch
    - base64.encodebytes.decode
    - mimetypes.guess_type
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_core.paths.is_file_hidden
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - model.update
    - typing.NewType
    - traitlets.Instance.check_signature
    - <builtin>.isinstance
    - os.path.abspath
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISREG
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - path.endswith
    - path.strip
    - bcontent.decode
    - os.access
    - os.path.exists
    - os.path.isfile
    - json.dumps
    - os.path.splitdrive
    - <builtin>.len
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.path.split
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.endswith
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f802470a7c0>
    - <ast.Constant object at 0x7f802470a610>
    argNames:
    - self
    - path
    - content
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 855
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 22
    functionsReached:
    - datetime.datetime.fromtimestamp
    - nbformat.validate
    - traitlets.Instance.mark_cells
    - jupyter_server.services.contents.fileio.path_to_invalid
    - hashlib.new
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os_path.startswith
    - functools.partial
    - path.rsplit
    - anyio.to_thread.run_sync
    - os.path.join
    - datetime.datetime
    - validation_error.get
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - h.hexdigest
    - <builtin>.str
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.strip
    - os.path.normpath
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - base64.encodebytes.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - model.update
    - traitlets.Instance.check_signature
    - <builtin>.isinstance
    - typing.NewType
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - path.strip
    - bcontent.decode
    - os.path.exists
    - os.access
    - os.path.isfile
    - json.dumps
    - os.path.splitdrive
    - <builtin>.len
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.utils.to_api_path
    - os.path.split
    - jupyter_server.utils.to_os_path
    - os.lstat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f80246d45e0>
    - <ast.Constant object at 0x7f80246d4760>
    - <ast.Constant object at 0x7f80246d4b80>
    argNames:
    - self
    - path
    - content
    - format
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 815
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 22
    functionsReached:
    - datetime.datetime.fromtimestamp
    - hashlib.new
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os_path.startswith
    - path.rsplit
    - datetime.datetime
    - os.path.join
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - anyio.to_thread.run_sync
    - os_path.strip
    - h.hexdigest
    - <builtin>.str
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.normpath
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - base64.encodebytes.decode
    - mimetypes.guess_type
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - model.update
    - typing.NewType
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - path.strip
    - bcontent.decode
    - os.access
    - os.path.isfile
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f802508a2e0>
    argNames:
    - self
    - os_path
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 466
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._save_directory
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 1
    functionsReached:
    - os.mkdir
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os_path.startswith
    - os.path.join
    - os_path.strip
    - os.path.normpath
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isdir
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - path.strip
    - os.path.exists
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.mkdir
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 12
    IfCount: 9
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8025cff9a0>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 478
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.save
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - os.mkdir
    - datetime.datetime.fromtimestamp
    - nbformat.validate
    - contents.append
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os_path.startswith
    - path.rsplit
    - jupyter_server.services.contents.fileio.FileManagerMixin._save_notebook
    - os.path.join
    - traitlets.Instance.list_checkpoints
    - validation_error.get
    - <builtin>.str
    - os.path.isdir
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - base64.decodebytes
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server._tz.utcfromtimestamp
    - nbformat.write
    - jupyter_core.paths.is_file_hidden
    - <builtin>.isinstance
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.fileio.async_replace_file
    - model.get
    - <builtin>.any
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.manager.ContentsManager.create_checkpoint
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.readlink
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - bcontent.decode
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - nbformat.v4.new_notebook.encode
    - os.path.isfile
    - <builtin>.len
    - json.dumps
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_api_path
    - os.path.split
    - os.lstat
    - traitlets.Instance.mark_cells
    - stat.S_ISDIR
    - functools.partial
    - anyio.to_thread.run_sync
    - os_path.strip
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - nbformat.from_dict
    - mimetypes.guess_type
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - model.update
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISREG
    - traitlets.Instance.check_cells
    - os.path.exists
    - os.path.splitdrive
    - fileobj.close
    - jupyter_server.services.contents.fileio._simple_writing
    - traitlets.Instance.sign
    - os.path.dirname
    - jupyter_server.utils.to_os_path
    - <builtin>.open
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_invalid
    - h.update
    - datetime.datetime
    - os.path.normpath
    - h.hexdigest
    - os.path.islink
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - traitlets.Instance.create_checkpoint
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - typing.NewType
    - os.path.abspath
    - path.endswith
    - jupyter_server.services.contents.filemanager.FileContentsManager._save_directory
    - path.strip
    - kwargs.setdefault
    - os.access
    - f.write
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.fileio.FileManagerMixin._save_file
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nbformat.from_dict
    functionSourceFile: nbformat
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8024d69b80>
    argNames:
    - self
    - nb
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 710
    functionName: jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 10
    functionsReached:
    - traitlets.Instance.check_cells
    - traitlets.Instance.sign
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f8024884a90>
    argNames:
    - self
    - os_path
    - nb
    - capture_validation_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 325
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._save_notebook
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - <builtin>.open
    - fileobj.close
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.islink
    - os.path.dirname
    - kwargs.setdefault
    - os.readlink
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - nbformat.write
    - os_path.startswith
    - typing.NewType
    - os.path.join
    - os_path.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.list_checkpoints
    functionSourceFile: traitlets
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 749
    functionName: jupyter_server.services.contents.manager.ContentsManager.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 1
    functionsReached:
    - traitlets.Instance.create_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - os_path
    - content
    - format
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 414
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._save_file
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - <builtin>.open
    - fileobj.close
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.islink
    - base64.decodebytes
    - os.path.dirname
    - kwargs.setdefault
    - os.readlink
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - os_path.startswith
    - os.path.join
    - nbformat.v4.new_notebook.encode
    - typing.NewType
    - f.write
    - os_path.strip
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f8024a77940>
    argNames:
    - self
    - os_path
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 932
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 8
    functionsReached:
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os_path.startswith
    - os.path.join
    - anyio.to_thread.run_sync
    - os_path.strip
    - os.path.normpath
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isdir
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - typing.NewType
    - path.strip
    - os.path.exists
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 7
    IfCount: 7
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 530
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.delete_file
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - <builtin>.set
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os.listdir
    - os_path.startswith
    - os.path.join
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os_path.strip
    - os.path.normpath
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - shutil.rmtree
    - os.path.isdir
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - <builtin>.getattr
    - typing.NewType
    - os.path.abspath
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - path.strip
    - send2trash.send2trash
    - os.access
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.delete_file.is_non_empty_dir
    - os.unlink
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - os_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 543
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.delete_file.is_non_empty_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 1
    functionsReached:
    - os.listdir
    - os.path.isdir
    - <builtin>.set
    - <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: send2trash.send2trash
    functionSourceFile: send2trash
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 580
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.rename_file
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - shutil.move
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os_path.startswith
    - os.path.samefile
    - os.path.join
    - os_path.strip
    - os.path.normpath
    - <builtin>.str
    - path.lower
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - other_path.lower
    - typing.NewType
    - os.path.abspath
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - path.strip
    - os.stat
    - os.path.exists
    - new_path.strip
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.samefile_simple
    - old_path.strip
    - jupyter_server.utils.to_os_path
    - os.lstat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: old_path.strip
    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: new_path.strip
    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: os.path.samefile
    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: shutil.move
    functionSourceFile: shutil
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 608
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.info_string
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    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 0x7f80249c2d30>
    argNames:
    - self
    - path
    - model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 612
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.get_kernel_path
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - os.path.splitdrive
    - <builtin>.str
    - os.path.isdir
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - path.strip
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - path.rsplit
    - typing.NewType
    - os.path.join
    - os.path.normpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1075
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 13
    functionsReached:
    - os.path.splitdrive
    - <builtin>.str
    - os.path.isdir
    - path.strip
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - typing.NewType
    - os.path.join
    - os.path.normpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f80249c2a00>
    argNames:
    - self
    - from_path
    - to_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 619
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.copy
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - nbformat.validate
    - shutil.copytree
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.FileContentsManager._get_dir_size
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os_path.startswith
    - path.rsplit
    - os.path.join
    - validation_error.get
    - <builtin>.str
    - os.path.isdir
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.check_folder_size
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_core.paths.is_file_hidden
    - <builtin>.isinstance
    - proc.wait
    - jupyter_server.services.contents.fileio.async_replace_file
    - subprocess.run
    - <builtin>.any
    - asyncio.create_subprocess_exec
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._copy_dir
    - stdout.decode
    - to_path_original.strip
    - bcontent.decode
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - os.path.isfile
    - json.dumps
    - <builtin>.len
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - copy_pat.sub
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_api_path
    - os.path.split
    - os.lstat
    - from_path.strip
    - traitlets.Instance.mark_cells
    - stat.S_ISDIR
    - functools.partial
    - jupyter_server.services.contents.filemanager.FileContentsManager.check_folder_size
    - anyio.to_thread.run_sync
    - os_path.strip
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.filemanager.FileContentsManager._copy_dir
    - mimetypes.guess_type
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - model.update
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISREG
    - to_path.strip
    - <builtin>.int
    - os.path.exists
    - proc.communicate
    - os.path.splitdrive
    - jupyter_server.utils.to_os_path
    - platform.system
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_invalid
    - h.update
    - <builtin>.super
    - datetime.datetime
    - os.path.normpath
    - h.hexdigest
    - traitlets.config.Configurable.strip
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - typing.NewType
    - os.path.abspath
    - path.endswith
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - path.strip
    - os.access
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: from_path.strip
    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: to_path.strip
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 682
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager.check_folder_size
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 1
    functionsReached:
    - proc.communicate
    - os.path.splitdrive
    - stdout.decode
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size
    - proc.wait
    - asyncio.create_subprocess_exec
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.filemanager.FileContentsManager._get_dir_size
    - jupyter_server.utils.to_os_path
    - os.lstat
    - subprocess.run
    - os.path.normpath
    - <builtin>.int
    - typing.NewType
    - os.path.join
    - platform.system
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1165
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.check_folder_size
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 2
    functionsReached:
    - os.path.splitdrive
    - <builtin>.str
    - proc.communicate
    - stdout.decode
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size
    - proc.wait
    - asyncio.create_subprocess_exec
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.utils.to_os_path
    - os.path.normpath
    - os.lstat
    - <builtin>.int
    - typing.NewType
    - os.path.join
    - platform.system
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy_pat.sub
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - from_path
    - to_path_original
    - to_name
    - to_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 663
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._copy_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 1
    functionsReached:
    - datetime.datetime.fromtimestamp
    - nbformat.validate
    - shutil.copytree
    - stat.S_ISDIR
    - traitlets.Instance.mark_cells
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_invalid
    - contents.append
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os_path.startswith
    - functools.partial
    - path.rsplit
    - os.path.join
    - anyio.to_thread.run_sync
    - datetime.datetime
    - os.path.normpath
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - h.hexdigest
    - <builtin>.str
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.strip
    - validation_error.get
    - os.path.isdir
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - base64.encodebytes.decode
    - mimetypes.guess_type
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - model.update
    - jupyter_core.paths.is_file_hidden
    - typing.NewType
    - traitlets.Instance.check_signature
    - <builtin>.isinstance
    - os.path.abspath
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - stat.S_ISREG
    - to_path_original.strip
    - path.endswith
    - path.strip
    - bcontent.decode
    - os.path.exists
    - jupyter_server.services.contents.filemanager.FileContentsManager.get
    - os.access
    - os.path.isfile
    - json.dumps
    - os.path.splitdrive
    - <builtin>.len
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.path.split
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - from_path.strip
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - from_path
    - to_path_original
    - to_name
    - to_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1144
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._copy_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 2
    functionsReached:
    - datetime.datetime.fromtimestamp
    - nbformat.validate
    - shutil.copytree
    - stat.S_ISDIR
    - traitlets.Instance.mark_cells
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_invalid
    - contents.append
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os_path.startswith
    - functools.partial
    - path.rsplit
    - os.path.join
    - anyio.to_thread.run_sync
    - datetime.datetime
    - os.path.normpath
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - h.hexdigest
    - <builtin>.str
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.strip
    - validation_error.get
    - os.path.isdir
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - base64.encodebytes.decode
    - mimetypes.guess_type
    - traitlets.config.Configurable.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - model.update
    - jupyter_core.paths.is_file_hidden
    - typing.NewType
    - traitlets.Instance.check_signature
    - <builtin>.isinstance
    - os.path.abspath
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - stat.S_ISREG
    - to_path_original.strip
    - path.endswith
    - path.strip
    - bcontent.decode
    - os.path.exists
    - os.access
    - os.path.isfile
    - json.dumps
    - os.path.splitdrive
    - <builtin>.len
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.path.split
    - os.lstat
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: to_path_original.strip
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024faaf40>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 701
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._get_dir_size
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 2
    functionsReached:
    - subprocess.run
    - platform.system
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f80253ee670>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1184
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 4
    functionsReached:
    - proc.communicate
    - platform.system
    - stdout.decode
    - asyncio.create_subprocess_exec
    - proc.wait
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: subprocess.run
    functionSourceFile: subprocess
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 730
    functionName: jupyter_server.services.contents.filemanager.FileContentsManager._human_readable_size
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - math.log2
    - <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: math.log2
    functionSourceFile: math
    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: jupyter_server.services.contents.filemanager.AsyncFileContentsManager
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - traitlets.default
    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: 747
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._checkpoints_class_default
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f802439d700>
    argNames:
    - self
    - os_path
    - format
    - raw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 499
    functionName: jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 27
    functionsReached:
    - base64.encodebytes
    - <builtin>.len
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - base64.encodebytes.decode
    - jupyter_server.utils.to_api_path
    - bcontent.decode
    - os_path.startswith
    - os.path.isfile
    - anyio.to_thread.run_sync
    - os_path.strip
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f80249cb790>
    - <ast.Constant object at 0x7f80249cbb20>
    - <ast.Constant object at 0x7f80249cb040>
    argNames:
    - self
    - os_path
    - as_version
    - capture_validation_error
    - raw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 446
    functionName: jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 24
    functionsReached:
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os_path.startswith
    - functools.partial
    - os.path.join
    - anyio.to_thread.run_sync
    - os_path.strip
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - base64.encodebytes.decode
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - bcontent.decode
    - os.path.exists
    - os.path.isfile
    - <builtin>.len
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.utils.to_api_path
    - os.path.split
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 12
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f802473c280>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 944
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 6
    functionsReached:
    - datetime.datetime.fromtimestamp
    - nbformat.validate
    - contents.append
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os_path.startswith
    - path.rsplit
    - os.path.join
    - traitlets.Instance.list_checkpoints
    - validation_error.get
    - <builtin>.str
    - os.path.isdir
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - base64.decodebytes
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_core.paths.is_file_hidden
    - <builtin>.isinstance
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.services.contents.fileio.async_replace_file
    - model.get
    - <builtin>.any
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.readlink
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - bcontent.decode
    - nbformat.v4.new_notebook.encode
    - os.path.isfile
    - <builtin>.len
    - json.dumps
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_api_path
    - os.path.split
    - os.lstat
    - traitlets.Instance.mark_cells
    - stat.S_ISDIR
    - functools.partial
    - anyio.to_thread.run_sync
    - os_path.strip
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - nbformat.from_dict
    - mimetypes.guess_type
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - model.update
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISREG
    - traitlets.Instance.check_cells
    - os.path.exists
    - os.path.splitdrive
    - fileobj.close
    - jupyter_server.services.contents.fileio._simple_writing
    - traitlets.Instance.sign
    - os.path.dirname
    - jupyter_server.utils.to_os_path
    - <builtin>.open
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_invalid
    - h.update
    - datetime.datetime
    - os.path.normpath
    - h.hexdigest
    - os.path.islink
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - traitlets.Instance.create_checkpoint
    - typing.NewType
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - os.path.abspath
    - path.endswith
    - path.strip
    - kwargs.setdefault
    - os.access
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f802439d070>
    argNames:
    - self
    - os_path
    - nb
    - capture_validation_error
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 486
    functionName: jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 8
    functionsReached:
    - <builtin>.len
    - <builtin>.open
    - fileobj.close
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.islink
    - os.path.dirname
    - kwargs.setdefault
    - os.readlink
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - os_path.startswith
    - functools.partial
    - os.path.join
    - typing.NewType
    - anyio.to_thread.run_sync
    - os_path.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1083
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 7
    functionsReached:
    - traitlets.Instance.create_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - os_path
    - content
    - format
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 556
    functionName: jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 8
    functionsReached:
    - <builtin>.len
    - <builtin>.open
    - fileobj.close
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.islink
    - base64.decodebytes
    - os.path.dirname
    - kwargs.setdefault
    - os.readlink
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - os_path.startswith
    - os.path.join
    - nbformat.v4.new_notebook.encode
    - typing.NewType
    - anyio.to_thread.run_sync
    - os_path.strip
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 7
    IfCount: 7
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 993
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 2
    functionsReached:
    - <builtin>.set
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file.is_non_empty_dir
    - os_path.startswith
    - anyio.to_thread.run_sync
    - os.path.join
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os_path.strip
    - os.path.normpath
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isdir
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - <builtin>.getattr
    - os.path.abspath
    - typing.NewType
    - path.strip
    - send2trash.send2trash
    - os.path.exists
    - os.access
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - os_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1005
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file.is_non_empty_dir
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 3
    functionsReached:
    - anyio.to_thread.run_sync
    - os.path.isdir
    - <builtin>.set
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1047
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 4
    functionsReached:
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os_path.startswith
    - os.path.samefile
    - anyio.to_thread.run_sync
    - os.path.join
    - os_path.strip
    - os.path.normpath
    - <builtin>.str
    - path.lower
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - other_path.lower
    - typing.NewType
    - os.path.abspath
    - path.strip
    - os.stat
    - os.path.exists
    - new_path.strip
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.utils.samefile_simple
    - jupyter_server.utils.to_api_path
    - old_path.strip
    - jupyter_server.utils.to_os_path
    - os.lstat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1081
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 8
    functionsReached:
    - os.path.splitdrive
    - <builtin>.str
    - os.path.isfile
    - path.strip
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - typing.NewType
    - os.path.join
    - os.path.normpath
    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 0x7f80247c47f0>
    argNames:
    - self
    - path
    - model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1093
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get_kernel_path
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - os.path.splitdrive
    - <builtin>.str
    - os.path.isdir
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - path.strip
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - path.rsplit
    - typing.NewType
    - os.path.join
    - os.path.normpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f80247c45e0>
    argNames:
    - self
    - from_path
    - to_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1100
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager.copy
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - nbformat.validate
    - shutil.copytree
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os_path.startswith
    - path.rsplit
    - os.path.join
    - validation_error.get
    - <builtin>.str
    - os.path.isdir
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.check_folder_size
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_core.paths.is_file_hidden
    - <builtin>.isinstance
    - proc.wait
    - jupyter_server.services.contents.fileio.async_replace_file
    - <builtin>.any
    - asyncio.create_subprocess_exec
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._copy_dir
    - stdout.decode
    - to_path_original.strip
    - bcontent.decode
    - os.path.isfile
    - json.dumps
    - <builtin>.len
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - copy_pat.sub
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_api_path
    - os.path.split
    - os.lstat
    - traitlets.Instance.mark_cells
    - stat.S_ISDIR
    - functools.partial
    - anyio.to_thread.run_sync
    - os_path.strip
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - mimetypes.guess_type
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - model.update
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISREG
    - to_path.strip
    - <builtin>.int
    - os.path.exists
    - proc.communicate
    - os.path.splitdrive
    - jupyter_server.utils.to_os_path
    - platform.system
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_invalid
    - h.update
    - <builtin>.super
    - datetime.datetime
    - os.path.normpath
    - h.hexdigest
    - traitlets.config.Configurable.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.copy
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - typing.NewType
    - os.path.abspath
    - path.endswith
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - path.strip
    - os.access
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.Configurable.strip
    functionSourceFile: traitlets
    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: asyncio.create_subprocess_exec
    functionSourceFile: asyncio
    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: proc.wait
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1211
    functionName: jupyter_server.services.contents.filemanager.AsyncFileContentsManager._human_readable_size
    functionSourceFile: jupyter_server.services.contents.filemanager
    functionUses: 0
    functionsReached:
    - math.log2
    - <builtin>.int
    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: jupyter_server.services.contents.filecheckpoints
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    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: jupyter_server.services.contents.filecheckpoints.FileCheckpoints
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - traitlets.Unicode
    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: 46
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints._root_dir_default
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - os.getcwd
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 52
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - os_path.startswith
    - os.path.join
    - os.path.splitext
    - os.path.normpath
    - os_path.strip
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.fileio.copy2_safe
    - typing.NewType
    - os.path.abspath
    - jupyter_core.utils.ensure_dir_exists
    - contents_mgr._get_os_path
    - path.strip
    - os.stat
    - parent.strip
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model
    - jupyter_server.services.contents.fileio.FileManagerMixin._copy
    - <builtin>.len
    - os.path.splitdrive
    - shutil.copystat
    - jupyter_server.utils.to_api_path
    - log.debug
    - jupyter_server.utils.to_os_path
    - os.lstat
    - shutil.copyfile
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: contents_mgr._get_os_path
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 105
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 18
    functionsReached:
    - <builtin>.len
    - os.path.splitdrive
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - path.strip
    - jupyter_server.utils.to_api_path
    - os.path.abspath
    - parent.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - os_path.startswith
    - os_path.strip
    - typing.NewType
    - os.path.join
    - jupyter_core.utils.ensure_dir_exists
    - os.path.splitext
    - os.path.normpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - src
    - dest
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 243
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin._copy
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 2
    functionsReached:
    - log.debug
    - jupyter_server.services.contents.fileio.copy2_safe
    - shutil.copyfile
    - shutil.copystat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - os_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 119
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 4
    functionsReached:
    - datetime.datetime.fromtimestamp
    - jupyter_server._tz.utcfromtimestamp
    - os.stat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 60
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - os_path.startswith
    - os.path.join
    - os.path.splitext
    - os.path.normpath
    - os_path.strip
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.fileio.copy2_safe
    - os.path.abspath
    - typing.NewType
    - jupyter_core.utils.ensure_dir_exists
    - contents_mgr._get_os_path
    - path.strip
    - parent.strip
    - jupyter_server.services.contents.fileio.FileManagerMixin._copy
    - <builtin>.len
    - os.path.splitdrive
    - shutil.copystat
    - jupyter_server.utils.to_api_path
    - log.debug
    - jupyter_server.utils.to_os_path
    - os.lstat
    - shutil.copyfile
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 67
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.rename_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - shutil.move
    - os_path.startswith
    - os.path.join
    - os_path.strip
    - os.path.splitext
    - os.path.normpath
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - os.path.abspath
    - jupyter_core.utils.ensure_dir_exists
    - path.strip
    - parent.strip
    - os.path.isfile
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 80
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.delete_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - os_path.startswith
    - os.path.join
    - os_path.strip
    - os.path.splitext
    - os.path.normpath
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - os.path.abspath
    - jupyter_core.utils.ensure_dir_exists
    - path.strip
    - parent.strip
    - os.path.isfile
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - os.unlink
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - checkpoint_id
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 130
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    functionSourceFile: ''
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 91
    functionName: jupyter_server.services.contents.filecheckpoints.FileCheckpoints.list_checkpoints
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - os_path.startswith
    - os.path.join
    - os_path.strip
    - os.path.splitext
    - os.path.normpath
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - typing.NewType
    - os.path.abspath
    - jupyter_core.utils.ensure_dir_exists
    - path.strip
    - os.stat
    - parent.strip
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model
    - os.path.isfile
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.strip
    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: jupyter_core.utils.ensure_dir_exists
    functionSourceFile: jupyter_core
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 135
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._copy
    - os_path.startswith
    - anyio.to_thread.run_sync
    - os.path.join
    - os.path.splitext
    - os.path.normpath
    - os_path.strip
    - <builtin>.str
    - jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.fileio.async_copy2_safe
    - os.path.abspath
    - typing.NewType
    - jupyter_core.utils.ensure_dir_exists
    - contents_mgr._get_os_path
    - path.strip
    - parent.strip
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - log.debug
    - jupyter_server.utils.to_os_path
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - src
    - dest
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 439
    functionName: jupyter_server.services.contents.fileio.AsyncFileManagerMixin._copy
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 2
    functionsReached:
    - log.debug
    - anyio.to_thread.run_sync
    - jupyter_server.services.contents.fileio.async_copy2_safe
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - os_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 149
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 4
    functionsReached:
    - datetime.datetime.fromtimestamp
    - jupyter_server._tz.utcfromtimestamp
    - anyio.to_thread.run_sync
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 143
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._copy
    - os_path.startswith
    - os.path.join
    - anyio.to_thread.run_sync
    - os.path.splitext
    - os.path.normpath
    - os_path.strip
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.fileio.async_copy2_safe
    - os.path.abspath
    - typing.NewType
    - jupyter_core.utils.ensure_dir_exists
    - contents_mgr._get_os_path
    - path.strip
    - parent.strip
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - log.debug
    - jupyter_server.utils.to_os_path
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 160
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.rename_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - os_path.startswith
    - os.path.join
    - anyio.to_thread.run_sync
    - os_path.strip
    - os.path.splitext
    - os.path.normpath
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - os.path.abspath
    - jupyter_core.utils.ensure_dir_exists
    - path.strip
    - parent.strip
    - os.path.isfile
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 173
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.delete_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - os_path.startswith
    - os.path.join
    - anyio.to_thread.run_sync
    - os.path.splitext
    - os_path.strip
    - os.path.normpath
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - os.path.abspath
    - typing.NewType
    - jupyter_core.utils.ensure_dir_exists
    - path.strip
    - parent.strip
    - os.path.isfile
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 184
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.list_checkpoints
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - os_path.startswith
    - anyio.to_thread.run_sync
    - os.path.join
    - os_path.strip
    - os.path.splitext
    - os.path.normpath
    - <builtin>.str
    - jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - typing.NewType
    - os.path.abspath
    - jupyter_core.utils.ensure_dir_exists
    - path.strip
    - parent.strip
    - os.path.isfile
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - content
    - format
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 204
    functionName: jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.create_file_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - <builtin>.open
    - os_path.startswith
    - os.path.join
    - os_path.strip
    - os.path.splitext
    - os.path.normpath
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.islink
    - base64.decodebytes
    - os.readlink
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - os.path.abspath
    - jupyter_core.utils.ensure_dir_exists
    - path.strip
    - kwargs.setdefault
    - os.stat
    - parent.strip
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model
    - nbformat.v4.new_notebook.encode
    - f.write
    - <builtin>.len
    - fileobj.close
    - os.path.splitdrive
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.dirname
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - jupyter_server.services.contents.fileio.FileManagerMixin._save_file
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - nb
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 217
    functionName: jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.create_notebook_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - <builtin>.open
    - os_path.startswith
    - jupyter_server.services.contents.fileio.FileManagerMixin._save_notebook
    - os.path.join
    - os_path.strip
    - os.path.splitext
    - os.path.normpath
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.islink
    - os.readlink
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server._tz.utcfromtimestamp
    - nbformat.write
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - os.path.abspath
    - jupyter_core.utils.ensure_dir_exists
    - path.strip
    - kwargs.setdefault
    - os.stat
    - parent.strip
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model
    - <builtin>.len
    - fileobj.close
    - os.path.splitdrive
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.dirname
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 230
    functionName: jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.get_notebook_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.fileio.path_to_invalid
    - nbformat.reads
    - os_path.startswith
    - os.path.join
    - os_path.strip
    - os.path.splitext
    - os.path.normpath
    - base64.encodebytes
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - base64.encodebytes.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.abspath
    - jupyter_core.utils.ensure_dir_exists
    - jupyter_server.services.contents.fileio.replace_file
    - path.strip
    - bcontent.decode
    - parent.strip
    - os.path.exists
    - os.path.isfile
    - f.read
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook
    - jupyter_server.utils.to_api_path
    - os.path.split
    - jupyter_server.utils.to_os_path
    - os.lstat
    - os.replace
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 247
    functionName: jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.get_file_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - os_path.startswith
    - os.path.join
    - os.path.splitext
    - os_path.strip
    - os.path.normpath
    - base64.encodebytes
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin._read_file
    - base64.encodebytes.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.abspath
    - jupyter_core.utils.ensure_dir_exists
    - path.strip
    - bcontent.decode
    - parent.strip
    - os.path.isfile
    - f.read
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - content
    - format
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 270
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.create_file_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - <builtin>.open
    - os_path.startswith
    - anyio.to_thread.run_sync
    - os.path.join
    - os_path.strip
    - os.path.splitext
    - os.path.normpath
    - <builtin>.str
    - jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.islink
    - base64.decodebytes
    - os.readlink
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - os.path.abspath
    - jupyter_core.utils.ensure_dir_exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - path.strip
    - kwargs.setdefault
    - parent.strip
    - nbformat.v4.new_notebook.encode
    - <builtin>.len
    - fileobj.close
    - os.path.splitdrive
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.dirname
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - nb
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 283
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.create_notebook_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - <builtin>.open
    - os_path.startswith
    - functools.partial
    - anyio.to_thread.run_sync
    - os.path.join
    - os_path.strip
    - os.path.splitext
    - os.path.normpath
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.islink
    - <builtin>.str
    - os.readlink
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - os.path.abspath
    - jupyter_core.utils.ensure_dir_exists
    - path.strip
    - kwargs.setdefault
    - parent.strip
    - <builtin>.len
    - fileobj.close
    - os.path.splitdrive
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.dirname
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 296
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.get_notebook_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.fileio.path_to_invalid
    - os_path.startswith
    - functools.partial
    - os.path.join
    - anyio.to_thread.run_sync
    - os.path.splitext
    - os_path.strip
    - os.path.normpath
    - base64.encodebytes
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - base64.encodebytes.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.abspath
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_core.utils.ensure_dir_exists
    - path.strip
    - bcontent.decode
    - parent.strip
    - os.path.exists
    - os.path.isfile
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.utils.to_api_path
    - os.path.split
    - jupyter_server.utils.to_os_path
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 313
    functionName: jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.get_file_checkpoint
    functionSourceFile: jupyter_server.services.contents.filecheckpoints
    functionUses: 0
    functionsReached:
    - os_path.startswith
    - anyio.to_thread.run_sync
    - os.path.join
    - os.path.splitext
    - os_path.strip
    - os.path.normpath
    - base64.encodebytes
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - base64.encodebytes.decode
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os.path.abspath
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_core.utils.ensure_dir_exists
    - path.strip
    - bcontent.decode
    - parent.strip
    - os.path.isfile
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.no_such_checkpoint
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path
    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: jupyter_server.services.contents.fileio
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 0
    functionsReached:
    - contextlib.contextmanager
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - src
    - dst
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 27
    functionName: jupyter_server.services.contents.fileio.replace_file
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 4
    functionsReached:
    - os.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: os.replace
    functionSourceFile: os
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - src
    - dst
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 32
    functionName: jupyter_server.services.contents.fileio.async_replace_file
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 25
    functionsReached:
    - anyio.to_thread.run_sync
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f80249a8ac0>
    argNames:
    - src
    - dst
    - log
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 37
    functionName: jupyter_server.services.contents.fileio.copy2_safe
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 4
    functionsReached:
    - log.debug
    - shutil.copyfile
    - shutil.copystat
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: shutil.copyfile
    functionSourceFile: shutil
    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: shutil.copystat
    functionSourceFile: shutil
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f80253ebbb0>
    argNames:
    - src
    - dst
    - log
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 50
    functionName: jupyter_server.services.contents.fileio.async_copy2_safe
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 3
    functionsReached:
    - log.debug
    - anyio.to_thread.run_sync
    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: 63
    functionName: jupyter_server.services.contents.fileio.path_to_intermediate
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 29
    functionsReached:
    - os.path.split
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 33
    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: 71
    functionName: jupyter_server.services.contents.fileio.path_to_invalid
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 28
    functionsReached:
    - os.path.split
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 10
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f802456b130>
    - <ast.Constant object at 0x7f802456b8b0>
    - <ast.Constant object at 0x7f802456bdf0>
    argNames:
    - path
    - text
    - encoding
    - log
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 78
    functionName: jupyter_server.services.contents.fileio.atomic_writing
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - os.path.join
    - os.remove
    - os.path.islink
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - os.readlink
    - jupyter_server.services.contents.fileio.copy2_safe
    - os.fsync
    - jupyter_server.services.contents.fileio.replace_file
    - fileobj.flush
    - kwargs.setdefault
    - fileobj.fileno
    - os.path.isfile
    - fileobj.close
    - shutil.copystat
    - os.path.dirname
    - os.path.split
    - log.debug
    - os.replace
    - shutil.copyfile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fileobj.close
    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: fileobj.flush
    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: fileobj.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: os.fsync
    functionSourceFile: os
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f8024d49040>
    - <ast.Constant object at 0x7f8024d49c70>
    - <ast.Constant object at 0x7f8024d49670>
    argNames:
    - path
    - text
    - encoding
    - log
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 135
    functionName: jupyter_server.services.contents.fileio._simple_writing
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 17
    functionsReached:
    - <builtin>.open
    - fileobj.close
    - os.path.islink
    - os.path.dirname
    - os.readlink
    - kwargs.setdefault
    - os.path.join
    linkageType: 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: jupyter_server.services.contents.fileio.FileManagerMixin
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 0
    functionsReached:
    - traitlets.Bool
    - traitlets.Enum
    - contextlib.contextmanager
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Enum
    functionSourceFile: traitlets
    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
    - os_path
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 207
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin.open
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 34
    functionsReached:
    - <builtin>.len
    - typing.NewType
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.utils.to_api_path
    - os_path.startswith
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - os_path.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - os_path
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 213
    functionName: jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    functionSourceFile: jupyter_server.services.contents.fileio
    functionUses: 16
    functionsReached:
    - <builtin>.len
    - <builtin>.open
    - fileobj.close
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio._simple_writing
    - os.path.islink
    - os.path.dirname
    - kwargs.setdefault
    - os.readlink
    - jupyter_server.utils.to_api_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - os_path.startswith
    - typing.NewType
    - os.path.join
    - os_path.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nbformat.reads
    functionSourceFile: nbformat
    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: nbformat.write
    functionSourceFile: nbformat
    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: bcontent.decode
    functionSourceFile: <builtin>
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: base64.encodebytes.decode
    functionSourceFile: base64
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.decodebytes
    functionSourceFile: base64
    functionUses: 14
    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: jupyter_server.services.contents.checkpoints
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 24
    functionName: jupyter_server.services.contents.checkpoints.Checkpoints.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - contents_mgr
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 28
    functionName: jupyter_server.services.contents.checkpoints.Checkpoints.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - checkpoint_id
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 32
    functionName: jupyter_server.services.contents.checkpoints.Checkpoints.rename_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 36
    functionName: jupyter_server.services.contents.checkpoints.Checkpoints.delete_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 40
    functionName: jupyter_server.services.contents.checkpoints.Checkpoints.list_checkpoints
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 44
    functionName: jupyter_server.services.contents.checkpoints.Checkpoints.rename_all_checkpoints
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.checkpoints.Checkpoints.rename_checkpoint
    - jupyter_server.services.contents.checkpoints.Checkpoints.list_checkpoints
    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: 1
    functionLinenumber: 49
    functionName: jupyter_server.services.contents.checkpoints.Checkpoints.delete_all_checkpoints
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.checkpoints.Checkpoints.delete_checkpoint
    - jupyter_server.services.contents.checkpoints.Checkpoints.list_checkpoints
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 77
    functionName: jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - contents_mgr.get
    - jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_notebook_checkpoint
    - jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_file_checkpoint
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: contents_mgr.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - nb
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 113
    functionName: jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_notebook_checkpoint
    functionSourceFile: ''
    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
    - content
    - format
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 106
    functionName: jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_file_checkpoint
    functionSourceFile: ''
    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
    - contents_mgr
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 94
    functionName: jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - contents_mgr.get
    - jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.get_file_checkpoint
    - jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.get_notebook_checkpoint
    - contents_mgr.save
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 133
    functionName: jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.get_notebook_checkpoint
    functionSourceFile: ''
    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
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 120
    functionName: jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.get_file_checkpoint
    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: contents_mgr.save
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 151
    functionName: jupyter_server.services.contents.checkpoints.AsyncCheckpoints.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - contents_mgr
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 155
    functionName: jupyter_server.services.contents.checkpoints.AsyncCheckpoints.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - checkpoint_id
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 159
    functionName: jupyter_server.services.contents.checkpoints.AsyncCheckpoints.rename_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    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
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 163
    functionName: jupyter_server.services.contents.checkpoints.AsyncCheckpoints.delete_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 167
    functionName: jupyter_server.services.contents.checkpoints.AsyncCheckpoints.list_checkpoints
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 171
    functionName: jupyter_server.services.contents.checkpoints.AsyncCheckpoints.rename_all_checkpoints
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.checkpoints.AsyncCheckpoints.list_checkpoints
    - jupyter_server.services.contents.checkpoints.AsyncCheckpoints.rename_checkpoint
    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: 1
    functionLinenumber: 176
    functionName: jupyter_server.services.contents.checkpoints.AsyncCheckpoints.delete_all_checkpoints
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.checkpoints.AsyncCheckpoints.list_checkpoints
    - jupyter_server.services.contents.checkpoints.AsyncCheckpoints.delete_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - contents_mgr
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 188
    functionName: jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - contents_mgr.get
    - jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_notebook_checkpoint
    - jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_file_checkpoint
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - nb
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 225
    functionName: jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_notebook_checkpoint
    functionSourceFile: ''
    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
    - content
    - format
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 218
    functionName: jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_file_checkpoint
    functionSourceFile: ''
    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
    - contents_mgr
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 205
    functionName: jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.checkpoints
    functionUses: 0
    functionsReached:
    - contents_mgr.get
    - jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.get_notebook_checkpoint
    - jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.get_file_checkpoint
    - contents_mgr.save
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 245
    functionName: jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.get_notebook_checkpoint
    functionSourceFile: ''
    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
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 232
    functionName: jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.get_file_checkpoint
    functionSourceFile: ''
    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: jupyter_server.services.contents.manager
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.services.contents.manager.ContentsManager
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Bool
    - traitlets.Type
    - traitlets.Dict
    - traitlets.Instance.tag
    - traitlets.validate
    - traitlets.default
    - traitlets.Any
    - traitlets.List
    - traitlets.Instance
    - traitlets.Unicode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.tag
    functionSourceFile: traitlets
    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: 1
    functionLinenumber: 68
    functionName: jupyter_server.services.contents.manager.ContentsManager._default_event_logger
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - jupyter_events.EventLogger
    - jupyter_events.EventLogger.register_event_schema
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 93
    functionName: jupyter_server.services.contents.manager.ContentsManager._validate_preferred_dir
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - os.path.splitdrive
    - <builtin>.str
    - os.path.isdir
    - jupyter_server.services.contents.manager.ContentsManager.dir_exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - path.strip
    - jupyter_core.utils.run_sync
    - inspect.iscoroutinefunction
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - typing.NewType
    - os.path.join
    - os.path.normpath
    - value.split
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/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.iscoroutinefunction
    functionSourceFile: inspect
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 379
    functionName: jupyter_server.services.contents.manager.ContentsManager.dir_exists
    functionSourceFile: ''
    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.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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 119
    functionName: jupyter_server.services.contents.manager.ContentsManager._notary_default
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - nbformat.sign.NotebookNotary
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nbformat.sign.NotebookNotary
    functionSourceFile: nbformat
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 179
    functionName: jupyter_server.services.contents.manager.ContentsManager._validate_pre_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - traitlets.Any.rsplit
    - <builtin>.__import__
    - <builtin>.callable
    - warnings.warn
    - jupyter_server.utils.import_item
    - <builtin>.getattr
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 215
    functionName: jupyter_server.services.contents.manager.ContentsManager._validate_post_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - traitlets.Any.rsplit
    - <builtin>.__import__
    - <builtin>.callable
    - warnings.warn
    - jupyter_server.utils.import_item
    - <builtin>.getattr
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TraitError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - model
    - path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 229
    functionName: jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Any
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - model
    - os_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 249
    functionName: jupyter_server.services.contents.manager.ContentsManager.run_post_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Any
    - warnings.warn
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - hook
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 268
    functionName: jupyter_server.services.contents.manager.ContentsManager.register_pre_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Any.rsplit
    - <builtin>.len
    - <builtin>.__import__
    - <builtin>.callable
    - jupyter_server.utils.import_item
    - <builtin>.getattr
    - <builtin>.isinstance
    - traitlets.config.configurable.LoggingConfigurable._pre_save_hooks.append
    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: traitlets.config.configurable.LoggingConfigurable._pre_save_hooks.append
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - hook
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 277
    functionName: jupyter_server.services.contents.manager.ContentsManager.register_post_save_hook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - traitlets.Any.rsplit
    - <builtin>.__import__
    - <builtin>.getattr
    - <builtin>.callable
    - jupyter_server.utils.import_item
    - traitlets.config.configurable.LoggingConfigurable._post_save_hooks.append
    - <builtin>.isinstance
    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: traitlets.config.configurable.LoggingConfigurable._post_save_hooks.append
    functionSourceFile: traitlets
    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: 330
    functionName: jupyter_server.services.contents.manager.ContentsManager._default_checkpoints
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Type
    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: 334
    functionName: jupyter_server.services.contents.manager.ContentsManager._default_checkpoints_kwargs
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    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: 366
    functionName: jupyter_server.services.contents.manager.ContentsManager.get_extra_handlers
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - handlers.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 398
    functionName: jupyter_server.services.contents.manager.ContentsManager.is_hidden
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024a5bdc0>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 415
    functionName: jupyter_server.services.contents.manager.ContentsManager.file_exists
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 434
    functionName: jupyter_server.services.contents.manager.ContentsManager.exists
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 3
    functionsReached:
    - os.path.splitdrive
    - <builtin>.str
    - os.path.isdir
    - jupyter_server.services.contents.manager.ContentsManager.dir_exists
    - os.path.isfile
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - path.strip
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - typing.NewType
    - os.path.join
    - os.path.normpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f8024a5b8b0>
    - <ast.Constant object at 0x7f8024a5b130>
    - <ast.Constant object at 0x7f8024a5b760>
    - <ast.Constant object at 0x7f8024a5b250>
    argNames:
    - self
    - path
    - content
    - type
    - format
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 451
    functionName: jupyter_server.services.contents.manager.ContentsManager.get
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 463
    functionName: jupyter_server.services.contents.manager.ContentsManager.save
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 473
    functionName: jupyter_server.services.contents.manager.ContentsManager.delete_file
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 477
    functionName: jupyter_server.services.contents.manager.ContentsManager.rename_file
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 484
    functionName: jupyter_server.services.contents.manager.ContentsManager.delete
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - <builtin>.set
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file.is_non_empty_dir
    - os_path.startswith
    - anyio.to_thread.run_sync
    - os.path.join
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os_path.strip
    - os.path.normpath
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isdir
    - jupyter_server.services.contents.manager.ContentsManager.delete_file
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - traitlets.Instance.delete_all_checkpoints
    - <builtin>.getattr
    - typing.NewType
    - os.path.abspath
    - path.strip
    - send2trash.send2trash
    - os.path.exists
    - os.access
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.delete_all_checkpoints
    functionSourceFile: traitlets
    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
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 493
    functionName: jupyter_server.services.contents.manager.ContentsManager.rename
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 1
    functionsReached:
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os_path.startswith
    - os.path.samefile
    - anyio.to_thread.run_sync
    - os.path.join
    - os_path.strip
    - os.path.normpath
    - <builtin>.str
    - path.lower
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - other_path.lower
    - typing.NewType
    - os.path.abspath
    - path.strip
    - os.stat
    - os.path.exists
    - new_path.strip
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.samefile_simple
    - traitlets.Instance.rename_all_checkpoints
    - jupyter_server.utils.to_api_path
    - old_path.strip
    - jupyter_server.utils.to_os_path
    - os.lstat
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.rename_all_checkpoints
    functionSourceFile: traitlets
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 499
    functionName: jupyter_server.services.contents.manager.ContentsManager.update
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - nbformat.validate
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os_path.startswith
    - os.path.samefile
    - path.rsplit
    - os.path.join
    - validation_error.get
    - <builtin>.str
    - os.path.isdir
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_core.paths.is_file_hidden
    - <builtin>.isinstance
    - os.stat
    - new_path.strip
    - jupyter_server.services.contents.fileio.async_replace_file
    - model.get
    - <builtin>.any
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.rename
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - bcontent.decode
    - os.path.isfile
    - <builtin>.len
    - json.dumps
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_api_path
    - old_path.strip
    - os.path.split
    - os.lstat
    - traitlets.Instance.mark_cells
    - stat.S_ISDIR
    - functools.partial
    - anyio.to_thread.run_sync
    - os_path.strip
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - mimetypes.guess_type
    - other_path.lower
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - model.update
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISREG
    - os.path.exists
    - jupyter_server.services.contents.manager.ContentsManager.get
    - os.path.splitdrive
    - jupyter_server.utils.samefile_simple
    - jupyter_server.utils.to_os_path
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_invalid
    - h.update
    - datetime.datetime
    - os.path.normpath
    - h.hexdigest
    - path.lower
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - typing.NewType
    - os.path.abspath
    - path.endswith
    - path.strip
    - os.access
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - traitlets.Instance.rename_all_checkpoints
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file
    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: 512
    functionName: jupyter_server.services.contents.manager.ContentsManager.info_string
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 1
    functionsReached: []
    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 0x7f802526d310>
    argNames:
    - self
    - path
    - model
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 516
    functionName: jupyter_server.services.contents.manager.ContentsManager.get_kernel_path
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached: []
    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 0x7f802526d5b0>
    - <ast.Constant object at 0x7f802526d8e0>
    argNames:
    - self
    - filename
    - path
    - insert
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 528
    functionName: jupyter_server.services.contents.manager.ContentsManager.increment_filename
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 2
    functionsReached:
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - os.path.join
    - os.path.normpath
    - <builtin>.str
    - os.path.isdir
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - traitlets.Unicode.rpartition
    - os.path.abspath
    - typing.NewType
    - jupyter_server.services.contents.manager.ContentsManager.dir_exists
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - jupyter_server.services.contents.manager.ContentsManager.exists
    - os.path.isfile
    - os.path.splitdrive
    - itertools.count
    - jupyter_server.utils.to_os_path
    - os.lstat
    - traitlets.Unicode.partition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Unicode.rpartition
    functionSourceFile: traitlets
    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: traitlets.Unicode.partition
    functionSourceFile: traitlets
    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: itertools.count
    functionSourceFile: itertools
    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: validation_error.get
    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: nbformat.validate
    functionSourceFile: nbformat
    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: jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model.<lambda1>
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f8024dd0580>
    - <ast.Constant object at 0x7f8024dd0190>
    - <ast.Constant object at 0x7f8024dd0f10>
    argNames:
    - self
    - path
    - type
    - ext
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 581
    functionName: jupyter_server.services.contents.manager.ContentsManager.new_untitled
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - nbformat.validate
    - contents.append
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os_path.startswith
    - path.rsplit
    - os.path.join
    - traitlets.Instance.list_checkpoints
    - validation_error.get
    - <builtin>.str
    - os.path.isdir
    - base64.decodebytes
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_core.paths.is_file_hidden
    - <builtin>.isinstance
    - jupyter_server.services.contents.manager.ContentsManager.dir_exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.manager.ContentsManager.increment_filename
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.services.contents.fileio.async_replace_file
    - itertools.count
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - model.get
    - <builtin>.any
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - base64.b64decode
    - os.readlink
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - bcontent.decode
    - jupyter_server.services.contents.manager.ContentsManager.exists
    - nbformat.v4.new_notebook.encode
    - os.path.isfile
    - <builtin>.len
    - json.dumps
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_api_path
    - os.path.split
    - os.lstat
    - traitlets.Instance.mark_cells
    - stat.S_ISDIR
    - functools.partial
    - anyio.to_thread.run_sync
    - os_path.strip
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - nbformat.from_dict
    - mimetypes.guess_type
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - traitlets.Unicode.rpartition
    - model.update
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISREG
    - traitlets.Instance.check_cells
    - os.path.exists
    - os.path.splitdrive
    - fileobj.close
    - jupyter_server.services.contents.fileio._simple_writing
    - traitlets.Instance.sign
    - os.path.dirname
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    - <builtin>.open
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_invalid
    - h.update
    - <builtin>.super
    - datetime.datetime
    - os.path.normpath
    - h.hexdigest
    - os.path.islink
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - traitlets.Instance.create_checkpoint
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - typing.NewType
    - os.path.abspath
    - path.endswith
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - path.strip
    - kwargs.setdefault
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - os.access
    - model.setdefault
    - jupyter_server.services.contents.manager.ContentsManager.new
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.v4.new_notebook
    - traitlets.Unicode.partition
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: model.setdefault
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8024ceb7f0>
    - <ast.Constant object at 0x7f8024ceb7c0>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 619
    functionName: jupyter_server.services.contents.manager.ContentsManager.new
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 1
    functionsReached:
    - datetime.datetime.fromtimestamp
    - nbformat.validate
    - contents.append
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os_path.startswith
    - path.rsplit
    - os.path.join
    - traitlets.Instance.list_checkpoints
    - validation_error.get
    - <builtin>.str
    - os.path.isdir
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - base64.decodebytes
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_core.paths.is_file_hidden
    - <builtin>.isinstance
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.services.contents.fileio.async_replace_file
    - model.get
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - <builtin>.any
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - base64.b64decode
    - os.readlink
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - bcontent.decode
    - nbformat.v4.new_notebook.encode
    - os.path.isfile
    - <builtin>.len
    - json.dumps
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_api_path
    - os.path.split
    - os.lstat
    - traitlets.Instance.mark_cells
    - stat.S_ISDIR
    - functools.partial
    - anyio.to_thread.run_sync
    - os_path.strip
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - nbformat.from_dict
    - mimetypes.guess_type
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - model.update
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISREG
    - traitlets.Instance.check_cells
    - os.path.exists
    - os.path.splitdrive
    - fileobj.close
    - jupyter_server.services.contents.fileio._simple_writing
    - traitlets.Instance.sign
    - os.path.dirname
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    - <builtin>.open
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_invalid
    - h.update
    - <builtin>.super
    - datetime.datetime
    - os.path.normpath
    - h.hexdigest
    - os.path.islink
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - traitlets.Instance.create_checkpoint
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - typing.NewType
    - os.path.abspath
    - path.endswith
    - path.strip
    - kwargs.setdefault
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - os.access
    - model.setdefault
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.v4.new_notebook
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nbformat.v4.new_notebook
    functionSourceFile: nbformat
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 4
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8024c2ae80>
    argNames:
    - self
    - from_path
    - to_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 646
    functionName: jupyter_server.services.contents.manager.ContentsManager.copy
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - nbformat.validate
    - contents.append
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os_path.startswith
    - path.rsplit
    - os.path.join
    - traitlets.Instance.list_checkpoints
    - validation_error.get
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - os.path.isdir
    - base64.decodebytes
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_core.paths.is_file_hidden
    - <builtin>.isinstance
    - jupyter_server.services.contents.manager.ContentsManager.dir_exists
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.manager.ContentsManager.increment_filename
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.services.contents.fileio.async_replace_file
    - itertools.count
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - model.get
    - <builtin>.any
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - base64.b64decode
    - os.readlink
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - bcontent.decode
    - jupyter_server.services.contents.manager.ContentsManager.exists
    - nbformat.v4.new_notebook.encode
    - os.path.isfile
    - <builtin>.len
    - json.dumps
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - copy_pat.sub
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_api_path
    - os.path.split
    - os.lstat
    - from_path.strip
    - traitlets.Instance.mark_cells
    - stat.S_ISDIR
    - functools.partial
    - anyio.to_thread.run_sync
    - os_path.strip
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - model.pop
    - nbformat.from_dict
    - mimetypes.guess_type
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - model.update
    - traitlets.Unicode.rpartition
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISREG
    - to_path.strip
    - traitlets.Instance.check_cells
    - os.path.exists
    - jupyter_server.services.contents.manager.ContentsManager.get
    - os.path.splitdrive
    - fileobj.close
    - jupyter_server.services.contents.fileio._simple_writing
    - traitlets.Instance.sign
    - os.path.dirname
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    - <builtin>.open
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_invalid
    - h.update
    - <builtin>.super
    - datetime.datetime
    - os.path.normpath
    - h.hexdigest
    - os.path.islink
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - traitlets.Instance.create_checkpoint
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - typing.NewType
    - os.path.abspath
    - path.endswith
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - path.strip
    - kwargs.setdefault
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - os.access
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - to_path.rsplit
    - traitlets.Unicode.partition
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: model.pop
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: to_path.rsplit
    functionSourceFile: <builtin>
    functionUses: 2
    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: 692
    functionName: jupyter_server.services.contents.manager.ContentsManager.log_info
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - jupyter_server.services.contents.manager.ContentsManager.info_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 696
    functionName: jupyter_server.services.contents.manager.ContentsManager.trust_notebook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - traitlets.Instance.mark_cells
    - stat.S_ISDIR
    - nbformat.validate
    - jupyter_server.services.contents.fileio.path_to_invalid
    - hashlib.new
    - contents.append
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os_path.startswith
    - functools.partial
    - path.rsplit
    - anyio.to_thread.run_sync
    - os.path.join
    - datetime.datetime
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.normpath
    - h.hexdigest
    - <builtin>.str
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.strip
    - validation_error.get
    - os.path.isdir
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - base64.encodebytes.decode
    - mimetypes.guess_type
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - model.update
    - jupyter_core.paths.is_file_hidden
    - typing.NewType
    - traitlets.Instance.check_signature
    - <builtin>.isinstance
    - os.path.abspath
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - stat.S_ISREG
    - path.endswith
    - path.strip
    - bcontent.decode
    - traitlets.Instance.check_cells
    - os.path.exists
    - os.access
    - os.path.isfile
    - jupyter_server.services.contents.manager.ContentsManager.get
    - json.dumps
    - os.path.splitdrive
    - <builtin>.len
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - traitlets.Instance.sign
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.utils.to_api_path
    - os.path.split
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - os.lstat
    - <builtin>.any
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.mark_cells
    functionSourceFile: traitlets
    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: traitlets.Instance.check_cells
    functionSourceFile: traitlets
    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: traitlets.Instance.sign
    functionSourceFile: traitlets
    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: traitlets.Instance.check_signature
    functionSourceFile: traitlets
    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: fnmatch.fnmatch
    functionSourceFile: fnmatch
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.create_checkpoint
    functionSourceFile: traitlets
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 753
    functionName: jupyter_server.services.contents.manager.ContentsManager.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.restore_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.restore_checkpoint
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 759
    functionName: jupyter_server.services.contents.manager.ContentsManager.list_checkpoints
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.list_checkpoints
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 762
    functionName: jupyter_server.services.contents.manager.ContentsManager.delete_checkpoint
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.delete_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.delete_checkpoint
    functionSourceFile: traitlets
    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: jupyter_server.services.contents.manager.AsyncContentsManager
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.default
    - traitlets.Instance
    - traitlets.Type
    - traitlets.Dict
    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: 774
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager._default_checkpoints
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Type
    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: 778
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager._default_checkpoints_kwargs
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 787
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.dir_exists
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 806
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.is_hidden
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024754c10>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 823
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.file_exists
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 842
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.exists
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 3
    functionsReached:
    - os.path.splitdrive
    - <builtin>.str
    - os.path.isdir
    - jupyter_core.utils.ensure_async
    - os.path.isfile
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - path.strip
    - os.path.abspath
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.manager.AsyncContentsManager.dir_exists
    - os.lstat
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - typing.NewType
    - os.path.join
    - os.path.normpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f8024754340>
    - <ast.Constant object at 0x7f8024754220>
    - <ast.Constant object at 0x7f802455abb0>
    - <ast.Constant object at 0x7f802455ae50>
    argNames:
    - self
    - path
    - content
    - type
    - format
    - require_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 861
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.get
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 873
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.save
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 883
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.delete_file
    functionSourceFile: jupyter_server.services.contents.manager
    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
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 887
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.rename_file
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 894
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.delete
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - <builtin>.set
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file.is_non_empty_dir
    - os_path.startswith
    - anyio.to_thread.run_sync
    - os.path.join
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os_path.strip
    - os.path.normpath
    - <builtin>.str
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os.path.isdir
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - traitlets.Instance.delete_all_checkpoints
    - <builtin>.getattr
    - typing.NewType
    - os.path.abspath
    - path.strip
    - send2trash.send2trash
    - os.path.exists
    - os.access
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.services.contents.manager.AsyncContentsManager.delete_file
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_api_path
    - jupyter_server.utils.to_os_path
    - os.lstat
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - old_path
    - new_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 904
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.rename
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 1
    functionsReached:
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - os_path.startswith
    - os.path.samefile
    - anyio.to_thread.run_sync
    - os.path.join
    - os_path.strip
    - os.path.normpath
    - <builtin>.str
    - path.lower
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - other_path.lower
    - typing.NewType
    - os.path.abspath
    - path.strip
    - os.stat
    - os.path.exists
    - new_path.strip
    - <builtin>.len
    - os.path.splitdrive
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.samefile_simple
    - traitlets.Instance.rename_all_checkpoints
    - jupyter_server.utils.to_api_path
    - old_path.strip
    - jupyter_server.utils.to_os_path
    - os.lstat
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 910
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.update
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - nbformat.validate
    - contents.append
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os_path.startswith
    - os.path.samefile
    - path.rsplit
    - os.path.join
    - validation_error.get
    - <builtin>.str
    - os.path.isdir
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_core.paths.is_file_hidden
    - <builtin>.isinstance
    - os.stat
    - new_path.strip
    - jupyter_server.services.contents.fileio.async_replace_file
    - model.get
    - <builtin>.any
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - bcontent.decode
    - os.path.isfile
    - <builtin>.len
    - json.dumps
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_api_path
    - old_path.strip
    - os.path.split
    - os.lstat
    - traitlets.Instance.mark_cells
    - stat.S_ISDIR
    - functools.partial
    - anyio.to_thread.run_sync
    - os_path.strip
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - mimetypes.guess_type
    - other_path.lower
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - model.update
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISREG
    - os.path.exists
    - os.path.splitdrive
    - jupyter_server.utils.samefile_simple
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.fileio.path_to_invalid
    - hashlib.new
    - h.update
    - jupyter_server.services.contents.manager.AsyncContentsManager.rename
    - datetime.datetime
    - os.path.normpath
    - h.hexdigest
    - path.lower
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - typing.NewType
    - os.path.abspath
    - path.endswith
    - path.strip
    - os.access
    - jupyter_server.services.contents.manager.AsyncContentsManager.get
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - traitlets.Instance.rename_all_checkpoints
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file
    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 0x7f80259d2070>
    - <ast.Constant object at 0x7f80259d24c0>
    argNames:
    - self
    - filename
    - path
    - insert
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 923
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.increment_filename
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 2
    functionsReached:
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - os.path.join
    - os.path.normpath
    - <builtin>.str
    - os.path.isdir
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - traitlets.Unicode.rpartition
    - os.path.abspath
    - typing.NewType
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - os.path.isfile
    - os.path.splitdrive
    - jupyter_core.utils.ensure_async
    - itertools.count
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.manager.AsyncContentsManager.dir_exists
    - jupyter_server.services.contents.manager.AsyncContentsManager.exists
    - os.lstat
    - traitlets.Unicode.partition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f8024a85220>
    - <ast.Constant object at 0x7f8024a85670>
    - <ast.Constant object at 0x7f8024a85b20>
    argNames:
    - self
    - path
    - type
    - ext
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 956
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.new_untitled
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - nbformat.validate
    - contents.append
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os_path.startswith
    - path.rsplit
    - os.path.join
    - traitlets.Instance.list_checkpoints
    - validation_error.get
    - <builtin>.str
    - os.path.isdir
    - base64.decodebytes
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_core.paths.is_file_hidden
    - <builtin>.isinstance
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.services.contents.fileio.async_replace_file
    - itertools.count
    - model.get
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - <builtin>.any
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - base64.b64decode
    - os.readlink
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - bcontent.decode
    - nbformat.v4.new_notebook.encode
    - os.path.isfile
    - <builtin>.len
    - json.dumps
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_api_path
    - os.path.split
    - jupyter_server.services.contents.manager.AsyncContentsManager.exists
    - os.lstat
    - traitlets.Instance.mark_cells
    - stat.S_ISDIR
    - functools.partial
    - anyio.to_thread.run_sync
    - os_path.strip
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - nbformat.from_dict
    - mimetypes.guess_type
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.manager.AsyncContentsManager.increment_filename
    - traitlets.Unicode.rpartition
    - model.update
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISREG
    - traitlets.Instance.check_cells
    - os.path.exists
    - os.path.splitdrive
    - fileobj.close
    - jupyter_server.services.contents.fileio._simple_writing
    - traitlets.Instance.sign
    - os.path.dirname
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.manager.AsyncContentsManager.dir_exists
    - jupyter_server.services.contents.manager.AsyncContentsManager.new
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    - <builtin>.open
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_invalid
    - h.update
    - <builtin>.super
    - datetime.datetime
    - os.path.normpath
    - h.hexdigest
    - os.path.islink
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - traitlets.Instance.create_checkpoint
    - typing.NewType
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - os.path.abspath
    - path.endswith
    - path.strip
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - kwargs.setdefault
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - os.access
    - model.setdefault
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.v4.new_notebook
    - traitlets.Unicode.partition
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f80252eb8e0>
    - <ast.Constant object at 0x7f80252ebb50>
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 995
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.new
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 1
    functionsReached:
    - datetime.datetime.fromtimestamp
    - nbformat.validate
    - contents.append
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os_path.startswith
    - path.rsplit
    - os.path.join
    - traitlets.Instance.list_checkpoints
    - validation_error.get
    - <builtin>.str
    - os.path.isdir
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - base64.decodebytes
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_core.paths.is_file_hidden
    - <builtin>.isinstance
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.services.contents.fileio.async_replace_file
    - model.get
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - <builtin>.any
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - base64.b64decode
    - os.readlink
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - bcontent.decode
    - nbformat.v4.new_notebook.encode
    - os.path.isfile
    - <builtin>.len
    - json.dumps
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_api_path
    - os.path.split
    - os.lstat
    - traitlets.Instance.mark_cells
    - stat.S_ISDIR
    - functools.partial
    - anyio.to_thread.run_sync
    - os_path.strip
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - nbformat.from_dict
    - mimetypes.guess_type
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - model.update
    - traitlets.Instance.check_signature
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISREG
    - traitlets.Instance.check_cells
    - os.path.exists
    - os.path.splitdrive
    - fileobj.close
    - jupyter_server.services.contents.fileio._simple_writing
    - traitlets.Instance.sign
    - os.path.dirname
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    - <builtin>.open
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_invalid
    - h.update
    - <builtin>.super
    - datetime.datetime
    - os.path.normpath
    - h.hexdigest
    - os.path.islink
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - traitlets.Instance.create_checkpoint
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - typing.NewType
    - os.path.abspath
    - path.endswith
    - path.strip
    - kwargs.setdefault
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - os.access
    - model.setdefault
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - nbformat.v4.new_notebook
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 4
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8024d3fee0>
    argNames:
    - self
    - from_path
    - to_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1022
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.copy
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - nbformat.validate
    - contents.append
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os_path.startswith
    - path.rsplit
    - os.path.join
    - traitlets.Instance.list_checkpoints
    - validation_error.get
    - <builtin>.str
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - os.path.isdir
    - base64.decodebytes
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_core.paths.is_file_hidden
    - <builtin>.isinstance
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file
    - jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks
    - jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint
    - jupyter_server.services.contents.fileio.async_replace_file
    - itertools.count
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file
    - model.get
    - <builtin>.any
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - base64.b64decode
    - os.readlink
    - base64.encodebytes.decode
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - bcontent.decode
    - nbformat.v4.new_notebook.encode
    - os.path.isfile
    - <builtin>.len
    - json.dumps
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - copy_pat.sub
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.utils.to_api_path
    - os.path.split
    - jupyter_server.services.contents.manager.AsyncContentsManager.exists
    - os.lstat
    - traitlets.Instance.mark_cells
    - stat.S_ISDIR
    - functools.partial
    - anyio.to_thread.run_sync
    - os_path.strip
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - model.pop
    - nbformat.from_dict
    - mimetypes.guess_type
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - model.update
    - jupyter_server.services.contents.manager.AsyncContentsManager.increment_filename
    - traitlets.Instance.check_signature
    - traitlets.Unicode.rpartition
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - stat.S_ISREG
    - to_path.strip
    - traitlets.Instance.check_cells
    - os.path.exists
    - os.path.splitdrive
    - fileobj.close
    - jupyter_server.services.contents.fileio._simple_writing
    - traitlets.Instance.sign
    - os.path.dirname
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.manager.AsyncContentsManager.dir_exists
    - jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save
    - <builtin>.open
    - hashlib.new
    - jupyter_server.services.contents.fileio.path_to_invalid
    - h.update
    - <builtin>.super
    - datetime.datetime
    - os.path.normpath
    - h.hexdigest
    - os.path.islink
    - traitlets.config.Configurable.strip
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - traitlets.Instance.create_checkpoint
    - typing.NewType
    - jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks
    - os.path.abspath
    - path.endswith
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists
    - path.strip
    - kwargs.setdefault
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save
    - os.access
    - jupyter_server.services.contents.manager.AsyncContentsManager.get
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - to_path.rsplit
    - traitlets.Unicode.partition
    linkageType: pythonLinkage
    raised:
    - HTTPError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1068
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.trust_notebook
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - datetime.datetime.fromtimestamp
    - traitlets.Instance.mark_cells
    - stat.S_ISDIR
    - nbformat.validate
    - jupyter_server.services.contents.fileio.path_to_invalid
    - hashlib.new
    - contents.append
    - h.update
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_hash
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get
    - os_path.startswith
    - functools.partial
    - path.rsplit
    - anyio.to_thread.run_sync
    - os.path.join
    - datetime.datetime
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_writable
    - os.path.normpath
    - h.hexdigest
    - <builtin>.str
    - base64.encodebytes
    - jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403
    - os_path.strip
    - validation_error.get
    - os.path.isdir
    - jupyter_server.services.contents.filemanager.FileContentsManager._base_model
    - jupyter_server.services.contents.fileio.path_to_intermediate
    - stat.S_ISLNK
    - fnmatch.fnmatch
    - base64.encodebytes.decode
    - mimetypes.guess_type
    - jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path
    - jupyter_server._tz.utcfromtimestamp
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model
    - jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model
    - jupyter_server.services.contents.manager.ContentsManager.should_list
    - jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells
    - model.update
    - jupyter_core.paths.is_file_hidden
    - typing.NewType
    - traitlets.Instance.check_signature
    - <builtin>.isinstance
    - os.path.abspath
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file
    - jupyter_server.services.contents.fileio.FileManagerMixin.open
    - jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden
    - stat.S_ISREG
    - path.endswith
    - path.strip
    - bcontent.decode
    - traitlets.Instance.check_cells
    - os.path.exists
    - os.access
    - os.path.isfile
    - json.dumps
    - os.path.splitdrive
    - <builtin>.len
    - jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model
    - traitlets.Instance.sign
    - jupyter_server.services.contents.manager.AsyncContentsManager.get
    - jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model
    - jupyter_server.services.contents.manager.ContentsManager.emit
    - jupyter_server.services.contents.fileio.async_replace_file
    - jupyter_server.utils.to_api_path
    - os.path.split
    - jupyter_server.utils.to_os_path
    - jupyter_server.services.contents.filemanager.FileContentsManager.exists
    - os.lstat
    - <builtin>.any
    - jupyter_server.services.contents.manager.ContentsManager.check_and_sign
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1087
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.restore_checkpoint
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.restore_checkpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1093
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.list_checkpoints
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.list_checkpoints
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - checkpoint_id
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1097
    functionName: jupyter_server.services.contents.manager.AsyncContentsManager.delete_checkpoint
    functionSourceFile: jupyter_server.services.contents.manager
    functionUses: 0
    functionsReached:
    - traitlets.Instance.delete_checkpoint
    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: jupyter_server.files.handlers
    functionSourceFile: jupyter_server.files.handlers
    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: 32
    functionName: jupyter_server.files.handlers.FilesHandler.content_security_policy
    functionSourceFile: jupyter_server.files.handlers
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.files.handlers.FilesHandler
    functionSourceFile: jupyter_server.files.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 40
    functionName: jupyter_server.files.handlers.FilesHandler.head
    functionSourceFile: jupyter_server.files.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - tornado.web.RequestHandler.settings.get
    - <builtin>.hasattr
    - path.rsplit
    - tornado.web.RequestHandler.get_argument
    - path.split
    - tornado.web.RequestHandler.write
    - base64.decodebytes
    - mimetypes.guess_type
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - <builtin>.bool
    - path.strip
    - jupyter_server.files.handlers.FilesHandler.get
    - urllib.parse.quote
    - tornado.web.RequestHandler.flush
    - re.match
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - jupyter_core.utils.ensure_async
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - name.lower
    - jupyter_server.utils.url_escape
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.set_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 14
    IfCount: 11
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f802526d730>
    argNames:
    - self
    - path
    - include_body
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 48
    functionName: jupyter_server.files.handlers.FilesHandler.get
    functionSourceFile: jupyter_server.files.handlers
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - tornado.web.RequestHandler.settings.get
    - <builtin>.hasattr
    - path.rsplit
    - tornado.web.RequestHandler.get_argument
    - path.split
    - tornado.web.RequestHandler.write
    - base64.decodebytes
    - mimetypes.guess_type
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.base.handlers.JupyterHandler.check_referer
    - jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie
    - <builtin>.bool
    - path.strip
    - urllib.parse.quote
    - tornado.web.RequestHandler.flush
    - re.match
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - jupyter_core.utils.ensure_async
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - name.lower
    - jupyter_server.utils.url_escape
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.set_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: tornado.web.RequestHandler.flush
    functionSourceFile: tornado
    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: jupyter_server.files
    functionSourceFile: jupyter_server.files
    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: 0
    functionLinenumber: -1
    functionName: jupyter_server.gateway.connections
    functionSourceFile: jupyter_server.gateway.connections
    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: jupyter_server.gateway.connections.GatewayWebSocketConnection
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    - traitlets.Unicode
    - traitlets.Int
    - traitlets.Bool
    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: 2
    functionLinenumber: 40
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection.connect
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 0
    functionsReached:
    - typing.cast
    - traitlets.config.SingletonConfigurable.instance
    - loop.add_future
    - tornado.ioloop.IOLoop.current
    - tornado.escape.url_escape
    - traitlets.Instance.add_done_callback
    - typing.cast.add_done_callback
    - tornado.httpclient.HTTPRequest
    - tornado.websocket.websocket_connect
    - s.strip
    - jupyter_server.utils.url_path_join
    - traitlets.config.LoggingConfigurable.log.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: tornado.websocket.websocket_connect
    functionSourceFile: tornado
    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: typing.cast.add_done_callback
    functionSourceFile: typing
    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: 4
    functionLinenumber: -1
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection.connect.<lambda1>
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 0
    functionsReached:
    - tornado.escape.json_decode
    - <builtin>.min
    - traitlets.Instance.write_message
    - jupyter_server.gateway.connections.GatewayWebSocketConnection._read_messages
    - jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_outgoing_message
    - jupyter_server.gateway.connections.GatewayWebSocketConnection._get_message_summary
    - traitlets.config.LoggingConfigurable.log.error
    - tornado.ioloop.IOLoop.current
    - message.decode
    - traitlets.config.LoggingConfigurable.log.isEnabledFor
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - random.randint
    - tornado.escape.utf8
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.info
    - loop.spawn_callback
    - traitlets.Instance.read_message
    - traitlets.config.SingletonConfigurable.instance
    - asyncio.sleep
    - summary.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 7
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 88
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection._read_messages
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 1
    functionsReached:
    - tornado.escape.json_decode
    - <builtin>.min
    - traitlets.Instance.write_message
    - jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_outgoing_message
    - jupyter_server.gateway.connections.GatewayWebSocketConnection._get_message_summary
    - traitlets.config.LoggingConfigurable.log.error
    - tornado.ioloop.IOLoop.current
    - message.decode
    - traitlets.config.LoggingConfigurable.log.isEnabledFor
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - random.randint
    - tornado.escape.utf8
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.log.info
    - loop.spawn_callback
    - traitlets.Instance.read_message
    - traitlets.config.SingletonConfigurable.instance
    - asyncio.sleep
    - summary.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: loop.add_future
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fut
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection._connection_done
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 0
    functionsReached:
    - traitlets.config.SingletonConfigurable.instance
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.config.LoggingConfigurable.log.warning
    - fut.result
    - fut.exception
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fut.exception
    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: fut.result
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    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: 1
    functionLinenumber: 77
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection.disconnect
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.debug
    - traitlets.Instance.close
    - traitlets.Instance.cancel
    - traitlets.Instance.done
    - typing.cast.done
    - typing.cast.cancel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.close
    functionSourceFile: traitlets
    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: typing.cast.done
    functionSourceFile: typing
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast.cancel
    functionSourceFile: typing
    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: traitlets.Instance.cancel
    functionSourceFile: traitlets
    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: traitlets.Instance.read_message
    functionSourceFile: traitlets
    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: message.decode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - incoming_msg
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 133
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_outgoing_message
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 2
    functionsReached:
    - tornado.escape.json_decode
    - traitlets.Instance.write_message
    - tornado.escape.utf8
    - traitlets.config.LoggingConfigurable.log.isEnabledFor
    - summary.append
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.gateway.connections.GatewayWebSocketConnection._get_message_summary
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loop.spawn_callback
    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: traitlets.Instance.write_message
    functionSourceFile: traitlets
    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: traitlets.config.LoggingConfigurable.log.isEnabledFor
    functionSourceFile: traitlets
    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: tornado.escape.utf8
    functionSourceFile: tornado
    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: tornado.escape.json_decode
    functionSourceFile: tornado
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - message
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 163
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection._get_message_summary
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 3
    functionsReached:
    - summary.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 146
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_incoming_message
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 1
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.error
    - loop.add_future
    - traitlets.Instance.write_message
    - tornado.ioloop.IOLoop.current
    - jupyter_server.gateway.connections.GatewayWebSocketConnection._write_message
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_incoming_message.<lambda1>
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.error
    - loop.add_future
    - traitlets.Instance.write_message
    - tornado.ioloop.IOLoop.current
    - jupyter_server.gateway.connections.GatewayWebSocketConnection._write_message
    - jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_incoming_message
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 154
    functionName: jupyter_server.gateway.connections.GatewayWebSocketConnection._write_message
    functionSourceFile: jupyter_server.gateway.connections
    functionUses: 2
    functionsReached:
    - traitlets.config.LoggingConfigurable.log.error
    - traitlets.Instance.write_message
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: summary.append
    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: jupyter_server.services.kernels
    functionSourceFile: jupyter_server.services.kernels
    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: 0
    functionLinenumber: -1
    functionName: jupyter_server.gateway.gateway_client
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: jupyter_server.gateway.gateway_client.GatewayTokenRenewerBase
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - auth_header_key
    - auth_scheme
    - auth_token
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 62
    functionName: jupyter_server.gateway.gateway_client.GatewayTokenRenewerBase.get_token
    functionSourceFile: jupyter_server.gateway.gateway_client
    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
    - auth_header_key
    - auth_scheme
    - auth_token
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 80
    functionName: jupyter_server.gateway.gateway_client.NoOpTokenRenewer.get_token
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: jupyter_server.gateway.gateway_client.GatewayClient
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - traitlets.Float
    - traitlets.observe
    - traitlets.Bool
    - traitlets.Type
    - <builtin>.list
    - traitlets.Instance.tag
    - traitlets.default
    - traitlets.validate
    - traitlets.Int
    - os.environ.get
    - traitlets.Instance
    - <builtin>.int
    - traitlets.Unicode
    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: 102
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._default_event_logger
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - jupyter_events.EventLogger
    - <builtin>.hasattr
    - jupyter_events.EventLogger.register_event_schema
    - traitlets.config.SingletonConfigurable.log.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: traitlets.config.SingletonConfigurable.log.info
    functionSourceFile: traitlets
    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: 114
    functionName: jupyter_server.gateway.gateway_client.GatewayClient.emit
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: 1
    functionLinenumber: 132
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._url_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 136
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._url_validate
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.str
    - jupyter_server.gateway.gateway_client.GatewayClient.emit
    linkageType: pythonLinkage
    raised:
    - TraitError
    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: 157
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._ws_url_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - traitlets.Unicode.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: traitlets.Unicode.lower
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - proposal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 164
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._ws_url_validate
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.str
    - jupyter_server.gateway.gateway_client.GatewayClient.emit
    linkageType: pythonLinkage
    raised:
    - TraitError
    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: 182
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._kernels_endpoint_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 194
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._kernelspecs_endpoint_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 209
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._kernelspecs_resource_endpoint_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 225
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._connect_timeout_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.float
    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: 237
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._request_timeout_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.float
    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: 250
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._client_key_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 263
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._client_cert_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 276
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._ca_certs_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 289
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._http_user_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 302
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._http_pwd_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 317
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._headers_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 336
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._auth_header_key_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 353
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._auth_token_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 366
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._auth_scheme_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 379
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._validate_cert_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.str
    - <builtin>.bool
    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: 397
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._allowed_envs_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 421
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_interval_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.float
    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: 439
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_interval_max_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.float
    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: 457
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_max_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 471
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._gateway_token_renewer_class_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 487
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._launch_timeout_pad_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.float
    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: 506
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._accept_cookies_default
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.str
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 519
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._deprecated_trait
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.setattr
    - traitlets.config.SingletonConfigurable.log.warning
    - <builtin>.getattr
    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: 535
    functionName: jupyter_server.gateway.gateway_client.GatewayClient.gateway_enabled
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 545
    functionName: jupyter_server.gateway.gateway_client.GatewayClient.__init__
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - traitlets.Type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 2
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 554
    functionName: jupyter_server.gateway.gateway_client.GatewayClient.init_connection_args
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 1
    functionsReached:
    - json.loads
    - <builtin>.str
    - <builtin>.float
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 6
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 592
    functionName: jupyter_server.gateway.gateway_client.GatewayClient.load_connection_args
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - connection_args.get
    - datetime.datetime.now
    - expired_keys.append
    - jupyter_server.gateway.gateway_client.GatewayClient._clear_expired_cookies
    - <builtin>.str
    - traitlets.config.SingletonConfigurable._cookies.items
    - <builtin>.float
    - given_value.update
    - traitlets.config.SingletonConfigurable._cookies.pop
    - <builtin>.isinstance
    - header_key.lower
    - <builtin>.next
    - headers.get
    - kwargs.setdefault
    - <builtin>.int
    - <builtin>.len
    - json.loads
    - expired_timedelta.total_seconds
    - jupyter_server.gateway.gateway_client.GatewayClient._update_cookie_header
    - traitlets.config.SingletonConfigurable.log.error
    - morsel.get
    - jupyter_server.gateway.gateway_client.GatewayClient.init_connection_args
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.SingletonConfigurable.log.error
    functionSourceFile: traitlets
    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: given_value.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - connection_args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 664
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._update_cookie_header
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 1
    functionsReached:
    - header_key.lower
    - expired_timedelta.total_seconds
    - <builtin>.next
    - headers.get
    - traitlets.config.SingletonConfigurable._cookies.items
    - connection_args.get
    - <builtin>.float
    - datetime.datetime.now
    - traitlets.config.SingletonConfigurable._cookies.pop
    - morsel.get
    - expired_keys.append
    - jupyter_server.gateway.gateway_client.GatewayClient._clear_expired_cookies
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - cookie
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 633
    functionName: jupyter_server.gateway.gateway_client.GatewayClient.update_cookies
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - cookie.items
    - <builtin>.str
    - datetime.datetime.now
    - email.utils.parsedate_to_datetime
    - item.get
    - email.utils.parsedate_to_datetime.total_seconds
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cookie.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: item.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: email.utils.parsedate_to_datetime
    functionSourceFile: email
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: email.utils.parsedate_to_datetime.total_seconds
    functionSourceFile: email
    functionUses: 1
    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: 648
    functionName: jupyter_server.gateway.gateway_client.GatewayClient._clear_expired_cookies
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 2
    functionsReached:
    - expired_timedelta.total_seconds
    - traitlets.config.SingletonConfigurable._cookies.items
    - <builtin>.float
    - datetime.datetime.now
    - traitlets.config.SingletonConfigurable._cookies.pop
    - morsel.get
    - expired_keys.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: traitlets.config.SingletonConfigurable._cookies.items
    functionSourceFile: traitlets
    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: morsel.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: expired_timedelta.total_seconds
    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: expired_keys.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.SingletonConfigurable._cookies.pop
    functionSourceFile: traitlets
    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: connection_args.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: header_key.lower
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.next
    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: headers.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.gateway.gateway_client.RetryableHTTPClient
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 0
    functionsReached:
    - <builtin>.min
    - <builtin>.max
    - os.getenv
    - <builtin>.int
    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: 706
    functionName: jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 13
    functionsReached:
    - tornado.httpclient.AsyncHTTPClient
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - endpoint
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 711
    functionName: jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 13
    functionsReached:
    - logging.getLogger
    - asyncio.sleep
    - <builtin>.isinstance
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - endpoint
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 719
    functionName: jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 14
    functionsReached:
    - logging.getLogger
    - asyncio.sleep
    - <builtin>.isinstance
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - method
    - exception
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 737
    functionName: jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 15
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.any
    - asyncio.sleep
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 9
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - endpoint
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 759
    functionName: jupyter_server.gateway.gateway_client.gateway_request
    functionSourceFile: jupyter_server.gateway.gateway_client
    functionUses: 12
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - cookie.load
    - gateway_client.emit
    - error_payload.get
    - <builtin>.isinstance
    - http.cookies.SimpleCookie
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - gateway_client.update_cookies
    - json.loads
    - traitlets.config.SingletonConfigurable.instance
    - logging.getLogger
    - gateway_client.load_connection_args
    - asyncio.sleep
    - response.headers.get
    - <builtin>.any
    - e.response.body.decode
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - tornado.httpclient.AsyncHTTPClient
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: gateway_client.load_connection_args
    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: gateway_client.emit
    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: error_payload.get
    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: e.response.body.decode
    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: response.headers.get
    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: http.cookies.SimpleCookie
    functionSourceFile: http
    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: cookie.load
    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: gateway_client.update_cookies
    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: jupyter_server.services.kernels.connection
    functionSourceFile: jupyter_server.services.kernels.connection
    functionUses: 0
    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: -1
    functionName: jupyter_server.services.kernels.connection.base
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 0
    functionsReached:
    - abc.ABC.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.copy
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: buffers.insert
    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: offsets.append
    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: struct.pack
    functionSourceFile: struct
    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: struct.unpack
    functionSourceFile: struct
    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: bufs.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: channel.encode
    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: offset.to_bytes
    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: int.from_bytes
    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: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 0
    functionsReached:
    - traitlets.Float
    - traitlets.default
    - traitlets.Instance
    - traitlets.Unicode
    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: 131
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.kernel_manager
    functionSourceFile: jupyter_server.services.kernels.connection.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: 136
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.multi_kernel_manager
    functionSourceFile: jupyter_server.services.kernels.connection.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: 141
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.kernel_id
    functionSourceFile: jupyter_server.services.kernels.connection.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: 146
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.session_id
    functionSourceFile: jupyter_server.services.kernels.connection.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: 153
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection._default_kernel_info_timeout
    functionSourceFile: jupyter_server.services.kernels.connection.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: 5
    functionLinenumber: 159
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection._default_session
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 0
    functionsReached:
    - jupyter_client.jsonutil.json_clean
    - <builtin>.set
    - pickle.dumps
    - datetime.datetime.now
    - <builtin>.super
    - jupyter_client.session.pickle_packer
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session._check_packers.<lambda2>
    - obj.isoformat
    - <builtin>.hasattr
    - jupyter_client.session.Session.__init__
    - <builtin>.str
    - jupyter_client.session.utcnow
    - <builtin>.float
    - os.getpid
    - warnings.warn
    - <builtin>.isinstance
    - <builtin>.type
    - jupyter_client.session.json_packer
    - s.decode
    - jupyter_client.session.Session._new_auth
    - obj.items
    - traitlets.log.get_logger.warning
    - <builtin>.list
    - traitlets.Any
    - pickle.loads
    - traitlets.log.get_logger
    - obj.strftime
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - math.isinf
    - <builtin>.int
    - jupyter_client.session.json_unpacker
    - <builtin>.map
    - json.dumps
    - <builtin>.len
    - json.loads
    - binascii.b2a_base64
    - jupyter_client.session.Session._check_packers.<lambda1>
    - math.isnan
    - hmac.HMAC
    - <builtin>.repr
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session._check_packers
    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: 164
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.connect
    functionSourceFile: jupyter_server.services.kernels.connection.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: 168
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.disconnect
    functionSourceFile: jupyter_server.services.kernels.connection.base
    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
    - incoming_msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 172
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.handle_incoming_message
    functionSourceFile: jupyter_server.services.kernels.connection.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - stream
    - outgoing_msg
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 176
    functionName: jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.handle_outgoing_message
    functionSourceFile: jupyter_server.services.kernels.connection.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: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.connection.abc
    functionSourceFile: jupyter_server.services.kernels.connection.abc
    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: jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC
    functionSourceFile: jupyter_server.services.kernels.connection.abc
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    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: 16
    functionName: jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.connect
    functionSourceFile: jupyter_server.services.kernels.connection.abc
    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: 20
    functionName: jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.disconnect
    functionSourceFile: jupyter_server.services.kernels.connection.abc
    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
    - incoming_msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 24
    functionName: jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.handle_incoming_message
    functionSourceFile: jupyter_server.services.kernels.connection.abc
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - stream
    - outgoing_msg
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 28
    functionName: jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.handle_outgoing_message
    functionSourceFile: jupyter_server.services.kernels.connection.abc
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 11
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.extension.serverextension
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - flags.update
    - _base_flags.update
    - _base_flags.pop
    - jupyter_core.application.JupyterApp.launch_instance
    - flags.pop
    - _base_aliases.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024525e50>
    - <ast.Constant object at 0x7f80245257f0>
    argNames:
    - user
    - sys_prefix
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 22
    functionName: jupyter_server.extension.serverextension._get_config_dir
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 7
    functionsReached:
    - jupyter_core.paths.jupyter_config_dir
    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 0x7f8024e925b0>
    - <ast.Constant object at 0x7f8024e92b80>
    - <ast.Constant object at 0x7f8024e92dc0>
    argNames:
    - write_dir
    - user
    - sys_prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 45
    functionName: jupyter_server.extension.serverextension._get_extmanager_for_context
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 2
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server.extension.serverextension._get_config_dir
    - os.path.join
    - jupyter_core.paths.jupyter_config_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: _base_flags.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _base_flags.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: _base_aliases.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.extension.serverextension.BaseExtensionApp
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - traitlets.Bool
    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: 135
    functionName: jupyter_server.extension.serverextension.BaseExtensionApp._log_format_default
    functionSourceFile: jupyter_server.extension.serverextension
    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: 2
    functionLinenumber: 140
    functionName: jupyter_server.extension.serverextension.BaseExtensionApp.config_dir
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - jupyter_server.extension.serverextension._get_config_dir
    - jupyter_core.paths.jupyter_config_dir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f8024763640>
    - <ast.Constant object at 0x7f80247630a0>
    - <ast.Constant object at 0x7f8024763fd0>
    - <ast.Constant object at 0x7f8024763160>
    argNames:
    - import_name
    - enabled
    - parent
    - user
    - sys_prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 156
    functionName: jupyter_server.extension.serverextension.toggle_server_extension_python
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - jupyter_server.extension.config.ExtensionConfigManager.disable
    - new.items
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - jupyter_server.services.config.manager.ConfigManager.update
    - data.items
    - os.path.join
    - jupyter_server.extension.config.ExtensionConfigManager.enable
    - jupyter_server.extension.serverextension._get_config_dir
    - glob.glob
    - <builtin>.sorted
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - copy.deepcopy
    - <builtin>.list
    - jupyter_server.config_manager.remove_defaults
    - traitlets.Instance.update
    - os.path.getsize
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - jupyter_server.config_manager.BaseJSONConfigManager.update
    - jupyter_core.paths.jupyter_config_dir
    - f.write
    - os.path.isfile
    - json.dumps
    - jupyter_server.config_manager.recursive_update
    - json.load
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - os.makedirs
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 28
    functionName: jupyter_server.extension.config.ExtensionConfigManager.enable
    functionSourceFile: jupyter_server.extension.config
    functionUses: 1
    functionsReached:
    - <builtin>.open
    - new.items
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - jupyter_server.services.config.manager.ConfigManager.update
    - data.items
    - os.path.join
    - glob.glob
    - <builtin>.sorted
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - copy.deepcopy
    - <builtin>.list
    - jupyter_server.config_manager.remove_defaults
    - traitlets.Instance.update
    - os.path.getsize
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - jupyter_server.config_manager.BaseJSONConfigManager.update
    - os.path.isfile
    - f.write
    - json.dumps
    - jupyter_server.config_manager.recursive_update
    - json.load
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - os.makedirs
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 33
    functionName: jupyter_server.extension.config.ExtensionConfigManager.disable
    functionSourceFile: jupyter_server.extension.config
    functionUses: 1
    functionsReached:
    - <builtin>.open
    - new.items
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - jupyter_server.services.config.manager.ConfigManager.update
    - data.items
    - os.path.join
    - glob.glob
    - <builtin>.sorted
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - copy.deepcopy
    - <builtin>.list
    - jupyter_server.config_manager.remove_defaults
    - traitlets.Instance.update
    - os.path.getsize
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - jupyter_server.config_manager.BaseJSONConfigManager.update
    - os.path.isfile
    - f.write
    - json.dumps
    - jupyter_server.config_manager.recursive_update
    - json.load
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - os.makedirs
    - jupyter_server.config_manager.BaseJSONConfigManager.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: flags.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: 1
    functionLinenumber: -1
    functionName: jupyter_server.extension.serverextension.ToggleServerExtensionApp
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - traitlets.Bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - import_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 241
    functionName: jupyter_server.extension.serverextension.ToggleServerExtensionApp.toggle_server_extension
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 1
    functionsReached:
    - importlib.import_module
    - jupyter_core.application.JupyterApp.log.info
    - <builtin>.super
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - os.path.join
    - jupyter_server.extension.utils.get_metadata
    - jupyter_server.extension.serverextension._get_config_dir
    - time.perf_counter
    - module._jupyter_server_extension_points
    - traitlets.config.LoggingConfigurable.log.debug
    - module._jupyter_server_extension_paths
    - config.disable
    - jupyter_server.extension.manager.ExtensionPackage.validate
    - extension.validate
    - traitlets.HasTraits.__init__
    - <builtin>.all
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - traitlets.Dict.values
    - traitlets.config.LoggingConfigurable.__init__
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_core.paths.jupyter_config_dir
    - jupyter_server.extension.serverextension._get_extmanager_for_context
    - config.enable
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.enable
    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: config.disable
    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: 5
    functionLinenumber: 281
    functionName: jupyter_server.extension.serverextension.ToggleServerExtensionApp.start
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - importlib.import_module
    - jupyter_core.application.JupyterApp.log.info
    - <builtin>.super
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - os.path.join
    - jupyter_server.extension.utils.get_metadata
    - jupyter_server.extension.serverextension._get_config_dir
    - jupyter_server.extension.serverextension.ToggleServerExtensionApp.toggle_server_extension
    - time.perf_counter
    - module._jupyter_server_extension_points
    - traitlets.config.LoggingConfigurable.log.debug
    - module._jupyter_server_extension_paths
    - config.disable
    - jupyter_server.extension.manager.ExtensionPackage.validate
    - extension.validate
    - <builtin>.all
    - traitlets.HasTraits.__init__
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - traitlets.Dict.values
    - sys.exit
    - traitlets.config.LoggingConfigurable.__init__
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_core.paths.jupyter_config_dir
    - jupyter_server.extension.serverextension._get_extmanager_for_context
    - config.enable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 326
    functionName: jupyter_server.extension.serverextension.ListServerExtensionsApp.list_server_extensions
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 1
    functionsReached:
    - <builtin>.open
    - importlib.import_module
    - jupyter_core.application.JupyterApp.log.info
    - new.items
    - <builtin>.super
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - os.path.join
    - jupyter_server.extension.utils.get_metadata
    - jupyter_server.extension.serverextension._get_config_dir
    - glob.glob
    - <builtin>.sorted
    - time.perf_counter
    - module._jupyter_server_extension_points
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.services.config.manager.ConfigManager.get
    - module._jupyter_server_extension_paths
    - jpserver_extensions.items
    - jupyter_server.extension.manager.ExtensionPackage.validate
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - extension.validate
    - <builtin>.all
    - traitlets.HasTraits.__init__
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - traitlets.Dict.values
    - os.path.getsize
    - traitlets.config.LoggingConfigurable.__init__
    - traitlets.config.LoggingConfigurable.log.warning
    - data.get
    - <builtin>.int
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - jupyter_core.paths.jupyter_config_dir
    - os.path.isfile
    - jupyter_server.config_manager.recursive_update
    - jupyter_core.application.JupyterApp.log.warning
    - json.load
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    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: jpserver_extensions.items
    functionSourceFile: <builtin>
    functionUses: 2
    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: 6
    functionLinenumber: 365
    functionName: jupyter_server.extension.serverextension.ListServerExtensionsApp.start
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - importlib.import_module
    - jupyter_core.application.JupyterApp.log.info
    - new.items
    - <builtin>.super
    - jupyter_server.extension.manager.ExtensionPackage._load_metadata
    - os.path.join
    - jupyter_server.extension.serverextension.ListServerExtensionsApp.list_server_extensions
    - jupyter_server.extension.utils.get_metadata
    - jupyter_server.extension.serverextension._get_config_dir
    - glob.glob
    - <builtin>.sorted
    - time.perf_counter
    - module._jupyter_server_extension_points
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.services.config.manager.ConfigManager.get
    - module._jupyter_server_extension_paths
    - jpserver_extensions.items
    - jupyter_server.extension.manager.ExtensionPackage.validate
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - extension.validate
    - <builtin>.all
    - traitlets.HasTraits.__init__
    - jupyter_server.extension.manager.ExtensionPackage.__init__
    - traitlets.Dict.values
    - os.path.getsize
    - traitlets.config.LoggingConfigurable.__init__
    - traitlets.config.LoggingConfigurable.log.warning
    - data.get
    - <builtin>.int
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - jupyter_core.paths.jupyter_config_dir
    - os.path.isfile
    - jupyter_server.config_manager.recursive_update
    - jupyter_core.application.JupyterApp.log.warning
    - json.load
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    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: 391
    functionName: jupyter_server.extension.serverextension.ServerExtensionApp.start
    functionSourceFile: jupyter_server.extension.serverextension
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.sorted
    - sys.exit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.launch_instance
    functionSourceFile: jupyter_core
    functionUses: 2
    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: jupyter_server.extension.config
    functionSourceFile: jupyter_server.extension.config
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - section_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 24
    functionName: jupyter_server.services.config.manager.ConfigManager.get
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 9
    functionsReached:
    - jupyter_server.config_manager.recursive_update
    - <builtin>.open
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - json.load
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - glob.glob
    - target.pop
    - <builtin>.sorted
    - os.path.getsize
    - new.items
    - traitlets.config.LoggingConfigurable.__init__
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.isinstance
    - os.path.isfile
    - os.path.join
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.config_manager.BaseJSONConfigManager.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: data.get
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Name object at 0x7f8024f1c430>
    - <ast.Constant object at 0x7f8024f1c580>
    argNames:
    - self
    - name
    - section_name
    - include_root
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 20
    functionName: jupyter_server.extension.config.ExtensionConfigManager.enabled
    functionSourceFile: jupyter_server.extension.config
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - new.items
    - os.path.join
    - glob.glob
    - <builtin>.sorted
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.services.config.manager.ConfigManager.get
    - jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions
    - os.path.getsize
    - traitlets.config.LoggingConfigurable.__init__
    - traitlets.config.LoggingConfigurable.log.warning
    - data.get
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - os.path.isfile
    - jupyter_server.config_manager.recursive_update
    - json.load
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - section_name
    - new_data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 37
    functionName: jupyter_server.services.config.manager.ConfigManager.update
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 3
    functionsReached:
    - <builtin>.open
    - new.items
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - data.items
    - os.path.join
    - glob.glob
    - <builtin>.sorted
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - copy.deepcopy
    - <builtin>.list
    - jupyter_server.config_manager.remove_defaults
    - traitlets.Instance.update
    - os.path.getsize
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - jupyter_server.config_manager.BaseJSONConfigManager.update
    - os.path.isfile
    - f.write
    - json.dumps
    - jupyter_server.config_manager.recursive_update
    - json.load
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - os.makedirs
    - jupyter_server.config_manager.BaseJSONConfigManager.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: jupyter_server.services
    functionSourceFile: jupyter_server.services
    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: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.config.manager
    functionSourceFile: jupyter_server.services.config.manager
    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: jupyter_server.services.config.manager.ConfigManager
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 0
    functionsReached:
    - traitlets.observe
    - traitlets.default
    - traitlets.List
    - traitlets.Unicode.tag
    - traitlets.Instance
    - traitlets.Unicode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8025129550>
    argNames:
    - self
    - section_name
    - include_root
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 80
    functionName: jupyter_server.config_manager.BaseJSONConfigManager.get
    functionSourceFile: jupyter_server.config_manager
    functionUses: 18
    functionsReached:
    - <builtin>.open
    - jupyter_server.config_manager.recursive_update
    - json.load
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - <builtin>.isinstance
    - glob.glob
    - <builtin>.sorted
    - target.pop
    - os.path.getsize
    - new.items
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - os.path.isfile
    - os.path.join
    - traitlets.config.LoggingConfigurable.log.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - target
    - new
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 20
    functionName: jupyter_server.config_manager.recursive_update
    functionSourceFile: jupyter_server.config_manager
    functionUses: 19
    functionsReached:
    - <builtin>.isinstance
    - jupyter_server.config_manager.recursive_update
    - target.pop
    - new.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - section_name
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 33
    functionName: jupyter_server.services.config.manager.ConfigManager.set
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - new.items
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - data.items
    - os.path.join
    - glob.glob
    - <builtin>.sorted
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - copy.deepcopy
    - <builtin>.list
    - jupyter_server.config_manager.remove_defaults
    - traitlets.Instance.set
    - os.path.getsize
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - os.path.isfile
    - f.write
    - json.dumps
    - jupyter_server.config_manager.recursive_update
    - json.load
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - os.makedirs
    - jupyter_server.config_manager.BaseJSONConfigManager.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - section_name
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 113
    functionName: jupyter_server.config_manager.BaseJSONConfigManager.set
    functionSourceFile: jupyter_server.config_manager
    functionUses: 7
    functionsReached:
    - <builtin>.open
    - new.items
    - data.items
    - os.path.join
    - glob.glob
    - <builtin>.sorted
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - copy.deepcopy
    - <builtin>.list
    - jupyter_server.config_manager.remove_defaults
    - os.path.getsize
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - os.path.isfile
    - f.write
    - json.dumps
    - jupyter_server.config_manager.recursive_update
    - json.load
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - os.makedirs
    - jupyter_server.config_manager.BaseJSONConfigManager.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: traitlets.Instance.set
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - section_name
    - new_data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 130
    functionName: jupyter_server.config_manager.BaseJSONConfigManager.update
    functionSourceFile: jupyter_server.config_manager
    functionUses: 5
    functionsReached:
    - <builtin>.open
    - new.items
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - data.items
    - os.path.join
    - glob.glob
    - <builtin>.sorted
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - copy.deepcopy
    - <builtin>.list
    - jupyter_server.config_manager.remove_defaults
    - os.path.getsize
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - os.path.isfile
    - f.write
    - json.dumps
    - jupyter_server.config_manager.recursive_update
    - json.load
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - os.makedirs
    - jupyter_server.config_manager.BaseJSONConfigManager.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: traitlets.Instance.update
    functionSourceFile: traitlets
    functionUses: 4
    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: jupyter_server.services.config.manager.ConfigManager._default_read_config_path
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 0
    functionsReached:
    - os.path.join
    - jupyter_core.paths.jupyter_config_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.paths.jupyter_config_path
    functionSourceFile: jupyter_core
    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: 52
    functionName: jupyter_server.services.config.manager.ConfigManager._default_write_config_dir
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 0
    functionsReached:
    - jupyter_core.paths.jupyter_config_dir
    - os.path.join
    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: 58
    functionName: jupyter_server.services.config.manager.ConfigManager._default_write_config_manager
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - change
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 62
    functionName: jupyter_server.services.config.manager.ConfigManager._update_write_config_dir
    functionSourceFile: jupyter_server.services.config.manager
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    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: jupyter_server.config_manager
    functionSourceFile: jupyter_server.config_manager
    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: new.items
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: target.pop
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - data
    - defaults
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 41
    functionName: jupyter_server.config_manager.remove_defaults
    functionSourceFile: jupyter_server.config_manager
    functionUses: 8
    functionsReached:
    - <builtin>.isinstance
    - data.items
    - <builtin>.list
    - jupyter_server.config_manager.remove_defaults
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.items
    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: traitlets.traitlets.Unicode
    functionSourceFile: traitlets
    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: jupyter_server.config_manager.BaseJSONConfigManager
    functionSourceFile: jupyter_server.config_manager
    functionUses: 0
    functionsReached:
    - traitlets.traitlets.Unicode
    - traitlets.traitlets.Bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.traitlets.Bool
    functionSourceFile: traitlets
    functionUses: 1
    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: 64
    functionName: jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    functionSourceFile: jupyter_server.config_manager
    functionUses: 8
    functionsReached:
    - os.makedirs
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - section_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 72
    functionName: jupyter_server.config_manager.BaseJSONConfigManager.file_name
    functionSourceFile: jupyter_server.config_manager
    functionUses: 19
    functionsReached:
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - section_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 76
    functionName: jupyter_server.config_manager.BaseJSONConfigManager.directory
    functionSourceFile: jupyter_server.config_manager
    functionUses: 19
    functionsReached:
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.getsize
    functionSourceFile: os
    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: copy.deepcopy
    functionSourceFile: copy
    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: jupyter_server.services.config
    functionSourceFile: jupyter_server.services.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: jupyter_server.extension
    functionSourceFile: jupyter_server.extension
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_server.gateway.managers
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - KernelClientABC.register
    - KernelManagerABC.register
    linkageType: 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: jupyter_server.gateway.managers.GatewayMappingKernelManager
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.default
    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: 47
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager._default_kernel_manager_class
    functionSourceFile: jupyter_server.gateway.managers
    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: 51
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager._default_shared_context
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 54
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.__init__
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - traitlets.config.SingletonConfigurable.instance
    - s.strip
    - jupyter_server.utils.url_path_join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 61
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.remove_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 2
    functionsReached:
    - traitlets.Dict.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 68
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.start_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - zmq.Context
    - <builtin>.str
    - jupyter_client.multikernelmanager.MultiKernelManager._context_default
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cwd_for_path
    - os.path.isdir
    - jupyter_server.services.kernels.kernelmanager.MappingKernelManager.initialize_culler
    - tornado.ioloop.IOLoop.current
    - traitlets.Any
    - os.path.dirname
    - kwargs.setdefault
    - traitlets.utils.importstring.import_item
    - tornado.ioloop.PeriodicCallback
    - jupyter_server.utils.to_os_path
    - tornado.ioloop.PeriodicCallback.start
    - km.start_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager
    - os.path.join
    - os.path.normpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 96
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.kernel_model
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 111
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.list_kernels
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 1
    functionsReached:
    - tornado.escape.json_decode
    - traitlets.Dict.copy
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - cookie.load
    - gateway_client.emit
    - error_payload.get
    - <builtin>.isinstance
    - http.cookies.SimpleCookie
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - <builtin>.list
    - jupyter_server.gateway.gateway_client.gateway_request
    - gateway_client.update_cookies
    - json.loads
    - traitlets.config.SingletonConfigurable.instance
    - logging.getLogger
    - gateway_client.load_connection_args
    - asyncio.sleep
    - culled_ids.append
    - traitlets.Dict.pop
    - kernel_models.values
    - response.headers.get
    - <builtin>.any
    - e.response.body.decode
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - tornado.httpclient.AsyncHTTPClient
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: culled_ids.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kernel_models.values
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f802475cfa0>
    - <ast.Constant object at 0x7f802475c9a0>
    argNames:
    - self
    - kernel_id
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 163
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.shutdown_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_core.utils.ensure_async
    - traitlets.Dict.pop
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_server.gateway.managers.GatewayMappingKernelManager.remove_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f802475c820>
    argNames:
    - self
    - kernel_id
    - now
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 179
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.restart_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.restart_kernel
    - jupyter_core.utils.ensure_async
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 190
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.interrupt_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_core.utils.ensure_async
    - traitlets.config.LoggingConfigurable.interrupt_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f80253eefd0>
    argNames:
    - self
    - now
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 201
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.shutdown_all
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - jupyter_core.utils.ensure_async
    - traitlets.Dict.pop
    - traitlets.config.LoggingConfigurable.shutdown_kernel
    - jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id
    - jupyter_client.multikernelmanager.MultiKernelManager.get_kernel
    - jupyter_server.gateway.managers.GatewayMappingKernelManager.remove_kernel
    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: 6
    functionLinenumber: 209
    functionName: jupyter_server.gateway.managers.GatewayMappingKernelManager.cull_kernels
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - tornado.escape.json_decode
    - <builtin>.super
    - traitlets.Dict.copy
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - cookie.load
    - gateway_client.emit
    - error_payload.get
    - <builtin>.isinstance
    - http.cookies.SimpleCookie
    - jupyter_server.gateway.managers.GatewayMappingKernelManager.list_kernels
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - <builtin>.list
    - jupyter_server.gateway.gateway_client.gateway_request
    - gateway_client.update_cookies
    - json.loads
    - traitlets.config.SingletonConfigurable.instance
    - logging.getLogger
    - gateway_client.load_connection_args
    - asyncio.sleep
    - culled_ids.append
    - traitlets.Dict.pop
    - kernel_models.values
    - response.headers.get
    - <builtin>.any
    - e.response.body.decode
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - tornado.httpclient.AsyncHTTPClient
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 218
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager.__init__
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._get_endpoint_for_user_filter
    - <builtin>.super
    - os.environ.get
    - s.strip
    - jupyter_server.utils.url_path_join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - default_endpoint
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 232
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager._get_endpoint_for_user_filter
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 1
    functionsReached:
    - os.environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_specs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 239
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager._replace_path_kernelspec_resources
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - traitlets.config.LoggingConfigurable.log.debug
    - str.rsplit
    - s.strip
    - jupyter_server.utils.url_path_join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: str.rsplit
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024dda160>
    argNames:
    - self
    - kernel_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 264
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager._get_kernelspecs_endpoint_url
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 3
    functionsReached:
    - s.strip
    - tornado.escape.url_escape
    - jupyter_server.utils.url_path_join
    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: 6
    functionLinenumber: 275
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager.get_all_specs
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - tornado.escape.json_decode
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._get_kernelspecs_endpoint_url
    - jupyter_server.utils.url_path_join
    - <builtin>.any
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._replace_path_kernelspec_resources
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - cookie.load
    - gateway_client.emit
    - error_payload.get
    - <builtin>.isinstance
    - http.cookies.SimpleCookie
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.gateway_request
    - tornado.escape.url_escape
    - gateway_client.update_cookies
    - fetched_kspecs.get
    - traitlets.config.LoggingConfigurable.log.info
    - json.loads
    - <builtin>.len
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_server.gateway.managers.GatewayKernelSpecManager.list_kernel_specs
    - logging.getLogger
    - gateway_client.load_connection_args
    - asyncio.sleep
    - response.headers.get
    - str.rsplit
    - s.strip
    - e.response.body.decode
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - tornado.httpclient.AsyncHTTPClient
    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: 297
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager.list_kernel_specs
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 1
    functionsReached:
    - tornado.escape.json_decode
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._get_kernelspecs_endpoint_url
    - jupyter_server.utils.url_path_join
    - <builtin>.any
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._replace_path_kernelspec_resources
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - cookie.load
    - gateway_client.emit
    - error_payload.get
    - <builtin>.isinstance
    - http.cookies.SimpleCookie
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.gateway_request
    - tornado.escape.url_escape
    - gateway_client.update_cookies
    - <builtin>.len
    - json.loads
    - traitlets.config.SingletonConfigurable.instance
    - logging.getLogger
    - gateway_client.load_connection_args
    - asyncio.sleep
    - response.headers.get
    - str.rsplit
    - s.strip
    - e.response.body.decode
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - tornado.httpclient.AsyncHTTPClient
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fetched_kspecs.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 306
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager.get_kernel_spec
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - tornado.escape.json_decode
    - jupyter_server.gateway.managers.GatewayKernelSpecManager._get_kernelspecs_endpoint_url
    - jupyter_server.utils.url_path_join
    - <builtin>.any
    - <builtin>.str
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - cookie.load
    - gateway_client.emit
    - error_payload.get
    - <builtin>.isinstance
    - http.cookies.SimpleCookie
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.gateway_request
    - tornado.escape.url_escape
    - gateway_client.update_cookies
    - json.loads
    - traitlets.config.SingletonConfigurable.instance
    - logging.getLogger
    - gateway_client.load_connection_args
    - asyncio.sleep
    - response.headers.get
    - s.strip
    - e.response.body.decode
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - tornado.httpclient.AsyncHTTPClient
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_name
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 331
    functionName: jupyter_server.gateway.managers.GatewayKernelSpecManager.get_kernel_spec_resource
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.utils.url_path_join
    - <builtin>.any
    - <builtin>.str
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - cookie.load
    - gateway_client.emit
    - error_payload.get
    - <builtin>.isinstance
    - http.cookies.SimpleCookie
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.gateway_request
    - gateway_client.update_cookies
    - json.loads
    - traitlets.config.SingletonConfigurable.instance
    - logging.getLogger
    - gateway_client.load_connection_args
    - asyncio.sleep
    - response.headers.get
    - s.strip
    - e.response.body.decode
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - tornado.httpclient.AsyncHTTPClient
    linkageType: 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: jupyter_server.gateway.managers.GatewaySessionManager
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 362
    functionName: jupyter_server.gateway.managers.GatewaySessionManager.kernel_culled
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.Instance.get_kernel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.get_kernel
    functionSourceFile: traitlets
    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: 2
    functionLinenumber: -1
    functionName: jupyter_server.gateway.managers.GatewayKernelManager
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event.wrap_method
    - traitlets.Type
    - traitlets.default
    - jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event
    - traitlets.DottedObjectName
    - functools.wraps
    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: 387
    functionName: jupyter_server.gateway.managers.GatewayKernelManager._default_cache_ports
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 390
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.__init__
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - s.strip
    - jupyter_server.utils.url_path_join
    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: 403
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.has_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 414
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.client
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.Instance.clone
    - traitlets.Type
    - jupyter_client.connect.ConnectionFileMixin.get_connection_info
    - info.update
    - kw.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f802437d7f0>
    argNames:
    - self
    - model
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 430
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.refresh_model
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 2
    functionsReached:
    - tornado.escape.json_decode
    - datetime.datetime.strptime
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - cookie.load
    - gateway_client.emit
    - error_payload.get
    - <builtin>.isinstance
    - http.cookies.SimpleCookie
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.gateway_request
    - gateway_client.update_cookies
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.int
    - json.loads
    - traitlets.config.SingletonConfigurable.instance
    - logging.getLogger
    - gateway_client.load_connection_args
    - asyncio.sleep
    - response.headers.get
    - <builtin>.any
    - e.response.body.decode
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - tornado.httpclient.AsyncHTTPClient
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 476
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.start_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - tornado.escape.json_decode
    - payload_envs.items
    - datetime.datetime.strptime
    - os.environ.get
    - kwargs.get
    - jupyter_server.utils.url_path_join
    - <builtin>.any
    - <builtin>.str
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - cookie.load
    - os.environ.copy
    - gateway_client.emit
    - error_payload.get
    - <builtin>.isinstance
    - http.cookies.SimpleCookie
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - traitlets.config.LoggingConfigurable.log.debug
    - tornado.escape.json_encode
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.gateway_request
    - tornado.escape.url_escape
    - payload_envs.update
    - gateway_client.update_cookies
    - traitlets.config.LoggingConfigurable.log.warning
    - k.startswith
    - <builtin>.int
    - traitlets.config.LoggingConfigurable.log.info
    - json.loads
    - traitlets.config.SingletonConfigurable.instance
    - logging.getLogger
    - gateway_client.load_connection_args
    - asyncio.sleep
    - response.headers.get
    - jupyter_server.gateway.managers.GatewayKernelManager.refresh_model
    - s.strip
    - e.response.body.decode
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - tornado.httpclient.AsyncHTTPClient
    - kernel_env.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: payload_envs.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: payload_envs.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    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: kernel_env.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: tornado.escape.json_encode
    functionSourceFile: tornado
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8025289430>
    - <ast.Constant object at 0x7f8025289b50>
    argNames:
    - self
    - now
    - restart
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 530
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.shutdown_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - cookie.load
    - gateway_client.emit
    - error_payload.get
    - <builtin>.isinstance
    - http.cookies.SimpleCookie
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.gateway_request
    - gateway_client.update_cookies
    - json.loads
    - traitlets.config.SingletonConfigurable.instance
    - logging.getLogger
    - gateway_client.load_connection_args
    - asyncio.sleep
    - response.headers.get
    - <builtin>.any
    - e.response.body.decode
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - tornado.httpclient.AsyncHTTPClient
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 547
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.restart_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - cookie.load
    - gateway_client.emit
    - error_payload.get
    - <builtin>.isinstance
    - http.cookies.SimpleCookie
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - traitlets.config.LoggingConfigurable.log.debug
    - tornado.escape.json_encode
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.gateway_request
    - gateway_client.update_cookies
    - json.loads
    - traitlets.config.SingletonConfigurable.instance
    - logging.getLogger
    - gateway_client.load_connection_args
    - asyncio.sleep
    - response.headers.get
    - <builtin>.any
    - e.response.body.decode
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - tornado.httpclient.AsyncHTTPClient
    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: 5
    functionLinenumber: 564
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.interrupt_kernel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - cookie.load
    - gateway_client.emit
    - error_payload.get
    - <builtin>.isinstance
    - http.cookies.SimpleCookie
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - traitlets.config.LoggingConfigurable.log.debug
    - tornado.escape.json_encode
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.gateway_request
    - gateway_client.update_cookies
    - json.loads
    - traitlets.config.SingletonConfigurable.instance
    - logging.getLogger
    - gateway_client.load_connection_args
    - asyncio.sleep
    - response.headers.get
    - <builtin>.any
    - e.response.body.decode
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - tornado.httpclient.AsyncHTTPClient
    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: 6
    functionLinenumber: 578
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.is_alive
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - tornado.escape.json_decode
    - datetime.datetime.strptime
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__
    - cookie.load
    - gateway_client.emit
    - error_payload.get
    - <builtin>.isinstance
    - http.cookies.SimpleCookie
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch
    - jupyter_server.gateway.gateway_client.gateway_request
    - gateway_client.update_cookies
    - traitlets.config.LoggingConfigurable.log.warning
    - <builtin>.int
    - json.loads
    - traitlets.config.SingletonConfigurable.instance
    - logging.getLogger
    - gateway_client.load_connection_args
    - asyncio.sleep
    - response.headers.get
    - jupyter_server.gateway.managers.GatewayKernelManager.refresh_model
    - <builtin>.any
    - e.response.body.decode
    - jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable
    - tornado.httpclient.AsyncHTTPClient
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8025072a60>
    argNames:
    - self
    - restart
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 589
    functionName: jupyter_server.gateway.managers.GatewayKernelManager.cleanup_resources
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - channel_name
    - channel_socket
    - log
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 602
    functionName: jupyter_server.gateway.managers.ChannelQueue.__init__
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 5
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024a60f40>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 610
    functionName: jupyter_server.gateway.managers.ChannelQueue._async_get
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 1
    functionsReached:
    - time.monotonic
    - queue.Queue.get
    - <builtin>.float
    - asyncio.sleep
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    - 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: queue.Queue.get
    functionSourceFile: queue
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 630
    functionName: jupyter_server.gateway.managers.ChannelQueue.get_msg
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - typing.cast
    - time.monotonic
    - queue.Queue.get
    - <builtin>.float
    - asyncio.sleep
    - jupyter_server.gateway.managers.ChannelQueue._async_get
    - queue.Queue.task_done
    - kwargs.get
    - traitlets.config.LoggingConfigurable.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: queue.Queue.task_done
    functionSourceFile: queue
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 642
    functionName: jupyter_server.gateway.managers.ChannelQueue.send
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - json.dumps
    - traitlets.config.LoggingConfigurable.log.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - dt
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 653
    functionName: jupyter_server.gateway.managers.ChannelQueue.serialize_datetime
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - dt.timestamp
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dt.timestamp
    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: 0
    functionLinenumber: 659
    functionName: jupyter_server.gateway.managers.ChannelQueue.start
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 662
    functionName: jupyter_server.gateway.managers.ChannelQueue.stop
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - msgs.append
    - queue.Queue.qsize
    - traitlets.config.LoggingConfigurable.log.warning
    - queue.Queue.get_nowait
    - queue.Queue.empty
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: queue.Queue.empty
    functionSourceFile: queue
    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: queue.Queue.qsize
    functionSourceFile: queue
    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: queue.Queue.get_nowait
    functionSourceFile: queue
    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: 0
    functionLinenumber: 680
    functionName: jupyter_server.gateway.managers.ChannelQueue.is_alive
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 721
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.__init__
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f8024d8b160>
    - <ast.Constant object at 0x7f8024d8b820>
    - <ast.Constant object at 0x7f8024d8b370>
    - <ast.Constant object at 0x7f8024d8b0d0>
    - <ast.Constant object at 0x7f8024d8b400>
    argNames:
    - self
    - shell
    - iopub
    - stdin
    - hb
    - control
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 734
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.start_channels
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - traitlets.config.SingletonConfigurable.instance
    - jupyter_core.utils.ensure_async
    - tornado.escape.url_escape
    - websocket.create_connection
    - <builtin>.super
    - threading.Thread.start
    - s.strip
    - threading.Thread
    - jupyter_server.utils.url_path_join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: websocket.create_connection
    functionSourceFile: websocket
    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.Thread.start
    functionSourceFile: threading
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 769
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.stop_channels
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - threading.Thread.join
    - traitlets.config.LoggingConfigurable.log.debug
    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: 2
    functionLinenumber: 791
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.shell_channel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - jupyter_server.gateway.managers.ChannelQueue.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    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: 2
    functionLinenumber: 802
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.iopub_channel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - jupyter_server.gateway.managers.ChannelQueue.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    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: 2
    functionLinenumber: 813
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.stdin_channel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - jupyter_server.gateway.managers.ChannelQueue.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    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: 2
    functionLinenumber: 824
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.hb_channel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - jupyter_server.gateway.managers.ChannelQueue.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    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: 2
    functionLinenumber: 835
    functionName: jupyter_server.gateway.managers.GatewayKernelClient.control_channel
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - jupyter_server.gateway.managers.ChannelQueue.__init__
    - traitlets.config.LoggingConfigurable.log.debug
    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: 1
    functionLinenumber: 845
    functionName: jupyter_server.gateway.managers.GatewayKernelClient._route_responses
    functionSourceFile: jupyter_server.gateway.managers
    functionUses: 0
    functionsReached:
    - tornado.escape.json_decode
    - tornado.escape.utf8
    - traitlets.config.LoggingConfigurable.log.warning
    - traitlets.config.LoggingConfigurable.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: jupyter_server.services.sessions
    functionSourceFile: jupyter_server.services.sessions
    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: 0
    functionLinenumber: -1
    functionName: jupyter_server.auth.logout
    functionSourceFile: jupyter_server.auth.logout
    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: 2
    functionLinenumber: -1
    functionName: jupyter_server.auth.logout.LogoutHandler
    functionSourceFile: jupyter_server.auth.logout
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.setattr
    - jupyter_server.auth.decorator.allow_unauthenticated
    - functools.wraps
    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: 2
    functionLinenumber: 13
    functionName: jupyter_server.auth.logout.LogoutHandler.get
    functionSourceFile: jupyter_server.auth.logout
    functionUses: 0
    functionsReached:
    - jupyter_server.base.handlers.JupyterHandler.get_template
    - tornado.web.RequestHandler.write
    - ns.update
    - jupyter_server.base.handlers.JupyterHandler.render_template
    - template.render
    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: jupyter_server.auth.authorizer
    functionSourceFile: jupyter_server.auth.authorizer
    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: jupyter_server.auth.authorizer.Authorizer
    functionSourceFile: jupyter_server.auth.authorizer
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - handler
    - user
    - action
    - resource
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 46
    functionName: jupyter_server.auth.authorizer.Authorizer.is_authorized
    functionSourceFile: jupyter_server.auth.authorizer
    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
    - handler
    - user
    - action
    - resource
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 80
    functionName: jupyter_server.auth.authorizer.AllowAllAuthorizer.is_authorized
    functionSourceFile: jupyter_server.auth.authorizer
    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: jupyter_server.services.contents
    functionSourceFile: jupyter_server.services.contents
    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: -1
    functionName: jupyter_server.i18n
    functionSourceFile: jupyter_server.i18n
    functionUses: 0
    functionsReached:
    - re.compile
    - os.path.dirname
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - accept_lang
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 34
    functionName: jupyter_server.i18n.parse_accept_lang_header
    functionSourceFile: jupyter_server.i18n
    functionUses: 2
    functionsReached:
    - lang.replace
    - m.group
    - <builtin>.float
    - <builtin>.sorted
    - collections.defaultdict
    - res.extend
    - accept_lang.split
    - collections.defaultdict.items
    - part.strip
    - _accept_lang_re.match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: accept_lang.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: part.strip
    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: _accept_lang_re.match
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lang.replace
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.defaultdict.items
    functionSourceFile: collections
    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: res.extend
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f80253ee3d0>
    argNames:
    - language
    - domain
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 59
    functionName: jupyter_server.i18n.load
    functionSourceFile: jupyter_server.i18n
    functionUses: 3
    functionsReached:
    - json.load
    - <builtin>.open
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f80253eeee0>
    argNames:
    - language
    - domain
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 73
    functionName: jupyter_server.i18n.cached_load
    functionSourceFile: jupyter_server.i18n
    functionUses: 2
    functionsReached:
    - json.load
    - jupyter_server.i18n.load
    - <builtin>.open
    - os.path.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: combined.clear
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: combined.update
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.security
    functionSourceFile: jupyter_server.services.security
    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: jupyter_server.auth
    functionSourceFile: jupyter_server.auth
    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: -1
    functionName: jupyter_server.pytest_plugin
    functionSourceFile: jupyter_server.pytest_plugin
    functionUses: 0
    functionsReached:
    - pytest.fixture
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pytest.fixture
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - jp_data_dir
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 23
    functionName: jupyter_server.pytest_plugin.jp_kernelspecs
    functionSourceFile: jupyter_server.pytest_plugin
    functionUses: 0
    functionsReached:
    - json.dumps
    - sample_kernel_dir.mkdir
    - sample_kernel_file.write_text
    - sample_kernel_json.copy
    - sample_kernel_resources.write_text
    - sample_kernel_dir.joinpath
    - jp_data_dir.joinpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jp_data_dir.joinpath
    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: sample_kernel_dir.mkdir
    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: sample_kernel_dir.joinpath
    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: sample_kernel_json.copy
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sample_kernel_file.write_text
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sample_kernel_resources.write_text
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - request
    - tmp_path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 41
    functionName: jupyter_server.pytest_plugin.jp_contents_manager
    functionSourceFile: jupyter_server.pytest_plugin
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - traitlets.config.configurable.LoggingConfigurable.__init__
    - traitlets.config.Configurable.__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: traitlets.config.configurable.LoggingConfigurable.__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: traitlets.config.Configurable.__init__
    functionSourceFile: ''
    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:
    - tmp_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 47
    functionName: jupyter_server.pytest_plugin.jp_large_contents_manager
    functionSourceFile: jupyter_server.pytest_plugin
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - traitlets.config.Configurable.__init__
    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: 0
    functionLinenumber: -1
    functionName: jupyter_server.__main__
    functionSourceFile: jupyter_server.__main__
    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: 0
    functionLinenumber: -1
    functionName: jupyter_server.extension.handler
    functionSourceFile: jupyter_server.extension.handler
    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
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 24
    functionName: jupyter_server.extension.handler.ExtensionHandlerJinjaMixin.get_template
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 46
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.initialize
    functionSourceFile: jupyter_server.extension.handler
    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: 1
    functionLinenumber: 54
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.extensionapp
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 58
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.serverapp
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 63
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.log
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - typing.cast
    - <builtin>.hasattr
    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: 73
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.config
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 77
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.server_config
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 81
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.base_url
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 85
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.static_url_prefix
    functionSourceFile: jupyter_server.extension.handler
    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: 89
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.static_path
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - typing.cast
    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 0x7f802456b3d0>
    argNames:
    - self
    - path
    - include_host
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 92
    functionName: jupyter_server.extension.handler.ExtensionHandlerMixin.static_url
    functionSourceFile: jupyter_server.extension.handler
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised:
    - Exception
    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: jupyter_server.extension.application
    functionSourceFile: jupyter_server.extension.application
    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:
    - application_klass
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 28
    functionName: jupyter_server.extension.application._preparse_for_subcommand
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - re.match
    - jupyter_core.application.JupyterApp.__init__
    - app.initialize_subcommand
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.__init__
    functionSourceFile: ''
    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: app.initialize_subcommand
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - application_klass
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 45
    functionName: jupyter_server.extension.application._preparse_for_stopping_flags
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - app.print_help
    - app.exit
    - app.print_version
    - jupyter_core.application.JupyterApp.__init__
    - argv.index
    - app.write_default_config
    - <builtin>.any
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: argv.index
    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: app.print_help
    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: app.exit
    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: app.print_version
    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: app.write_default_config
    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: jupyter_server.extension.application.ExtensionAppJinjaMixin
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - traitlets.Dict.tag
    - typing.no_type_check
    - traitlets.Dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Dict.tag
    functionSourceFile: traitlets
    functionUses: 2
    functionsReached: []
    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: 1
    functionLinenumber: 93
    functionName: jupyter_server.extension.application.ExtensionAppJinjaMixin._prepare_templates
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - jinja2.Environment
    - jinja2.FileSystemLoader
    - traitlets.HasTraits.settings.update
    - traitlets.HasTraits.initialize_templates
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.HasTraits.initialize_templates
    functionSourceFile: traitlets
    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: traitlets.HasTraits.settings.update
    functionSourceFile: traitlets
    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: jupyter_server.extension.application.ExtensionApp
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - traitlets.List.tag
    - traitlets.Bool.tag
    - traitlets.Bool
    - traitlets.Dict
    - traitlets.default
    - traitlets.Any
    - traitlets.List
    - traitlets.Unicode.tag
    - traitlets.Dict.tag
    - traitlets.Unicode
    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: 163
    functionName: jupyter_server.extension.application.ExtensionApp._default_open_browser
    functionSourceFile: jupyter_server.extension.application
    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: 168
    functionName: jupyter_server.extension.application.ExtensionApp.config_file_paths
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - cls
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 181
    functionName: jupyter_server.extension.application.ExtensionApp.get_extension_package
    functionSourceFile: jupyter_server.extension.application
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - jupyter_core.application.JupyterApp.__module__.split
    - jupyter_server.utils.is_namespace_package
    - importlib.util.find_spec
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.__module__.split
    functionSourceFile: jupyter_core
    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:
    - cls
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 190
    functionName: jupyter_server.extension.application.ExtensionApp.get_extension_point
    functionSourceFile: jupyter_server.extension.application
    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: 200
    functionName: jupyter_server.extension.application.ExtensionApp._default_url
    functionSourceFile: jupyter_server.extension.application
    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: 217
    functionName: jupyter_server.extension.application.ExtensionApp._default_serverapp
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.instance
    - jupyter_core.application.JupyterApp.__init__
    - jupyter_core.application.JupyterApp.initialized
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.initialized
    functionSourceFile: jupyter_core
    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: jupyter_core.application.JupyterApp.instance
    functionSourceFile: jupyter_core
    functionUses: 4
    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: 233
    functionName: jupyter_server.extension.application.ExtensionApp._default_log_level
    functionSourceFile: jupyter_server.extension.application
    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: 237
    functionName: jupyter_server.extension.application.ExtensionApp._default_log_format
    functionSourceFile: jupyter_server.extension.application
    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: 2
    functionLinenumber: 248
    functionName: jupyter_server.extension.application.ExtensionApp._default_static_url_prefix
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - s.strip
    - jupyter_server.utils.url_path_join
    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: 277
    functionName: jupyter_server.extension.application.ExtensionApp._config_file_name_default
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.name.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: jupyter_core.application.JupyterApp.name.replace
    functionSourceFile: jupyter_core
    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: 0
    functionLinenumber: 283
    functionName: jupyter_server.extension.application.ExtensionApp.initialize_settings
    functionSourceFile: jupyter_server.extension.application
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 286
    functionName: jupyter_server.extension.application.ExtensionApp.initialize_handlers
    functionSourceFile: jupyter_server.extension.application
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 289
    functionName: jupyter_server.extension.application.ExtensionApp.initialize_templates
    functionSourceFile: jupyter_server.extension.application
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 292
    functionName: jupyter_server.extension.application.ExtensionApp._prepare_config
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - jupyter_core.application.JupyterApp.class_own_traits
    - traitlets.config.Config
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.class_own_traits
    functionSourceFile: jupyter_core
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 300
    functionName: jupyter_server.extension.application.ExtensionApp._prepare_settings
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - webapp.settings.update
    - jupyter_server.extension.application.ExtensionApp.initialize_settings
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: webapp.settings.update
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 321
    functionName: jupyter_server.extension.application.ExtensionApp._prepare_handlers
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - jupyter_server.extension.application.ExtensionApp.initialize_handlers
    - webapp.add_handlers
    - new_handlers.append
    - <builtin>.issubclass
    - s.strip
    - jupyter_server.utils.url_path_join
    - kwargs.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: webapp.add_handlers
    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: 364
    functionName: jupyter_server.extension.application.ExtensionApp._prepare_templates
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - jupyter_server.extension.application.ExtensionApp.initialize_templates
    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: 0
    functionLinenumber: 370
    functionName: jupyter_server.extension.application.ExtensionApp._jupyter_server_config
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 382
    functionName: jupyter_server.extension.application.ExtensionApp._link_jupyter_server_extension
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.update_config
    - jupyter_core.application.JupyterApp.parse_command_line
    - jupyter_core.application.JupyterApp.load_config_file
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_core.application.JupyterApp.load_config_file
    functionSourceFile: jupyter_core
    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: jupyter_core.application.JupyterApp.parse_command_line
    functionSourceFile: jupyter_core
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 416
    functionName: jupyter_server.extension.application.ExtensionApp.initialize
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - jupyter_server.extension.application.ExtensionApp.initialize_handlers
    - jupyter_server.extension.application.ExtensionApp.initialize_settings
    - jupyter_server.extension.application.ExtensionApp._prepare_settings
    - traitlets.config.Config
    - <builtin>.getattr
    - jupyter_server.extension.application.ExtensionApp._prepare_config
    - jupyter_core.application.JupyterApp.class_own_traits
    - webapp.add_handlers
    - new_handlers.append
    - webapp.settings.update
    - <builtin>.issubclass
    - jupyter_server.extension.application.ExtensionApp._prepare_handlers
    - jupyter_server.extension.application.ExtensionApp.initialize_templates
    - jupyter_server.extension.application.ExtensionApp._prepare_templates
    - s.strip
    - jupyter_server.utils.url_path_join
    - kwargs.update
    linkageType: pythonLinkage
    raised:
    - JupyterServerExtensionException
    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: 439
    functionName: jupyter_server.extension.application.ExtensionApp.start
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 449
    functionName: jupyter_server.extension.application.ExtensionApp.current_activity
    functionSourceFile: jupyter_server.extension.application
    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: 453
    functionName: jupyter_server.extension.application.ExtensionApp.stop_extension
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    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: 0
    functionLinenumber: 456
    functionName: jupyter_server.extension.application.ExtensionApp.stop
    functionSourceFile: jupyter_server.extension.application
    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:
    - cls
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 463
    functionName: jupyter_server.extension.application.ExtensionApp._load_jupyter_server_extension
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - extension._link_jupyter_server_extension
    - jupyter_core.application.JupyterApp.__init__
    - extension.initialize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: extension._link_jupyter_server_extension
    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: extension.initialize
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - serverapp
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 479
    functionName: jupyter_server.extension.application.ExtensionApp.load_classic_server_extension
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - extension.load_config_file
    - extension.handlers.extend
    - jupyter_core.application.JupyterApp.__init__
    - extension.update_config
    - extension.parse_command_line
    - extension.initialize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: extension.load_config_file
    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: extension.update_config
    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: extension.parse_command_line
    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: extension.handlers.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 562
    functionName: jupyter_server.extension.application.ExtensionApp.make_serverapp
    functionSourceFile: jupyter_server.extension.application
    functionUses: 2
    functionsReached:
    - jupyter_core.application.JupyterApp.instance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f80259d2400>
    - <ast.Constant object at 0x7f80259d2670>
    argNames:
    - cls
    - argv
    - load_other_extensions
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 570
    functionName: jupyter_server.extension.application.ExtensionApp.initialize_server
    functionSourceFile: jupyter_server.extension.application
    functionUses: 1
    functionsReached:
    - serverapp.aliases.update
    - jupyter_server.utils.is_namespace_package
    - importlib.util.find_spec
    - jupyter_core.application.JupyterApp.__module__.split
    - <builtin>.isinstance
    - jupyter_server.extension.application.ExtensionApp.make_serverapp
    - jupyter_server.extension.application.ExtensionApp.get_extension_package
    - serverapp.initialize
    - jupyter_core.application.JupyterApp.instance
    - jpserver_extensions.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jpserver_extensions.update
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: serverapp.aliases.update
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: serverapp.initialize
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f802455a400>
    argNames:
    - cls
    - argv
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 594
    functionName: jupyter_server.extension.application.ExtensionApp.launch_instance
    functionSourceFile: jupyter_server.extension.application
    functionUses: 0
    functionsReached:
    - jupyter_server.utils.is_namespace_package
    - importlib.util.find_spec
    - jupyter_server.extension.application.ExtensionApp.get_extension_package
    - serverapp.initialize
    - jupyter_core.application.JupyterApp.instance
    - jupyter_server.extension.application._preparse_for_subcommand
    - <builtin>.any
    - app.print_help
    - jupyter_core.application.JupyterApp.__module__.split
    - app.print_version
    - jupyter_server.extension.application.ExtensionApp.make_serverapp
    - subapp.start
    - jupyter_server.extension.application.ExtensionApp.initialize_server
    - <builtin>.isinstance
    - app.exit
    - serverapp.aliases.update
    - jupyter_server.extension.application._preparse_for_stopping_flags
    - serverapp.log.info
    - jupyter_core.application.JupyterApp.__init__
    - serverapp.start
    - <builtin>.len
    - re.match
    - argv.index
    - app.initialize_subcommand
    - app.write_default_config
    - jpserver_extensions.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: subapp.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: serverapp.log.info
    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: serverapp.start
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: jupyter_server.auth.__main__
    functionSourceFile: jupyter_server.auth.__main__
    functionUses: 0
    functionsReached:
    - args.function
    - parser_password.add_argument
    - parser.add_subparsers
    - jupyter_server.auth.__main__.main
    - parser.parse_args
    - subparsers.add_parser
    - parser_password.set_defaults
    - argparse.ArgumentParser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - args
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 15
    functionName: jupyter_server.auth.__main__.set_password
    functionSourceFile: jupyter_server.auth.__main__
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - hashlib.new
    - getpass.getpass
    - h.update
    - new.items
    - jupyter_server.config_manager.BaseJSONConfigManager.set
    - data.items
    - salt.encode
    - os.path.join
    - argon2.PasswordHasher
    - h.hexdigest
    - <builtin>.str
    - traitlets.log.get_logger.info
    - getpass.getpass.encode
    - glob.glob
    - <builtin>.sorted
    - warnings.warn
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - copy.deepcopy
    - <builtin>.list
    - jupyter_server.config_manager.remove_defaults
    - traitlets.log.get_logger
    - os.path.getsize
    - <builtin>.range
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists
    - traitlets.config.LoggingConfigurable.log.warning
    - jupyter_server.config_manager.BaseJSONConfigManager.file_name
    - jupyter_server.config_manager.BaseJSONConfigManager.update
    - jupyter_core.paths.jupyter_config_dir
    - f.write
    - os.path.isfile
    - random.getrandbits
    - <builtin>.len
    - json.dumps
    - jupyter_server.config_manager.recursive_update
    - json.load
    - jupyter_server.config_manager.BaseJSONConfigManager.directory
    - target.pop
    - jupyter_server.auth.security.passwd
    - ph.hash
    - os.makedirs
    - jupyter_server.config_manager.BaseJSONConfigManager.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: traitlets.log.get_logger.info
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - argv
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 44
    functionName: jupyter_server.auth.__main__.main
    functionSourceFile: jupyter_server.auth.__main__
    functionUses: 1
    functionsReached:
    - args.function
    - parser_password.add_argument
    - parser.add_subparsers
    - parser.parse_args
    - subparsers.add_parser
    - parser_password.set_defaults
    - 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_subparsers
    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: subparsers.add_parser
    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: parser_password.add_argument
    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: parser_password.set_defaults
    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: parser.parse_args
    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: args.function
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.view
    functionSourceFile: jupyter_server.view
    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: 0
    functionLinenumber: -1
    functionName: jupyter_server.view.handlers
    functionSourceFile: jupyter_server.view.handlers
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.view.handlers.ViewHandler
    functionSourceFile: jupyter_server.view.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.nbconvert
    functionSourceFile: jupyter_server.nbconvert
    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: 0
    functionLinenumber: -1
    functionName: jupyter_server.nbconvert.handlers
    functionSourceFile: jupyter_server.nbconvert.handlers
    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:
    - output_files_dir
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 30
    functionName: jupyter_server.nbconvert.handlers.find_resource_files
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - os.path.join
    - files.extend
    - os.walk
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.walk
    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: files.extend
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 8
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - handler
    - name
    - output
    - resources
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 38
    functionName: jupyter_server.nbconvert.handlers.respond_zip
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 3
    functionsReached:
    - zipf.writestr
    - path.split
    - zipfile.ZipFile
    - jupyter_server.base.handlers.JupyterHandler.set_attachment_header
    - io.BytesIO
    - output.encode
    - tornado.web.RequestHandler.finish
    - buffer.getvalue
    - jupyter_server.utils.url_escape
    - zipf.close
    - resources.get
    - tornado.web.RequestHandler.set_header
    - urllib.parse.quote
    - output_files.items
    - os.path.basename
    - os.path.splitext
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resources.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO
    functionSourceFile: io
    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: zipfile.ZipFile
    functionSourceFile: zipfile
    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: output.encode
    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: zipf.writestr
    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: output_files.items
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: zipf.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: buffer.getvalue
    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: tornado.web.RequestHandler.finish
    functionSourceFile: tornado
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - format
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 68
    functionName: jupyter_server.nbconvert.handlers.get_exporter
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 3
    functionsReached:
    - nbconvert.exporters.base.get_exporter
    - tornado.log.app_log.exception
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nbconvert.exporters.base.get_exporter
    functionSourceFile: nbconvert
    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: tornado.log.app_log.exception
    functionSourceFile: tornado
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.nbconvert.handlers.NbconvertFileHandler
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    linkageType: 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: jupyter_server.nbconvert.handlers.NbconvertFileHandler.get.<lambda1>
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - exporter.from_notebook_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: exporter.from_notebook_node
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.nbconvert.handlers.NbconvertPostHandler
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast.get
    functionSourceFile: typing
    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: 1
    functionLinenumber: -1
    functionName: jupyter_server.nbconvert.handlers.NbconvertPostHandler.post.<lambda1>
    functionSourceFile: jupyter_server.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - exporter.from_notebook_node
    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: jupyter_server.services.shutdown
    functionSourceFile: jupyter_server.services.shutdown
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.shutdown.ShutdownHandler
    functionSourceFile: jupyter_server.services.shutdown
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    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: jupyter_server.services.sessions.handlers
    functionSourceFile: jupyter_server.services.sessions.handlers
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.sessions.handlers.SessionRootHandler
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kernel.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.sessions.handlers.SessionHandler
    functionSourceFile: jupyter_server.services.sessions.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    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: jupyter_server.services.config.handlers
    functionSourceFile: jupyter_server.services.config.handlers
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.config.handlers.ConfigHandler
    functionSourceFile: jupyter_server.services.config.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    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: jupyter_server.services.kernels.handlers
    functionSourceFile: jupyter_server.services.kernels.handlers
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.handlers.MainKernelHandler
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast.setdefault
    functionSourceFile: typing
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.handlers.KernelHandler
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.kernels.handlers.KernelActionHandler
    functionSourceFile: jupyter_server.services.kernels.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    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: jupyter_server.services.contents.handlers
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - expect_defined
    - model
    - keys
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 27
    functionName: jupyter_server.services.contents.handlers._validate_keys
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8024a3c700>
    - <ast.Constant object at 0x7f8024a3c0a0>
    argNames:
    - model
    - expect_content
    - expect_hash
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 48
    functionName: jupyter_server.services.contents.handlers.validate_model
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 9
    functionsReached:
    - jupyter_server.services.contents.handlers._validate_keys
    - typing.cast.keys
    - required_keys.update
    - <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: required_keys.update
    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: typing.cast.keys
    functionSourceFile: typing
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 92
    functionName: jupyter_server.services.contents.handlers.ContentsHandler.location_url
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 10
    functionsReached:
    - path.split
    - jupyter_server.utils.url_escape
    - s.strip
    - urllib.parse.quote
    - jupyter_server.utils.url_path_join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f80249a84f0>
    argNames:
    - self
    - model
    - location
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 102
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 9
    functionsReached:
    - json.dumps
    - path.split
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - jupyter_server.utils.url_escape
    - datetime.datetime.now
    - <builtin>.super
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - s.strip
    - urllib.parse.quote
    - jupyter_server.utils.url_path_join
    - kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - code
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 111
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._finish_error
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 2
    functionsReached:
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.write
    - tornado.web.RequestHandler.set_status
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - kwargs.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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.contents.handlers.ContentsHandler
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.web.RequestHandler.get_query_argument
    functionSourceFile: tornado
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f8024d492b0>
    argNames:
    - self
    - copy_from
    - copy_to
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 210
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._copy
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 2
    functionsReached:
    - <builtin>.set
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - jupyter_server.services.contents.handlers._validate_keys
    - jupyter_server.utils.url_path_join
    - jupyter_server.services.contents.handlers.validate_model
    - tornado.web.RequestHandler.get_argument
    - path.split
    - <builtin>.getattr
    - jupyter_server.base.handlers.APIHandler.finish
    - required_keys.update
    - urllib.parse.quote
    - kwargs.pop
    - json.dumps
    - tornado.web.RequestHandler.set_status
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - jupyter_server.utils.url_escape
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - tornado.web.RequestHandler.set_header
    - s.strip
    - typing.cast.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 223
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._upload
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 2
    functionsReached:
    - <builtin>.set
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - jupyter_server.services.contents.handlers._validate_keys
    - jupyter_server.utils.url_path_join
    - jupyter_server.services.contents.handlers.validate_model
    - tornado.web.RequestHandler.get_argument
    - path.split
    - <builtin>.getattr
    - jupyter_server.base.handlers.APIHandler.finish
    - required_keys.update
    - urllib.parse.quote
    - kwargs.pop
    - json.dumps
    - tornado.web.RequestHandler.set_status
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - jupyter_server.utils.url_escape
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - tornado.web.RequestHandler.set_header
    - s.strip
    - typing.cast.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f8025095af0>
    - <ast.Constant object at 0x7f80250955e0>
    argNames:
    - self
    - path
    - type
    - ext
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 231
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._new_untitled
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 3
    functionsReached:
    - <builtin>.set
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - jupyter_server.services.contents.handlers._validate_keys
    - jupyter_server.utils.url_path_join
    - jupyter_server.services.contents.handlers.validate_model
    - tornado.web.RequestHandler.get_argument
    - path.split
    - <builtin>.getattr
    - jupyter_server.base.handlers.APIHandler.finish
    - required_keys.update
    - urllib.parse.quote
    - kwargs.pop
    - json.dumps
    - tornado.web.RequestHandler.set_status
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - jupyter_server.utils.url_escape
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - tornado.web.RequestHandler.set_header
    - s.strip
    - typing.cast.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - model
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 241
    functionName: jupyter_server.services.contents.handlers.ContentsHandler._save
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 2
    functionsReached:
    - <builtin>.set
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - <builtin>.super
    - jupyter_server.services.contents.handlers._validate_keys
    - jupyter_server.utils.url_path_join
    - jupyter_server.services.contents.handlers.validate_model
    - tornado.web.RequestHandler.get_argument
    - path.split
    - <builtin>.getattr
    - jupyter_server.base.handlers.APIHandler.finish
    - required_keys.update
    - urllib.parse.quote
    - kwargs.pop
    - json.dumps
    - jupyter_core.utils.ensure_async
    - jupyter_server.services.contents.handlers.ContentsHandler._finish_model
    - jupyter_server.utils.url_escape
    - jupyter_server.services.contents.handlers.ContentsHandler.location_url
    - typing.cast.get
    - tornado.web.RequestHandler.set_header
    - s.strip
    - typing.cast.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.contents.handlers.CheckpointsHandler
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.contents.handlers.ModifyCheckpointsHandler
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    linkageType: 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: jupyter_server.services.contents.handlers.NotebooksRedirectHandler
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.setattr
    - jupyter_server.auth.decorator.allow_unauthenticated
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.contents.handlers.TrustNotebooksHandler
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f80249cb7f0>
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 420
    functionName: jupyter_server.services.contents.handlers.TrustNotebooksHandler.post
    functionSourceFile: jupyter_server.services.contents.handlers
    functionUses: 0
    functionsReached:
    - jupyter_core.utils.ensure_async
    - tornado.web.RequestHandler.finish
    - tornado.web.RequestHandler.set_status
    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: jupyter_server.services.security.handlers
    functionSourceFile: jupyter_server.services.security.handlers
    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: 21
    functionName: jupyter_server.services.security.handlers.CSPReportHandler.skip_check_origin
    functionSourceFile: jupyter_server.services.security.handlers
    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: 25
    functionName: jupyter_server.services.security.handlers.CSPReportHandler.check_xsrf_cookie
    functionSourceFile: jupyter_server.services.security.handlers
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.security.handlers.CSPReportHandler
    functionSourceFile: jupyter_server.services.security.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.web.RequestHandler.request.body.decode
    functionSourceFile: tornado
    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: jupyter_server.services.api
    functionSourceFile: jupyter_server.services.api
    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: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.api.handlers
    functionSourceFile: jupyter_server.services.api.handlers
    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: 1
    functionLinenumber: 25
    functionName: jupyter_server.services.api.handlers.APISpecHandler.initialize
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 0
    functionsReached:
    - os.path.dirname
    - tornado.web.StaticFileHandler.initialize
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.web.StaticFileHandler.initialize
    functionSourceFile: tornado
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.api.handlers.APISpecHandler
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    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: 41
    functionName: jupyter_server.services.api.handlers.APISpecHandler.get_content_type
    functionSourceFile: jupyter_server.services.api.handlers
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.api.handlers.APIStatusHandler
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.web.RequestHandler.application.last_activity
    functionSourceFile: tornado
    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: jupyter_server.services.api.handlers.IdentityHandler
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.authenticated
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 76
    functionName: jupyter_server.services.api.handlers.IdentityHandler.get
    functionSourceFile: jupyter_server.services.api.handlers
    functionUses: 0
    functionsReached:
    - json.loads
    - json.dumps
    - tornado.web.RequestHandler.get_argument
    - tornado.web.RequestHandler.write
    - allowed.append
    - <builtin>.all
    - jupyter_core.utils.ensure_async
    - permissions_to_check.items
    - <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: permissions_to_check.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: allowed.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: jupyter_server.services.nbconvert
    functionSourceFile: jupyter_server.services.nbconvert
    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: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.nbconvert.handlers
    functionSourceFile: jupyter_server.services.nbconvert.handlers
    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
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 22
    functionName: jupyter_server.services.nbconvert.handlers.NbconvertRootHandler.initialize
    functionSourceFile: jupyter_server.services.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - asyncio.Lock
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.Lock
    functionSourceFile: asyncio
    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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.nbconvert.handlers.NbconvertRootHandler
    functionSourceFile: jupyter_server.services.nbconvert.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.events
    functionSourceFile: jupyter_server.services.events
    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: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.events.handlers
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 0
    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: 35
    functionName: jupyter_server.services.events.handlers.SubscribeWebsocket.pre_get
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 2
    functionsReached:
    - jupyter_core.utils.ensure_async
    linkageType: 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: jupyter_server.services.events.handlers.SubscribeWebsocket
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.setattr
    - functools.wraps
    - jupyter_server.auth.decorator.ws_authenticated
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - logger
    - schema_id
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 56
    functionName: jupyter_server.services.events.handlers.SubscribeWebsocket.event_listener
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 0
    functionsReached:
    - json.dumps
    - tornado.web.RequestHandler.write_message
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.web.RequestHandler.write_message
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 63
    functionName: jupyter_server.services.events.handlers.SubscribeWebsocket.open
    functionSourceFile: jupyter_server.services.events.handlers
    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: 0
    functionLinenumber: 69
    functionName: jupyter_server.services.events.handlers.SubscribeWebsocket.on_close
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 74
    functionName: jupyter_server.services.events.handlers.validate_model
    functionSourceFile: jupyter_server.services.events.handlers
    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:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 82
    functionName: jupyter_server.services.events.handlers.get_timestamp
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 2
    functionsReached:
    - datetime.datetime.strptime
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.events.handlers.EventHandler
    functionSourceFile: jupyter_server.services.events.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.kernelspecs
    functionSourceFile: jupyter_server.services.kernelspecs
    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: 0
    functionLinenumber: -1
    functionName: jupyter_server.services.kernelspecs.handlers
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - handler
    - name
    - spec_dict
    - resource_dir
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 28
    functionName: jupyter_server.services.kernelspecs.handlers.kernelspec_model
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 3
    functionsReached:
    - glob.glob
    - os.path.basename
    - os.path.exists
    - s.strip
    - os.path.join
    - jupyter_server.utils.url_path_join
    - os.path.splitext
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - spec_dict
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 45
    functionName: jupyter_server.services.kernelspecs.handlers.is_kernelspec_model
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 3
    functionsReached:
    - <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: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kspecs.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: jupyter_server.services.kernelspecs.handlers.KernelSpecHandler
    functionSourceFile: jupyter_server.services.kernelspecs.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    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: -1
    functionName: jupyter_server.terminal
    functionSourceFile: jupyter_server.terminal
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - webapp
    - root_dir
    - connection_url
    - settings
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 17
    functionName: jupyter_server.terminal.initialize
    functionSourceFile: jupyter_server.terminal
    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: 0
    functionLinenumber: -1
    functionName: jupyter_server.terminal.api_handlers
    functionSourceFile: jupyter_server.terminal.api_handlers
    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: 0
    functionLinenumber: -1
    functionName: jupyter_server.terminal.handlers
    functionSourceFile: jupyter_server.terminal.handlers
    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: 0
    functionLinenumber: -1
    functionName: jupyter_server.terminal.terminalmanager
    functionSourceFile: jupyter_server.terminal.terminalmanager
    functionUses: 0
    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: -1
    functionName: jupyter_server.gateway.handlers
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - warnings.warn
    - os.getenv
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8025072c10>
    argNames:
    - self
    - origin
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 47
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.check_origin
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - re.match
    - origin.lower
    - jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin
    - <builtin>.bool
    - urllib.parse.urlparse
    - tornado.web.RequestHandler.request.headers.get
    - jupyter_server.base.handlers.JupyterHandler.check_origin
    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: jupyter_server.gateway.handlers.WebSocketChannelsHandler.set_default_headers
    functionSourceFile: jupyter_server.gateway.handlers
    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: 54
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.get_compression_options
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    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: 59
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.authenticate
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - tornado.web.RequestHandler.get_argument
    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: 76
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.initialize
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - jupyter_client.jsonutil.json_clean
    - <builtin>.set
    - jupyter_server.gateway.handlers.GatewayWebSocketClient.__init__
    - pickle.dumps
    - datetime.datetime.now
    - <builtin>.super
    - jupyter_client.session.pickle_packer
    - traitlets.utils.importstring.import_item
    - jupyter_client.session.Session._check_packers.<lambda2>
    - obj.isoformat
    - <builtin>.hasattr
    - jupyter_client.session.Session.__init__
    - <builtin>.str
    - jupyter_client.session.utcnow
    - <builtin>.float
    - os.getpid
    - warnings.warn
    - <builtin>.isinstance
    - <builtin>.type
    - jupyter_client.session.json_packer
    - s.decode
    - jupyter_client.session.Session._new_auth
    - obj.items
    - traitlets.log.get_logger.warning
    - <builtin>.list
    - traitlets.Any
    - pickle.loads
    - traitlets.log.get_logger
    - obj.strftime
    - jupyter_client.jsonutil.squash_dates
    - <builtin>.dict
    - math.isinf
    - <builtin>.int
    - jupyter_client.session.json_unpacker
    - <builtin>.map
    - json.dumps
    - <builtin>.len
    - traitlets.config.SingletonConfigurable.instance
    - json.loads
    - binascii.b2a_base64
    - jupyter_client.session.Session._check_packers.<lambda1>
    - math.isnan
    - hmac.HMAC
    - <builtin>.repr
    - binascii.b2a_base64.decode
    - jupyter_client.session.Session._check_packers
    - tornado.concurrent.Future
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 159
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient.__init__
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - tornado.concurrent.Future
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 82
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.get
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.handlers.WebSocketChannelsHandler.authenticate
    - tornado.web.RequestHandler.get_argument
    - <builtin>.super
    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: 89
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.send_ping
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - tornado.ioloop.PeriodicCallback.stop
    - tornado.websocket.WebSocketHandler.ping
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.websocket.WebSocketHandler.ping
    functionSourceFile: tornado
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 97
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.open
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - loop.spawn_callback
    - jupyter_server.gateway.handlers.WebSocketChannelsHandler.get_compression_options
    - jupyter_server.gateway.handlers.GatewayWebSocketClient.on_open
    - tornado.ioloop.IOLoop.current
    - tornado.ioloop.PeriodicCallback
    - tornado.ioloop.PeriodicCallback.start
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - message_callback
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 261
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient.on_open
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - loop.spawn_callback
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 109
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.on_message
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - loop.add_future
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._write_message
    - jupyter_server.gateway.handlers.GatewayWebSocketClient.on_message
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 266
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient.on_message
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - loop.add_future
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._write_message
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f80250dc880>
    argNames:
    - self
    - message
    - binary
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 114
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.write_message
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - tornado.escape.json_decode
    - tornado.escape.utf8
    - <builtin>.super
    - jupyter_server.gateway.handlers.WebSocketChannelsHandler._get_message_summary
    - <builtin>.isinstance
    - summary.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - message
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 134
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler._get_message_summary
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - summary.append
    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: 3
    functionLinenumber: 126
    functionName: jupyter_server.gateway.handlers.WebSocketChannelsHandler.on_close
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.handlers.GatewayWebSocketClient.on_close
    - <builtin>.super
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._disconnect
    - typing.cast.done
    - typing.cast.cancel
    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: 282
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient.on_close
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._disconnect
    - typing.cast.done
    - typing.cast.cancel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - kernel_id
    - message_callback
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 168
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient._connect
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - traitlets.config.SingletonConfigurable.instance
    - loop.add_future
    - tornado.ioloop.IOLoop.current
    - tornado.escape.url_escape
    - typing.cast.add_done_callback
    - tornado.httpclient.HTTPRequest
    - client.load_connection_args
    - tornado.websocket.websocket_connect
    - s.strip
    - jupyter_server.utils.url_path_join
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.load_connection_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: 2
    functionLinenumber: -1
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient._connect.<lambda1>
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - loop.spawn_callback
    - <builtin>.min
    - traitlets.config.SingletonConfigurable.instance
    - tornado.ioloop.IOLoop.current
    - random.randint
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._read_messages
    - asyncio.sleep
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 7
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - callback
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 218
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient._read_messages
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 1
    functionsReached:
    - loop.spawn_callback
    - <builtin>.min
    - traitlets.config.SingletonConfigurable.instance
    - tornado.ioloop.IOLoop.current
    - random.randint
    - asyncio.sleep
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fut
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 193
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient._connection_done
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - traitlets.config.SingletonConfigurable.instance
    - fut.exception
    - fut.result
    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: 1
    functionLinenumber: 207
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient._disconnect
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 2
    functionsReached:
    - typing.cast.done
    - typing.cast.cancel
    linkageType: 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: jupyter_server.gateway.handlers.GatewayWebSocketClient.on_message.<lambda1>
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.handlers.GatewayWebSocketClient._write_message
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 274
    functionName: jupyter_server.gateway.handlers.GatewayWebSocketClient._write_message
    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: 1
    functionLinenumber: -1
    functionName: jupyter_server.gateway.handlers.GatewayResourceHandler
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.authenticated
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f80250d04c0>
    argNames:
    - self
    - kernel_name
    - path
    - include_body
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 291
    functionName: jupyter_server.gateway.handlers.GatewayResourceHandler.get
    functionSourceFile: jupyter_server.gateway.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.RequestHandler.get_argument
    - jupyter_server.base.handlers.APIHandler.update_api_activity
    - jupyter_server._tz.utcnow
    - datetime.datetime.now
    - mimetypes.guess_type
    - <builtin>.super
    - tornado.web.RequestHandler.set_header
    - jupyter_server.base.handlers.APIHandler.finish
    - <builtin>.getattr
    - kwargs.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: jupyter_server.kernelspecs
    functionSourceFile: jupyter_server.kernelspecs
    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: 0
    functionLinenumber: -1
    functionName: jupyter_server.kernelspecs.handlers
    functionSourceFile: jupyter_server.kernelspecs.handlers
    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: 1
    functionLinenumber: 22
    functionName: jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.initialize
    functionSourceFile: jupyter_server.kernelspecs.handlers
    functionUses: 0
    functionsReached:
    - tornado.web.StaticFileHandler.initialize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler
    functionSourceFile: jupyter_server.kernelspecs.handlers
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.callable
    - jupyter_server.auth.decorator.authorized.wrapper
    - tornado.web.authenticated
    - jupyter_server.auth.decorator.authorized
    - functools.wraps
    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: jupyter_client.kernelapp
    functionSourceFile: jupyter_client.kernelapp
    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: jupyter_client.kernelapp.KernelApp
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 0
    functionsReached:
    - traitlets.Unicode.tag
    - traitlets.Unicode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f80244f4370>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 34
    functionName: jupyter_client.kernelapp.KernelApp.initialize
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 0
    functionsReached:
    - tornado.ioloop.IOLoop.current
    - warnings.warn
    - <builtin>.super
    - jupyter_core.application.JupyterApp.config.setdefault
    - jupyter_client.manager.KernelManager.__init__
    - uuid.uuid4
    - os.path.join
    - kwargs.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: jupyter_core.application.JupyterApp.config.setdefault
    functionSourceFile: jupyter_core
    functionUses: 1
    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: 47
    functionName: jupyter_client.kernelapp.KernelApp.setup_signals
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 1
    functionsReached:
    - signal.signal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - signo
    - frame
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 52
    functionName: jupyter_client.kernelapp.KernelApp.setup_signals.shutdown_handler
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - signo
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 58
    functionName: jupyter_client.kernelapp.KernelApp.shutdown
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_core.utils.run_sync
    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: 64
    functionName: jupyter_client.kernelapp.KernelApp.log_connection_info
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 1
    functionsReached:
    - jupyter_core.application.JupyterApp.log.info
    - os.path.basename
    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: 70
    functionName: jupyter_client.kernelapp.KernelApp._record_started
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 0
    functionsReached:
    - os.environ.get
    - <builtin>.open
    linkageType: pythonLinkage
    raised: []
    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: 80
    functionName: jupyter_client.kernelapp.KernelApp.start
    functionSourceFile: jupyter_client.kernelapp
    functionUses: 0
    functionsReached:
    - jupyter_client.kernelapp.KernelApp.log_connection_info
    - jupyter_core.application.JupyterApp.log.info
    - jupyter_core.utils.run_sync
    - signal.signal
    - jupyter_client.kernelapp.KernelApp.setup_signals
    - os.path.basename
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.consoleapp
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 0
    functionsReached:
    - app_flags.update
    - aliases.update
    - flags.update
    - traitlets.config.application.boolean_flag
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: app_flags.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.consoleapp.JupyterConsoleApp
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 0
    functionsReached:
    - traitlets.Type
    - traitlets.Dict
    - traitlets.CBool
    - traitlets.List
    - traitlets.CUnicode
    - traitlets.Unicode
    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: 135
    functionName: jupyter_client.consoleapp.JupyterConsoleApp._connection_file_default
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 0
    functionsReached:
    - os.getpid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.CBool
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f80250954f0>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 152
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.build_kernel_argv
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 159
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.init_connection_file
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 2
    functionsReached:
    - <builtin>.open
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - jupyter_client.localinterfaces.localhost
    - traitlets.config.LoggingConfigurable.exit
    - key.encode
    - <builtin>.setattr
    - os.path.join
    - os.path.splitext
    - traitlets.config.LoggingConfigurable.log.error
    - jupyter_client.connect.ConnectionFileMixin.load_connection_file
    - os.path.isabs
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - <builtin>.getattr
    - <builtin>.isinstance
    - os.path.abspath
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.utils._expand_path
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - traitlets.config.LoggingConfigurable.log.critical
    - find_connection_file
    - os.path.expandvars
    - jupyter_client.utils._filefind
    - find_connection_file.strip
    - s.replace
    - os.path.isfile
    - os.getcwd
    - json.load
    - info.get
    - os.path.expanduser
    - 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: find_connection_file
    functionSourceFile: find_connection_file
    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: traitlets.config.LoggingConfigurable.exit
    functionSourceFile: traitlets
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 10
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 217
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.init_ssh
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 2
    functionsReached:
    - <builtin>.open
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - jupyter_client.localinterfaces.localhost
    - traitlets.config.LoggingConfigurable.exit
    - key.encode
    - <builtin>.setattr
    - os.path.splitext
    - traitlets.config.LoggingConfigurable.log.error
    - jupyter_client.connect.ConnectionFileMixin.load_connection_file
    - <builtin>.getattr
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - <builtin>.isinstance
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - sys.exit
    - os.path.exists
    - traitlets.config.LoggingConfigurable.log.info
    - tunnel_to_kernel
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - json.load
    - info.get
    - 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: tunnel_to_kernel
    functionSourceFile: tunnel_to_kernel
    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: 271
    functionName: jupyter_client.consoleapp.JupyterConsoleApp._new_connection_file
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - uuid.uuid4
    - os.path.join
    - os.path.exists
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 285
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_manager
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 2
    functionsReached:
    - typing.cast
    - traitlets.config.LoggingConfigurable.log.critical
    - traitlets.Type
    - atexit.register
    - signal.signal
    - traitlets.config.LoggingConfigurable.exit
    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: 335
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_client
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 2
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_client.client.KernelClient.start_channels
    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 0x7f802472ef70>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 355
    functionName: jupyter_client.consoleapp.JupyterConsoleApp.initialize
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 1
    functionsReached:
    - typing.cast
    - <builtin>.open
    - traitlets.Type
    - atexit.register
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_manager
    - jupyter_client.localinterfaces.localhost
    - traitlets.config.LoggingConfigurable.exit
    - <builtin>.setattr
    - os.path.join
    - key.encode
    - os.path.splitext
    - traitlets.config.LoggingConfigurable.log.error
    - jupyter_client.consoleapp.JupyterConsoleApp.init_connection_file
    - jupyter_client.connect.ConnectionFileMixin.load_connection_file
    - os.path.isabs
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - <builtin>.getattr
    - <builtin>.isinstance
    - os.path.abspath
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.utils._expand_path
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - traitlets.config.LoggingConfigurable.log.critical
    - jupyter_client.client.KernelClient.start_channels
    - find_connection_file
    - os.path.expandvars
    - jupyter_client.utils._filefind
    - find_connection_file.strip
    - sys.exit
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_client.consoleapp.JupyterConsoleApp.init_ssh
    - s.replace
    - os.path.exists
    - os.path.isfile
    - traitlets.config.LoggingConfigurable.log.info
    - os.getcwd
    - tunnel_to_kernel
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - json.load
    - signal.signal
    - info.get
    - os.path.expanduser
    - jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_client
    - os.path.basename
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 371
    functionName: jupyter_client.consoleapp.IPythonConsoleApp.__init__
    functionSourceFile: jupyter_client.consoleapp
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.runapp
    functionSourceFile: jupyter_client.runapp
    functionUses: 0
    functionsReached:
    - aliases.update
    - <builtin>.set
    - flags.update
    - jupyter_core.application.JupyterApp.launch_instance
    - <builtin>.dict
    - frontend_flags_dict.keys
    - frontend_aliases_dict.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: frontend_aliases_dict.keys
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: frontend_flags_dict.keys
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.runapp.RunApp
    functionSourceFile: jupyter_client.runapp
    functionUses: 0
    functionsReached:
    - traitlets.Float
    - traitlets.Any
    - traitlets.config.catch_config_error
    - traitlets.Dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f80251f3f70>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: jupyter_client.runapp.RunApp.parse_command_line
    functionSourceFile: jupyter_client.runapp
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - jupyter_client.consoleapp.JupyterConsoleApp.build_kernel_argv
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.catch_config_error
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f80249cbd00>
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 70
    functionName: jupyter_client.runapp.RunApp.initialize
    functionSourceFile: jupyter_client.runapp
    functionUses: 0
    functionsReached:
    - typing.cast
    - <builtin>.open
    - traitlets.Type
    - atexit.register
    - jupyter_client.connect.ConnectionFileMixin.load_connection_info
    - jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_manager
    - jupyter_client.localinterfaces.localhost
    - <builtin>.super
    - traitlets.config.LoggingConfigurable.exit
    - os.path.join
    - <builtin>.setattr
    - jupyter_client.runapp.RunApp.init_kernel_info
    - key.encode
    - os.path.splitext
    - traitlets.config.LoggingConfigurable.log.error
    - jupyter_client.consoleapp.JupyterConsoleApp.init_connection_file
    - jupyter_client.connect.ConnectionFileMixin.load_connection_file
    - os.path.isabs
    - jupyter_client.connect.ConnectionFileMixin._record_random_port_names
    - <builtin>.getattr
    - <builtin>.isinstance
    - os.path.abspath
    - traitlets.config.LoggingConfigurable.log.debug
    - jupyter_client.utils._expand_path
    - jupyter_client.connect.ConnectionFileMixin._ip_default
    - jupyter_core.application.JupyterApp.log.debug
    - traitlets.config.LoggingConfigurable.log.critical
    - jupyter_client.client.KernelClient.start_channels
    - find_connection_file
    - os.path.expandvars
    - jupyter_client.utils._filefind
    - find_connection_file.strip
    - sys.exit
    - time.time
    - traitlets.config.LoggingConfigurable.__init__
    - jupyter_client.consoleapp.JupyterConsoleApp.init_ssh
    - s.replace
    - os.path.exists
    - jupyter_client.consoleapp.JupyterConsoleApp.initialize
    - os.path.isfile
    - jupyter_client.asynchronous.client.wrapped
    - traitlets.config.LoggingConfigurable.log.info
    - os.getcwd
    - tunnel_to_kernel
    - jupyter_client.connect.ConnectionFileMixin.write_connection_file
    - jupyter_client.blocking.client.wrapped
    - json.load
    - jupyter_core.utils.run_sync
    - signal.signal
    - info.get
    - os.path.expanduser
    - jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_client
    - os.path.basename
    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: 85
    functionName: jupyter_client.runapp.RunApp.init_kernel_info
    functionSourceFile: jupyter_client.runapp
    functionUses: 1
    functionsReached:
    - time.time
    - jupyter_client.blocking.client.wrapped
    - jupyter_client.asynchronous.client.wrapped
    - jupyter_core.utils.run_sync
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 78
    functionName: jupyter_client.runapp.RunApp.handle_sigint
    functionSourceFile: jupyter_client.runapp
    functionUses: 0
    functionsReached:
    - jupyter_core.application.JupyterApp.log.error
    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: 1
    functionLinenumber: 103
    functionName: jupyter_client.runapp.RunApp.start
    functionSourceFile: jupyter_client.runapp
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - jupyter_core.application.JupyterApp.log.debug
    - jupyter_core.utils.run_sync
    - <builtin>.super
    - sys.stdin.read
    - fp.read
    linkageType: pythonLinkage
    raised:
    - Exception
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fp.read
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stdin.read
    functionSourceFile: sys
    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: jupyter_client.threaded
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - socket
    - session
    - loop
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 36
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.__init__
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - f.result
    - concurrent.futures.Future
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 60
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.__init__.setup_stream
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - f.set_result
    - zmq.eventloop.zmqstream.ZMQStream
    - f.set_exception
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.set_exception
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 77
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.is_alive
    functionSourceFile: jupyter_client.threaded
    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: 81
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.start
    functionSourceFile: jupyter_client.threaded
    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: 85
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.stop
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 89
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.close
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - f.result
    - traitlets.log.get_logger
    - concurrent.futures.Future
    - traitlets.log.get_logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 95
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.close.close_stream
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - f.set_result
    - f.set_exception
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 121
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.send
    functionSourceFile: jupyter_client.threaded
    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: 0
    functionLinenumber: 132
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.send.thread_send
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg_list
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 139
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel._handle_recv
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - jupyter_client.threaded.ThreadedZMQSocketChannel.call_handlers
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 153
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.call_handlers
    functionSourceFile: ''
    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: 0
    functionLinenumber: 163
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.process_events
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f8024e88070>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 169
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.flush
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - <builtin>.max
    - concurrent.futures.Future
    - time.monotonic
    - <builtin>.range
    - functools.partial
    - f.result
    linkageType: pythonLinkage
    raised:
    - OSError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 195
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel.flush.flush
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - f.set_result
    - jupyter_client.threaded.ThreadedZMQSocketChannel._flush
    - f.set_exception
    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: 0
    functionLinenumber: 214
    functionName: jupyter_client.threaded.ThreadedZMQSocketChannel._flush
    functionSourceFile: ''
    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: 227
    functionName: jupyter_client.threaded.IOLoopThread.__init__
    functionSourceFile: jupyter_client.threaded
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.threaded.IOLoopThread
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - atexit.register
    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: 0
    functionLinenumber: 234
    functionName: jupyter_client.threaded.IOLoopThread._notice_exit
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    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: 240
    functionName: jupyter_client.threaded.IOLoopThread.start
    functionSourceFile: jupyter_client.threaded
    functionUses: 1
    functionsReached:
    - concurrent.futures.Future
    - threading.Thread.start
    - threading.Thread._start_future.result
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.Thread._start_future.result
    functionSourceFile: threading
    functionUses: 2
    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: 2
    functionLinenumber: 251
    functionName: jupyter_client.threaded.IOLoopThread.run
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - threading.Thread._start_future.set_result
    - tornado.ioloop.IOLoop.current
    - threading.Thread._start_future.set_exception
    - asyncio.sleep
    - jupyter_client.threaded.IOLoopThread.run.assign_ioloop
    - loop.run_until_complete
    - asyncio.new_event_loop
    - asyncio.set_event_loop
    - jupyter_client.threaded.IOLoopThread._async_run
    linkageType: 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: 257
    functionName: jupyter_client.threaded.IOLoopThread.run.assign_ioloop
    functionSourceFile: jupyter_client.threaded
    functionUses: 1
    functionsReached:
    - tornado.ioloop.IOLoop.current
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.Thread._start_future.set_exception
    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: threading.Thread._start_future.set_result
    functionSourceFile: threading
    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: 268
    functionName: jupyter_client.threaded.IOLoopThread._async_run
    functionSourceFile: jupyter_client.threaded
    functionUses: 1
    functionsReached:
    - asyncio.sleep
    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: 273
    functionName: jupyter_client.threaded.IOLoopThread.stop
    functionSourceFile: jupyter_client.threaded
    functionUses: 1
    functionsReached:
    - jupyter_client.threaded.IOLoopThread.close
    - threading.Thread.join
    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: 0
    functionLinenumber: 288
    functionName: jupyter_client.threaded.IOLoopThread.close
    functionSourceFile: ''
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 285
    functionName: jupyter_client.threaded.IOLoopThread.__del__
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - jupyter_client.threaded.IOLoopThread.close
    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: 301
    functionName: jupyter_client.threaded.ThreadedKernelClient.ioloop
    functionSourceFile: jupyter_client.threaded
    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: jupyter_client.threaded.ThreadedKernelClient
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    - traitlets.Type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f8024baac10>
    - <ast.Constant object at 0x7f8024baa190>
    - <ast.Constant object at 0x7f8024baaa90>
    - <ast.Constant object at 0x7f8024baaf70>
    - <ast.Constant object at 0x7f8024baab20>
    argNames:
    - self
    - shell
    - iopub
    - stdin
    - hb
    - control
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 308
    functionName: jupyter_client.threaded.ThreadedKernelClient.start_channels
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - jupyter_client.threaded.IOLoopThread.start
    - traitlets.Instance.start
    - <builtin>.super
    - threading.Thread.start
    - concurrent.futures.Future
    - jupyter_client.threaded.IOLoopThread.__init__
    - threading.Thread._start_future.result
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.start
    functionSourceFile: traitlets
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 325
    functionName: jupyter_client.threaded.ThreadedKernelClient._check_kernel_info_reply
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - jupyter_client.client.KernelClient._handle_kernel_info_reply
    - <builtin>.int
    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: 2
    functionLinenumber: 331
    functionName: jupyter_client.threaded.ThreadedKernelClient.stop_channels
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - traitlets.Instance.stop
    - threading.Thread.is_alive
    - jupyter_client.threaded.IOLoopThread.stop
    - jupyter_client.threaded.IOLoopThread.close
    - traitlets.Instance.is_alive
    - <builtin>.super
    - threading.Thread.join
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.stop
    functionSourceFile: traitlets
    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: 2
    functionLinenumber: 343
    functionName: jupyter_client.threaded.ThreadedKernelClient.is_alive
    functionSourceFile: jupyter_client.threaded
    functionUses: 0
    functionsReached:
    - jupyter_server.gateway.managers.HBChannelQueue.is_beating
    - traitlets.Any.is_beating
    - jupyter_server.gateway.managers.ChannelQueue.is_alive
    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: -1
    functionName: jupyter_client.kernelspecapp
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.config.application.Application.launch_instance
    linkageType: 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: jupyter_client.kernelspecapp.ListKernelSpecs
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    - traitlets.Bool
    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: 41
    functionName: jupyter_client.kernelspecapp.ListKernelSpecs._kernel_spec_manager_default
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 44
    functionName: jupyter_client.kernelspecapp.ListKernelSpecs.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - json.dumps
    - <builtin>.sorted
    - traitlets.Instance.get_all_specs
    - kernelname.ljust
    - paths.items
    - traitlets.Instance.find_kernel_specs
    - <builtin>.print
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.find_kernel_specs
    functionSourceFile: traitlets
    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: traitlets.Instance.get_all_specs
    functionSourceFile: traitlets
    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: jupyter_client.kernelspecapp.ListKernelSpecs.start.<lambda1>
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - item
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 55
    functionName: jupyter_client.kernelspecapp.ListKernelSpecs.start.path_key
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.enumerate
    - path.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: path.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: paths.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kernelname.ljust
    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: 1
    functionLinenumber: -1
    functionName: jupyter_client.kernelspecapp.InstallKernelSpec
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    - aliases.update
    - traitlets.Unicode
    - traitlets.Bool
    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: 89
    functionName: jupyter_client.kernelspecapp.InstallKernelSpec._kernel_spec_manager_default
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    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: 95
    functionName: jupyter_client.kernelspecapp.InstallKernelSpec._kernel_name_default
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - os.path.basename
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 137
    functionName: jupyter_client.kernelspecapp.InstallKernelSpec.parse_command_line
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.print
    - jupyter_core.application.JupyterApp.exit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 8
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 147
    functionName: jupyter_client.kernelspecapp.InstallKernelSpec.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.print
    - traitlets.Instance.install_kernel_spec
    - jupyter_core.application.JupyterApp.exit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.install_kernel_spec
    functionSourceFile: traitlets
    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: jupyter_client.kernelspecapp.RemoveKernelSpec
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.Bool
    - traitlets.List
    - flags.update
    - traitlets.Instance
    - traitlets.Unicode
    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: 183
    functionName: jupyter_client.kernelspecapp.RemoveKernelSpec._kernel_spec_manager_default
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - argv
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 191
    functionName: jupyter_client.kernelspecapp.RemoveKernelSpec.parse_command_line
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.sorted
    - jupyter_core.application.JupyterApp.exit
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 8
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 200
    functionName: jupyter_client.kernelspecapp.RemoveKernelSpec.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.input
    - traitlets.Instance.remove_kernel_spec
    - <builtin>.set
    - spec_paths.get
    - path.ljust
    - traitlets.List.ljust
    - answer.lower
    - traitlets.Instance.find_kernel_specs
    - <builtin>.print
    - jupyter_core.application.JupyterApp.exit
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_paths.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: traitlets.List.ljust
    functionSourceFile: traitlets
    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: path.ljust
    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>.input
    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: answer.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.Instance.remove_kernel_spec
    functionSourceFile: traitlets
    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: jupyter_client.kernelspecapp.InstallNativeKernelSpec
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.Instance
    - traitlets.Bool
    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: 237
    functionName: jupyter_client.kernelspecapp.InstallNativeKernelSpec._kernel_spec_manager_default
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - traitlets.config.LoggingConfigurable.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 257
    functionName: jupyter_client.kernelspecapp.InstallNativeKernelSpec.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.print
    - jupyter_core.application.JupyterApp.log.warning
    - jupyter_core.application.JupyterApp.exit
    - ipykernel.kernelspec.install
    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: 288
    functionName: jupyter_client.kernelspecapp.ListProvisioners.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - traitlets.config.SingletonConfigurable.instance
    - <builtin>.sorted
    - kfp.get_provisioner_entries
    - <builtin>.print
    - name.ljust
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kfp.get_provisioner_entries
    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: jupyter_client.kernelspecapp.ListProvisioners.start.<lambda1>
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.ljust
    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: ListKernelSpecs.description.splitlines
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jupyter_client.kernelspecapp.KernelSpecApp
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - InstallKernelSpec.description.splitlines
    - RemoveKernelSpec.description.splitlines
    - traitlets.Dict
    - ListProvisioners.description.splitlines
    - ListKernelSpecs.description.splitlines
    - InstallNativeKernelSpec.description.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: InstallKernelSpec.description.splitlines
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: RemoveKernelSpec.description.splitlines
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: InstallNativeKernelSpec.description.splitlines
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ListProvisioners.description.splitlines
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 328
    functionName: jupyter_client.kernelspecapp.KernelSpecApp.start
    functionSourceFile: jupyter_client.kernelspecapp
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - traitlets.config.application.Application.subapp.start
    - traitlets.config.application.Application.print_subcommands
    - traitlets.config.application.Application.exit
    - <builtin>.print
    - traitlets.config.application.Application.print_description
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traitlets.config.application.Application.print_description
    functionSourceFile: traitlets
    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: traitlets.config.application.Application.print_subcommands
    functionSourceFile: traitlets
    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: traitlets.config.application.Application.exit
    functionSourceFile: traitlets
    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: traitlets.config.application.Application.subapp.start
    functionSourceFile: traitlets
    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: traitlets.config.application.Application.launch_instance
    functionSourceFile: traitlets
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_serialization':
  - 51
  - 50
  - 19
  '...fuzz_serialization.TestOneInput':
  - 33
  - 34
  - 36
  - 37
  - 38
  - 40
  - 41
  - 28
  - 29
  - 30
  - 31
  '...fuzz_serialization.main':
  - 48
  - 46
  - 47
  jupyter_client:
  - 1
  jupyter_client._version:
  - 1
  - 9
  - 10
  - 11
  - 12
  - 13
  - 16
  jupyter_client.adapter:
  - 1
  - 429
  - 430
  - 28
  - 29
  - 30
  jupyter_client.adapter.Adapter:
  - 57
  jupyter_client.adapter.Adapter.__call__:
  - 98
  - 99
  - 100
  - 88
  - 89
  - 90
  - 93
  - 94
  jupyter_client.adapter.Adapter.handle_reply_status_error:
  - 81
  jupyter_client.adapter.Adapter.update_header:
  - 65
  jupyter_client.adapter.Adapter.update_metadata:
  - 69
  jupyter_client.adapter.Adapter.update_msg_type:
  - 73
  - 76
  jupyter_client.adapter.V4toV5:
  - 244
  - 239
  jupyter_client.adapter.V4toV5.complete_reply:
  - 314
  - 323
  - 322
  jupyter_client.adapter.V4toV5.complete_request:
  - 305
  jupyter_client.adapter.V4toV5.display_data:
  - 377
  - 379
  - 373
  - 375
  jupyter_client.adapter.V4toV5.execute_reply:
  - 288
  - 290
  - 291
  - 292
  - 293
  - 296
  - 297
  - 298
  - 300
  jupyter_client.adapter.V4toV5.execute_request:
  - 281
  - 282
  - 283
  - 279
  jupyter_client.adapter.V4toV5.input_request:
  - 388
  - 389
  jupyter_client.adapter.V4toV5.inspect_reply:
  - 352
  - 353
  - 355
  - 356
  - 357
  - 359
  - 360
  - 361
  - 343
  - 349
  - 351
  jupyter_client.adapter.V4toV5.inspect_request:
  - 338
  - 332
  jupyter_client.adapter.V4toV5.kernel_info_reply:
  - 256
  - 258
  - 259
  - 260
  - 262
  - 264
  - 266
  - 268
  - 269
  - 270
  - 271
  - 272
  - 273
  jupyter_client.adapter.V4toV5.stream:
  - 369
  - 367
  jupyter_client.adapter.V4toV5.update_header:
  - 249
  - 247
  jupyter_client.adapter.V5toV4:
  - 118
  jupyter_client.adapter.V5toV4.complete_reply:
  - 185
  - 186
  - 189
  - 183
  jupyter_client.adapter.V5toV4.complete_request:
  - 169
  - 173
  jupyter_client.adapter.V5toV4.display_data:
  - 224
  - 218
  - 220
  - 222
  jupyter_client.adapter.V5toV4.execute_reply:
  - 162
  - 164
  jupyter_client.adapter.V5toV4.execute_request:
  - 156
  - 158
  jupyter_client.adapter.V5toV4.input_request:
  - 233
  - 234
  jupyter_client.adapter.V5toV4.kernel_info_reply:
  - 139
  - 142
  - 143
  - 144
  - 145
  - 146
  - 147
  - 148
  - 149
  - 150
  - 151
  jupyter_client.adapter.V5toV4.object_info_reply:
  - 205
  jupyter_client.adapter.V5toV4.object_info_request:
  - 200
  - 193
  - 197
  jupyter_client.adapter.V5toV4.stream:
  - 212
  - 214
  jupyter_client.adapter.V5toV4.update_header:
  - 131
  - 132
  - 133
  jupyter_client.adapter._version_str_to_list:
  - 104
  - 109
  - 111
  jupyter_client.adapter.adapt:
  - 416
  - 417
  - 421
  - 422
  - 424
  - 394
  - 414
  - 415
  jupyter_client.adapter.code_to_line:
  - 12
  - 17
  - 19
  - 20
  - 21
  jupyter_client.adapter.extract_oname_v4:
  - 34
  - 39
  - 42
  - 45
  - 48
  - 49
  - 50
  jupyter_client.asynchronous.client:
  - 1
  jupyter_client.asynchronous.client.AsyncKernelClient:
  - 64
  - 65
  - 66
  - 67
  - 36
  - 68
  - 69
  - 75
  - 54
  - 55
  - 56
  - 57
  - 58
  - 30
  - 63
  jupyter_client.asynchronous.client.AsyncKernelClient._context_default:
  - 40
  jupyter_client.asynchronous.client.wrapped:
  - 16
  jupyter_client.asynchronous.client.wrapped._:
  - 19
  - 20
  - 21
  - 22
  - 24
  jupyter_client.blocking.client:
  - 1
  jupyter_client.blocking.client.BlockingKernelClient:
  - 33
  - 43
  - 44
  - 45
  - 46
  - 48
  - 51
  - 52
  - 53
  - 54
  - 55
  - 57
  - 60
  - 61
  - 62
  - 63
  - 64
  - 65
  - 67
  - 68
  - 71
  jupyter_client.blocking.client.wrapped:
  - 19
  jupyter_client.blocking.client.wrapped._:
  - 22
  - 23
  - 24
  - 25
  - 27
  jupyter_client.channels:
  - 1
  - 194
  jupyter_client.channels.AsyncZMQSocketChannel:
  - 275
  jupyter_client.channels.AsyncZMQSocketChannel.__init__:
  - 280
  - 291
  - 294
  jupyter_client.channels.AsyncZMQSocketChannel._recv:
  - 298
  - 299
  - 300
  jupyter_client.channels.AsyncZMQSocketChannel.get_msg:
  - 305
  - 307
  - 308
  - 309
  - 310
  jupyter_client.channels.AsyncZMQSocketChannel.get_msgs:
  - 320
  - 316
  jupyter_client.channels.AsyncZMQSocketChannel.msg_ready:
  - 328
  - 326
  jupyter_client.channels.HBChannel:
  - 35
  jupyter_client.channels.HBChannel.__init__:
  - 69
  - 74
  - 75
  - 85
  - 88
  - 58
  jupyter_client.channels.HBChannel._async_run:
  - 128
  - 130
  - 132
  - 133
  - 135
  - 137
  - 139
  - 140
  - 142
  - 112
  - 113
  - 119
  - 121
  - 127
  jupyter_client.channels.HBChannel._create_socket:
  - 99
  - 101
  - 102
  - 104
  - 107
  - 109
  jupyter_client.channels.HBChannel._notice_exit:
  - 95
  jupyter_client.channels.HBChannel.call_handlers:
  - 184
  jupyter_client.channels.HBChannel.close:
  - 176
  - 178
  - 175
  jupyter_client.channels.HBChannel.is_beating:
  - 161
  - 162
  jupyter_client.channels.HBChannel.pause:
  - 153
  jupyter_client.channels.HBChannel.run:
  - 146
  - 147
  - 148
  - 149
  - 150
  jupyter_client.channels.HBChannel.stop:
  - 168
  - 170
  - 171
  - 172
  jupyter_client.channels.HBChannel.unpause:
  - 157
  jupyter_client.channels.InvalidPortNumber:
  - 29
  jupyter_client.channels.ZMQSocketChannel:
  - 198
  jupyter_client.channels.ZMQSocketChannel.__init__:
  - 201
  - 212
  jupyter_client.channels.ZMQSocketChannel._recv:
  - 219
  - 220
  - 221
  jupyter_client.channels.ZMQSocketChannel.close:
  - 250
  - 251
  - 253
  jupyter_client.channels.ZMQSocketChannel.get_msg:
  - 224
  - 226
  - 227
  - 228
  - 229
  jupyter_client.channels.ZMQSocketChannel.get_msgs:
  - 235
  - 239
  jupyter_client.channels.ZMQSocketChannel.is_alive:
  - 261
  jupyter_client.channels.ZMQSocketChannel.msg_ready:
  - 245
  - 247
  jupyter_client.channels.ZMQSocketChannel.send:
  - 265
  - 267
  jupyter_client.channels.ZMQSocketChannel.start:
  - 270
  jupyter_client.channelsabc:
  - 1
  jupyter_client.channelsabc.ChannelABC:
  - 8
  jupyter_client.channelsabc.ChannelABC.is_alive:
  - 22
  jupyter_client.channelsabc.ChannelABC.start:
  - 12
  jupyter_client.channelsabc.ChannelABC.stop:
  - 17
  jupyter_client.channelsabc.HBChannelABC:
  - 27
  jupyter_client.channelsabc.HBChannelABC.is_beating:
  - 50
  jupyter_client.channelsabc.HBChannelABC.pause:
  - 40
  jupyter_client.channelsabc.HBChannelABC.unpause:
  - 45
  jupyter_client.client:
  - 1
  - 827
  jupyter_client.client.KernelClient:
  - 100
  - 101
  - 102
  - 103
  - 104
  - 74
  - 107
  - 108
  - 109
  - 110
  - 111
  - 91
  - 93
  jupyter_client.client.KernelClient.__del__:
  - 128
  - 129
  - 131
  - 135
  - 117
  - 118
  - 123
  - 124
  - 125
  - 127
  jupyter_client.client.KernelClient._async_execute_interactive:
  - 514
  - 515
  - 516
  - 517
  - 523
  - 528
  - 529
  - 533
  - 535
  - 536
  - 538
  - 544
  - 545
  - 546
  - 547
  - 548
  - 551
  - 552
  - 553
  - 554
  - 555
  - 557
  - 560
  - 562
  - 436
  - 565
  - 568
  - 575
  - 576
  - 577
  - 490
  - 493
  - 495
  - 498
  - 499
  - 508
  - 511
  jupyter_client.client.KernelClient._async_get_control_msg:
  - 154
  - 155
  jupyter_client.client.KernelClient._async_get_iopub_msg:
  - 146
  - 147
  jupyter_client.client.KernelClient._async_get_shell_msg:
  - 142
  - 143
  jupyter_client.client.KernelClient._async_get_stdin_msg:
  - 150
  - 151
  jupyter_client.client.KernelClient._async_is_alive:
  - 416
  - 419
  - 409
  - 412
  - 415
  jupyter_client.client.KernelClient._async_recv_reply:
  - 224
  - 226
  - 227
  - 229
  - 233
  - 219
  - 220
  - 221
  - 223
  jupyter_client.client.KernelClient._async_wait_for_ready:
  - 194
  - 166
  - 167
  - 168
  - 198
  - 201
  - 172
  - 206
  - 176
  - 177
  - 212
  - 181
  - 185
  - 187
  - 158
  - 191
  jupyter_client.client.KernelClient._context_default:
  - 97
  jupyter_client.client.KernelClient._handle_kernel_info_reply:
  - 776
  - 777
  - 771
  jupyter_client.client.KernelClient._output_hook_default:
  - 258
  - 261
  - 262
  - 263
  - 264
  - 265
  - 266
  - 267
  jupyter_client.client.KernelClient._output_hook_kernel:
  - 281
  - 282
  - 276
  - 284
  jupyter_client.client.KernelClient._stdin_hook_default:
  - 239
  - 241
  - 244
  - 249
  - 254
  - 255
  jupyter_client.client.KernelClient.channels_running:
  - 338
  - 340
  - 341
  - 342
  - 343
  - 344
  jupyter_client.client.KernelClient.comm_info:
  - 767
  - 766
  - 759
  jupyter_client.client.KernelClient.complete:
  - 648
  - 663
  - 664
  - 666
  - 667
  jupyter_client.client.KernelClient.control_channel:
  - 398
  - 399
  - 400
  - 401
  - 402
  - 403
  jupyter_client.client.KernelClient.execute:
  - 643
  - 644
  - 589
  - 623
  - 625
  - 629
  - 631
  jupyter_client.client.KernelClient.hb_channel:
  - 387
  - 388
  - 389
  - 390
  - 391
  jupyter_client.client.KernelClient.history:
  - 739
  - 708
  - 741
  - 740
  - 742
  - 743
  - 744
  jupyter_client.client.KernelClient.input:
  - 792
  - 802
  - 803
  jupyter_client.client.KernelClient.inspect:
  - 690
  - 691
  - 697
  - 698
  - 671
  jupyter_client.client.KernelClient.iopub_channel:
  - 363
  - 364
  - 365
  - 366
  - 367
  - 368
  jupyter_client.client.KernelClient.is_complete:
  - 787
  - 788
  - 781
  jupyter_client.client.KernelClient.kernel_info:
  - 754
  - 755
  - 748
  jupyter_client.client.KernelClient.shell_channel:
  - 352
  - 353
  - 354
  - 355
  - 356
  - 351
  jupyter_client.client.KernelClient.shutdown:
  - 822
  - 806
  - 823
  jupyter_client.client.KernelClient.start_channels:
  - 298
  - 306
  - 307
  - 308
  - 309
  - 310
  - 311
  - 315
  - 316
  - 317
  - 318
  jupyter_client.client.KernelClient.stdin_channel:
  - 375
  - 376
  - 377
  - 378
  - 379
  - 380
  jupyter_client.client.KernelClient.stop_channels:
  - 321
  - 325
  - 326
  - 327
  - 328
  - 329
  - 330
  - 331
  - 332
  - 333
  - 334
  jupyter_client.client.reqrep:
  - 69
  - 39
  - 40
  - 45
  - 46
  - 47
  - 48
  - 54
  jupyter_client.client.validate_string_dict:
  - 32
  - 34
  - 28
  - 31
  jupyter_client.clientabc:
  - 16
  - 1
  jupyter_client.clientabc.KernelClientABC:
  - 25
  jupyter_client.clientabc.KernelClientABC.channels_running:
  - 79
  jupyter_client.clientabc.KernelClientABC.start_channels:
  - 69
  jupyter_client.clientabc.KernelClientABC.stop_channels:
  - 74
  jupyter_client.connect:
  - 1
  - 29
  jupyter_client.connect.ConnectionFileMixin:
  - 320
  - 326
  - 360
  - 367
  - 336
  - 368
  - 338
  - 339
  - 369
  - 341
  - 370
  - 343
  - 371
  - 431
  - 381
  - 318
  jupyter_client.connect.ConnectionFileMixin._create_connected_socket:
  - 650
  - 651
  - 653
  - 654
  - 657
  - 659
  jupyter_client.connect.ConnectionFileMixin._data_dir_default:
  - 323
  jupyter_client.connect.ConnectionFileMixin._equal_connections:
  - 616
  - 630
  jupyter_client.connect.ConnectionFileMixin._ip_changed:
  - 362
  jupyter_client.connect.ConnectionFileMixin._ip_default:
  - 352
  - 353
  - 354
  - 358
  jupyter_client.connect.ConnectionFileMixin._make_url:
  - 640
  - 642
  - 637
  jupyter_client.connect.ConnectionFileMixin._reconcile_connection_info:
  - 585
  - 586
  - 587
  - 590
  - 591
  - 592
  - 601
  - 597
  - 600
  - 569
  - 602
  - 603
  - 606
  - 607
  jupyter_client.connect.ConnectionFileMixin._record_random_port_names:
  - 465
  - 470
  - 472
  - 476
  - 477
  - 478
  jupyter_client.connect.ConnectionFileMixin._session_default:
  - 386
  jupyter_client.connect.ConnectionFileMixin.blocking_client:
  - 434
  - 435
  - 436
  - 437
  jupyter_client.connect.ConnectionFileMixin.cleanup_connection_file:
  - 441
  - 449
  - 445
  jupyter_client.connect.ConnectionFileMixin.cleanup_ipc_files:
  - 457
  - 460
  - 454
  - 455
  jupyter_client.connect.ConnectionFileMixin.cleanup_random_ports:
  - 481
  - 487
  - 490
  - 491
  - 493
  jupyter_client.connect.ConnectionFileMixin.connect_control:
  - 681
  - 682
  jupyter_client.connect.ConnectionFileMixin.connect_hb:
  - 677
  - 678
  jupyter_client.connect.ConnectionFileMixin.connect_iopub:
  - 664
  - 665
  - 663
  jupyter_client.connect.ConnectionFileMixin.connect_shell:
  - 669
  - 670
  jupyter_client.connect.ConnectionFileMixin.connect_stdin:
  - 673
  - 674
  jupyter_client.connect.ConnectionFileMixin.get_connection_info:
  - 416
  - 393
  - 419
  - 422
  jupyter_client.connect.ConnectionFileMixin.load_connection_file:
  - 522
  - 530
  - 532
  - 533
  - 534
  - 535
  jupyter_client.connect.ConnectionFileMixin.load_connection_info:
  - 549
  - 550
  - 552
  - 553
  - 554
  - 556
  - 558
  - 560
  - 561
  - 562
  - 565
  - 538
  jupyter_client.connect.ConnectionFileMixin.ports:
  - 378
  jupyter_client.connect.ConnectionFileMixin.write_connection_file:
  - 515
  - 516
  - 517
  - 496
  - 497
  - 500
  jupyter_client.connect.LocalPortCache:
  - 686
  jupyter_client.connect.LocalPortCache.__init__:
  - 697
  - 698
  jupyter_client.connect.LocalPortCache.find_available_port:
  - 704
  - 705
  - 706
  - 710
  - 711
  - 702
  - 703
  jupyter_client.connect.LocalPortCache.return_port:
  - 715
  - 716
  jupyter_client.connect.find_connection_file:
  - 227
  - 228
  - 230
  - 231
  - 202
  - 203
  - 234
  - 206
  - 207
  - 208
  - 238
  - 213
  - 182
  - 219
  jupyter_client.connect.find_connection_file.<lambda1>:
  - 238
  jupyter_client.connect.tunnel_to_kernel:
  - 291
  - 294
  - 296
  - 297
  - 299
  - 273
  - 275
  - 276
  - 246
  - 278
  - 280
  jupyter_client.connect.write_connection_file:
  - 128
  - 129
  - 130
  - 131
  - 132
  - 133
  - 134
  - 135
  - 136
  - 137
  - 147
  - 151
  - 156
  - 157
  - 159
  - 162
  - 163
  - 164
  - 166
  - 168
  - 170
  - 52
  - 92
  - 93
  - 95
  - 96
  - 97
  - 104
  - 105
  - 106
  - 107
  - 108
  - 110
  - 111
  - 112
  - 114
  - 115
  - 116
  - 117
  - 118
  - 119
  - 120
  - 123
  - 124
  - 126
  jupyter_client.consoleapp:
  - 1
  - 66
  - 37
  - 47
  - 48
  - 83
  - 63
  jupyter_client.consoleapp.IPythonConsoleApp:
  - 369
  jupyter_client.consoleapp.IPythonConsoleApp.__init__:
  - 372
  - 373
  - 374
  jupyter_client.consoleapp.JupyterConsoleApp:
  - 128
  - 129
  - 138
  - 140
  - 144
  - 115
  - 116
  - 117
  - 124
  - 93
  jupyter_client.consoleapp.JupyterConsoleApp._connection_file_default:
  - 136
  jupyter_client.consoleapp.JupyterConsoleApp._new_connection_file:
  - 282
  - 277
  - 279
  jupyter_client.consoleapp.JupyterConsoleApp.build_kernel_argv:
  - 153
  jupyter_client.consoleapp.JupyterConsoleApp.init_connection_file:
  - 160
  - 192
  - 194
  - 199
  - 201
  - 175
  - 208
  - 177
  - 210
  - 179
  - 182
  - 183
  - 215
  - 189
  jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_client:
  - 353
  - 336
  - 337
  - 338
  - 340
  jupyter_client.consoleapp.JupyterConsoleApp.init_kernel_manager:
  - 288
  - 318
  - 320
  - 291
  - 322
  - 295
  - 333
  - 310
  - 311
  - 313
  - 317
  - 286
  jupyter_client.consoleapp.JupyterConsoleApp.init_ssh:
  - 226
  - 227
  - 228
  - 230
  - 233
  - 250
  - 265
  - 267
  - 268
  - 269
  - 245
  - 248
  - 253
  - 218
  - 219
  - 221
  - 254
  jupyter_client.consoleapp.JupyterConsoleApp.initialize:
  - 356
  - 360
  - 362
  - 363
  - 364
  - 365
  jupyter_client.ioloop.manager:
  - 1
  jupyter_client.ioloop.manager.AsyncIOLoopKernelManager:
  - 77
  - 79
  - 112
  - 113
  - 114
  - 115
  - 84
  - 116
  - 94
  jupyter_client.ioloop.manager.AsyncIOLoopKernelManager._loop_default:
  - 82
  jupyter_client.ioloop.manager.AsyncIOLoopKernelManager.start_restarter:
  - 99
  - 100
  - 101
  - 102
  - 105
  jupyter_client.ioloop.manager.AsyncIOLoopKernelManager.stop_restarter:
  - 108
  - 109
  - 110
  jupyter_client.ioloop.manager.IOLoopKernelManager:
  - 36
  - 69
  - 38
  - 70
  - 71
  - 72
  - 73
  - 43
  - 53
  jupyter_client.ioloop.manager.IOLoopKernelManager._loop_default:
  - 41
  jupyter_client.ioloop.manager.IOLoopKernelManager.start_restarter:
  - 56
  - 57
  - 58
  - 59
  - 62
  jupyter_client.ioloop.manager.IOLoopKernelManager.stop_restarter:
  - 65
  - 66
  - 67
  jupyter_client.ioloop.manager.as_zmqstream:
  - 16
  jupyter_client.ioloop.manager.as_zmqstream.wrapped:
  - 25
  - 27
  - 21
  - 30
  jupyter_client.ioloop.restarter:
  - 1
  jupyter_client.ioloop.restarter.AsyncIOLoopKernelRestarter:
  - 53
  jupyter_client.ioloop.restarter.AsyncIOLoopKernelRestarter.poll:
  - 56
  - 57
  - 58
  - 59
  - 60
  - 61
  - 63
  - 68
  - 69
  - 70
  - 73
  - 76
  - 82
  - 83
  - 94
  - 95
  - 98
  - 100
  - 101
  jupyter_client.ioloop.restarter.IOLoopKernelRestarter:
  - 18
  - 20
  jupyter_client.ioloop.restarter.IOLoopKernelRestarter._loop_default:
  - 30
  - 23
  jupyter_client.ioloop.restarter.IOLoopKernelRestarter.start:
  - 43
  - 35
  - 36
  - 39
  jupyter_client.ioloop.restarter.IOLoopKernelRestarter.stop:
  - 48
  - 46
  - 47
  jupyter_client.jsonutil:
  - 1
  - 25
  - 31
  jupyter_client.jsonutil._ensure_tzinfo:
  - 50
  - 43
  - 45
  - 39
  jupyter_client.jsonutil.date_default:
  - 104
  - 98
  - 99
  jupyter_client.jsonutil.extract_dates:
  - 71
  - 72
  - 74
  - 75
  - 77
  - 78
  - 79
  - 80
  jupyter_client.jsonutil.json_clean:
  - 133
  - 141
  - 144
  - 146
  - 148
  - 150
  - 151
  - 152
  - 154
  - 157
  - 160
  - 162
  - 163
  - 165
  - 167
  - 168
  - 170
  - 174
  - 175
  - 176
  - 184
  - 185
  - 188
  - 189
  jupyter_client.jsonutil.json_default:
  - 108
  - 109
  - 110
  - 111
  - 113
  - 114
  - 116
  - 117
  - 119
  - 120
  - 122
  - 123
  jupyter_client.jsonutil.parse_date:
  - 64
  - 65
  - 66
  - 55
  - 61
  - 63
  jupyter_client.jsonutil.squash_dates:
  - 85
  - 86
  - 87
  - 88
  - 89
  - 90
  - 91
  - 92
  - 93
  jupyter_client.kernelapp:
  - 1
  jupyter_client.kernelapp.KernelApp:
  - 17
  - 30
  jupyter_client.kernelapp.KernelApp._record_started:
  - 75
  - 76
  - 77
  - 71
  jupyter_client.kernelapp.KernelApp.initialize:
  - 35
  - 36
  - 38
  - 39
  - 40
  - 42
  - 44
  - 45
  jupyter_client.kernelapp.KernelApp.log_connection_info:
  - 65
  - 67
  - 68
  jupyter_client.kernelapp.KernelApp.setup_signals:
  - 48
  - 49
  - 56
  - 55
  jupyter_client.kernelapp.KernelApp.setup_signals.shutdown_handler:
  - 53
  jupyter_client.kernelapp.KernelApp.shutdown:
  - 59
  - 60
  - 61
  - 62
  jupyter_client.kernelapp.KernelApp.start:
  - 81
  - 82
  - 84
  - 85
  - 86
  - 87
  - 89
  jupyter_client.kernelspec:
  - 1
  - 69
  jupyter_client.kernelspec.KernelSpec:
  - 32
  - 33
  - 34
  - 35
  - 25
  - 27
  - 28
  - 29
  - 30
  - 31
  jupyter_client.kernelspec.KernelSpec.from_resource_dir:
  - 39
  - 43
  - 44
  - 45
  - 46
  jupyter_client.kernelspec.KernelSpec.to_dict:
  - 49
  jupyter_client.kernelspec.KernelSpec.to_json:
  - 66
  - 62
  jupyter_client.kernelspec.KernelSpecManager:
  - 163
  - 133
  - 141
  - 173
  - 146
  - 151
  - 123
  - 156
  - 125
  jupyter_client.kernelspec.KernelSpecManager._data_dir_default:
  - 144
  jupyter_client.kernelspec.KernelSpecManager._deprecated_trait:
  - 175
  - 178
  - 179
  - 183
  - 187
  jupyter_client.kernelspec.KernelSpecManager._find_spec_directory:
  - 256
  - 257
  - 258
  - 259
  - 260
  - 263
  - 255
  jupyter_client.kernelspec.KernelSpecManager._get_destination_dir:
  - 343
  - 344
  - 345
  - 346
  - 348
  jupyter_client.kernelspec.KernelSpecManager._get_kernel_spec_by_name:
  - 232
  - 236
  - 243
  - 244
  - 245
  - 246
  - 247
  - 249
  jupyter_client.kernelspec.KernelSpecManager._kernel_dirs_default:
  - 197
  - 190
  jupyter_client.kernelspec.KernelSpecManager._user_kernel_dir_default:
  - 149
  jupyter_client.kernelspec.KernelSpecManager.find_kernel_specs:
  - 225
  - 227
  - 203
  - 205
  - 206
  - 207
  - 208
  - 209
  - 212
  - 216
  - 223
  jupyter_client.kernelspec.KernelSpecManager.get_all_specs:
  - 290
  - 302
  - 304
  - 306
  - 307
  - 312
  - 314
  - 318
  jupyter_client.kernelspec.KernelSpecManager.get_kernel_spec:
  - 273
  - 277
  - 278
  - 282
  - 283
  - 284
  - 287
  jupyter_client.kernelspec.KernelSpecManager.install_kernel_spec:
  - 384
  - 391
  - 392
  - 394
  - 395
  - 396
  - 402
  - 403
  - 404
  - 406
  - 407
  - 358
  - 371
  - 372
  - 373
  - 374
  - 375
  - 379
  - 383
  jupyter_client.kernelspec.KernelSpecManager.install_native_kernel_spec:
  - 418
  - 411
  - 412
  jupyter_client.kernelspec.KernelSpecManager.remove_kernel_spec:
  - 322
  - 329
  - 333
  - 334
  - 335
  - 337
  jupyter_client.kernelspec.NoSuchKernel:
  - 112
  jupyter_client.kernelspec.NoSuchKernel.__init__:
  - 115
  jupyter_client.kernelspec._is_kernel_dir:
  - 85
  - 86
  jupyter_client.kernelspec._is_valid_kernel_name:
  - 73
  - 75
  jupyter_client.kernelspec._list_kernels_in:
  - 97
  - 98
  - 99
  - 101
  - 102
  - 103
  - 90
  - 94
  jupyter_client.kernelspec.find_kernel_specs:
  - 422
  - 423
  jupyter_client.kernelspec.get_kernel_spec:
  - 427
  - 431
  jupyter_client.kernelspec.install_kernel_spec:
  - 441
  - 442
  jupyter_client.kernelspec.install_native_kernel_spec:
  - 449
  - 450
  jupyter_client.kernelspecapp:
  - 1
  - 340
  - 341
  jupyter_client.kernelspecapp.InstallKernelSpec:
  - 98
  - 73
  - 106
  - 113
  - 119
  - 87
  - 92
  - 93
  jupyter_client.kernelspecapp.InstallKernelSpec._kernel_name_default:
  - 96
  jupyter_client.kernelspecapp.InstallKernelSpec._kernel_spec_manager_default:
  - 90
  jupyter_client.kernelspecapp.InstallKernelSpec.parse_command_line:
  - 138
  - 139
  - 141
  - 144
  - 145
  jupyter_client.kernelspecapp.InstallKernelSpec.start:
  - 160
  - 161
  - 162
  - 163
  - 164
  - 165
  - 166
  - 167
  - 148
  - 149
  - 150
  - 152
  jupyter_client.kernelspecapp.InstallNativeKernelSpec:
  - 240
  - 235
  - 231
  jupyter_client.kernelspecapp.InstallNativeKernelSpec._kernel_spec_manager_default:
  - 238
  jupyter_client.kernelspecapp.InstallNativeKernelSpec.start:
  - 258
  - 259
  - 266
  - 267
  - 269
  - 271
  - 272
  - 273
  - 274
  - 278
  - 279
  jupyter_client.kernelspecapp.KernelSpecApp:
  - 321
  - 302
  - 308
  - 310
  - 313
  - 316
  - 319
  jupyter_client.kernelspecapp.KernelSpecApp.start:
  - 329
  - 330
  - 331
  - 332
  - 333
  - 334
  - 335
  - 337
  jupyter_client.kernelspecapp.ListKernelSpecs:
  - 26
  - 27
  - 22
  jupyter_client.kernelspecapp.ListKernelSpecs._kernel_spec_manager_default:
  - 42
  jupyter_client.kernelspecapp.ListKernelSpecs.start:
  - 64
  - 65
  - 66
  - 68
  - 45
  - 46
  - 47
  - 48
  - 49
  - 50
  - 53
  jupyter_client.kernelspecapp.ListKernelSpecs.start.<lambda1>:
  - 53
  jupyter_client.kernelspecapp.ListKernelSpecs.start.path_key:
  - 56
  - 58
  - 59
  jupyter_client.kernelspecapp.ListProvisioners:
  - 283
  jupyter_client.kernelspecapp.ListProvisioners.start:
  - 289
  - 290
  - 291
  - 292
  - 295
  - 297
  - 298
  jupyter_client.kernelspecapp.ListProvisioners.start.<lambda1>:
  - 295
  jupyter_client.kernelspecapp.RemoveKernelSpec:
  - 172
  - 178
  - 179
  - 181
  - 189
  jupyter_client.kernelspecapp.RemoveKernelSpec._kernel_spec_manager_default:
  - 184
  jupyter_client.kernelspecapp.RemoveKernelSpec.parse_command_line:
  - 192
  - 193
  - 195
  - 196
  - 198
  jupyter_client.kernelspecapp.RemoveKernelSpec.start:
  - 201
  - 203
  - 204
  - 205
  - 206
  - 208
  - 209
  - 210
  - 211
  - 212
  - 213
  - 214
  - 217
  - 219
  - 221
  - 222
  - 223
  - 224
  - 227
  jupyter_client.launcher:
  - 1
  jupyter_client.launcher.launch_kernel:
  - 129
  - 132
  - 134
  - 149
  - 150
  - 23
  - 154
  - 155
  - 161
  - 162
  - 163
  - 165
  - 166
  - 172
  - 177
  - 179
  - 67
  - 68
  - 69
  - 75
  - 77
  - 85
  - 88
  - 89
  - 96
  - 97
  - 117
  - 120
  - 121
  jupyter_client.localinterfaces:
  - 104
  - 1
  - 138
  jupyter_client.localinterfaces._get_output:
  - 36
  - 38
  - 39
  - 41
  - 42
  - 43
  - 44
  - 46
  jupyter_client.localinterfaces._load_ips:
  - 226
  - 261
  - 263
  - 266
  - 267
  - 238
  - 244
  - 246
  - 251
  - 255
  jupyter_client.localinterfaces._load_ips_dumb:
  - 217
  jupyter_client.localinterfaces._load_ips_gethostbyname:
  - 197
  - 198
  - 200
  - 201
  - 205
  - 206
  - 209
  - 211
  - 185
  - 191
  jupyter_client.localinterfaces._load_ips_ifconfig:
  - 108
  - 111
  - 114
  - 116
  - 118
  - 119
  - 120
  - 121
  - 122
  jupyter_client.localinterfaces._load_ips_ip:
  - 129
  - 131
  - 132
  - 133
  - 134
  - 135
  - 126
  - 127
  jupyter_client.localinterfaces._load_ips_ipconfig:
  - 142
  - 143
  - 145
  - 147
  - 148
  - 149
  - 150
  - 151
  jupyter_client.localinterfaces._load_ips_netifaces:
  - 163
  - 165
  - 166
  - 167
  - 168
  - 170
  - 171
  - 172
  - 174
  - 175
  - 178
  - 179
  - 180
  - 181
  - 155
  jupyter_client.localinterfaces._only_once:
  - 50
  jupyter_client.localinterfaces._only_once.wrapped:
  - 56
  - 54
  jupyter_client.localinterfaces._populate_from_list:
  - 96
  - 98
  - 100
  - 101
  - 79
  - 80
  - 87
  - 88
  - 89
  - 90
  - 91
  - 94
  jupyter_client.localinterfaces._requires_ips:
  - 64
  jupyter_client.localinterfaces._requires_ips.ips_loaded:
  - 67
  - 68
  jupyter_client.localinterfaces._uniq_stable:
  - 21
  - 26
  - 28
  - 29
  - 30
  - 31
  jupyter_client.localinterfaces.is_local_ip:
  - 290
  jupyter_client.localinterfaces.is_public_ip:
  - 296
  jupyter_client.localinterfaces.local_ips:
  - 272
  jupyter_client.localinterfaces.localhost:
  - 284
  jupyter_client.localinterfaces.public_ips:
  - 278
  jupyter_client.manager:
  - 752
  - 1
  - 60
  jupyter_client.manager.AsyncKernelManager:
  - 714
  - 717
  - 720
  - 723
  - 725
  jupyter_client.manager.AsyncKernelManager._context_default:
  - 728
  jupyter_client.manager.AsyncKernelManager.client:
  - 733
  - 734
  jupyter_client.manager.KernelManager:
  - 129
  - 513
  - 131
  - 137
  - 638
  - 140
  - 142
  - 146
  - 404
  - 150
  - 157
  - 159
  - 671
  - 163
  - 419
  - 168
  - 555
  - 688
  - 182
  - 184
  - 442
  - 702
  - 198
  - 455
  - 204
  - 598
  - 220
  - 221
  - 223
  - 225
  - 102
  - 615
  - 360
  - 496
  - 126
  jupyter_client.manager.KernelManager.__del__:
  - 232
  - 233
  jupyter_client.manager.KernelManager.__init__:
  - 110
  - 111
  - 112
  - 120
  - 121
  jupyter_client.manager.KernelManager._async_cleanup_resources:
  - 499
  - 500
  - 501
  - 503
  - 504
  - 507
  - 508
  - 510
  - 511
  jupyter_client.manager.KernelManager._async_finish_shutdown:
  - 480
  - 483
  - 484
  - 487
  - 489
  - 492
  - 494
  - 463
  - 468
  - 469
  - 470
  - 471
  - 474
  - 475
  - 478
  jupyter_client.manager.KernelManager._async_interrupt_kernel:
  - 641
  - 646
  - 647
  - 648
  - 652
  - 653
  - 655
  - 657
  - 660
  - 661
  - 663
  - 664
  - 665
  - 666
  jupyter_client.manager.KernelManager._async_is_alive:
  - 691
  - 692
  - 695
  - 697
  - 698
  jupyter_client.manager.KernelManager._async_kill_kernel:
  - 618
  - 622
  - 624
  - 628
  - 631
  - 635
  - 636
  jupyter_client.manager.KernelManager._async_launch_kernel:
  - 354
  - 347
  - 358
  jupyter_client.manager.KernelManager._async_post_start_kernel:
  - 415
  - 417
  - 414
  - 407
  jupyter_client.manager.KernelManager._async_pre_start_kernel:
  - 390
  - 393
  - 394
  - 395
  - 400
  - 401
  - 378
  jupyter_client.manager.KernelManager._async_request_shutdown:
  - 449
  - 450
  - 452
  - 445
  - 447
  jupyter_client.manager.KernelManager._async_restart_kernel:
  - 584
  - 589
  - 591
  - 560
  - 592
  - 595
  - 596
  jupyter_client.manager.KernelManager._async_send_kernel_sigterm:
  - 610
  - 611
  - 613
  jupyter_client.manager.KernelManager._async_shutdown_kernel:
  - 544
  - 545
  - 547
  - 517
  - 551
  - 553
  - 534
  - 539
  - 541
  - 542
  jupyter_client.manager.KernelManager._async_signal_kernel:
  - 681
  - 674
  - 683
  jupyter_client.manager.KernelManager._async_start_kernel:
  - 423
  - 435
  - 438
  - 439
  - 440
  jupyter_client.manager.KernelManager._async_wait:
  - 709
  - 710
  jupyter_client.manager.KernelManager._client_class_changed:
  - 148
  jupyter_client.manager.KernelManager._client_factory_default:
  - 144
  jupyter_client.manager.KernelManager._close_control_socket:
  - 370
  - 372
  jupyter_client.manager.KernelManager._connect_control_socket:
  - 365
  - 366
  jupyter_client.manager.KernelManager._context_default:
  - 134
  jupyter_client.manager.KernelManager._kernel_name_changed:
  - 187
  jupyter_client.manager.KernelManager._kernel_spec_manager_default:
  - 161
  jupyter_client.manager.KernelManager.add_restart_callback:
  - 248
  - 249
  - 251
  jupyter_client.manager.KernelManager.client:
  - 264
  - 266
  - 267
  - 275
  - 276
  jupyter_client.manager.KernelManager.format_kernel_cmd:
  - 328
  - 332
  - 334
  - 304
  - 336
  - 338
  - 309
  - 344
  jupyter_client.manager.KernelManager.format_kernel_cmd.from_ns:
  - 341
  - 342
  jupyter_client.manager.KernelManager.has_kernel:
  - 606
  jupyter_client.manager.KernelManager.kernel_spec:
  - 194
  - 195
  jupyter_client.manager.KernelManager.ready:
  - 210
  - 211
  - 212
  jupyter_client.manager.KernelManager.remove_restart_callback:
  - 257
  - 254
  - 255
  jupyter_client.manager.KernelManager.start_restarter:
  - 240
  jupyter_client.manager.KernelManager.stop_restarter:
  - 244
  jupyter_client.manager.KernelManager.update_env:
  - 296
  - 297
  - 299
  - 301
  - 283
  jupyter_client.manager._ShutdownStatus:
  - 46
  jupyter_client.manager._get_future:
  - 64
  - 66
  - 67
  - 70
  jupyter_client.manager.in_pending_state:
  - 80
  - 74
  - 98
  jupyter_client.manager.in_pending_state.wrapper:
  - 82
  - 83
  - 84
  - 87
  - 89
  - 90
  - 91
  - 94
  - 95
  jupyter_client.manager.run_kernel:
  - 801
  - 803
  - 805
  - 806
  - 793
  jupyter_client.manager.start_new_async_kernel:
  - 776
  - 777
  - 778
  - 779
  - 780
  - 782
  - 784
  - 785
  jupyter_client.manager.start_new_kernel:
  - 758
  - 759
  - 760
  - 761
  - 762
  - 764
  - 766
  - 767
  jupyter_client.managerabc:
  - 1
  jupyter_client.managerabc.KernelManagerABC:
  - 9
  jupyter_client.managerabc.KernelManagerABC.interrupt_kernel:
  - 45
  jupyter_client.managerabc.KernelManagerABC.is_alive:
  - 55
  jupyter_client.managerabc.KernelManagerABC.restart_kernel:
  - 36
  jupyter_client.managerabc.KernelManagerABC.shutdown_kernel:
  - 31
  jupyter_client.managerabc.KernelManagerABC.signal_kernel:
  - 50
  jupyter_client.managerabc.KernelManagerABC.start_kernel:
  - 26
  jupyter_client.multikernelmanager:
  - 1
  jupyter_client.multikernelmanager.AsyncMultiKernelManager:
  - 600
  - 608
  - 616
  - 614
  jupyter_client.multikernelmanager.AsyncMultiKernelManager._context_default:
  - 619
  jupyter_client.multikernelmanager.MultiKernelManager:
  - 287
  - 52
  - 54
  - 438
  - 58
  - 60
  - 67
  - 71
  - 73
  - 334
  - 91
  - 96
  - 98
  - 100
  - 107
  - 112
  - 113
  - 115
  - 382
  jupyter_client.multikernelmanager.MultiKernelManager.__del__:
  - 128
  - 132
  - 122
  - 123
  - 124
  - 125
  - 126
  jupyter_client.multikernelmanager.MultiKernelManager.__init__:
  - 118
  jupyter_client.multikernelmanager.MultiKernelManager.__len__:
  - 186
  - 187
  jupyter_client.multikernelmanager.MultiKernelManager._add_kernel_when_ready:
  - 232
  - 234
  - 236
  jupyter_client.multikernelmanager.MultiKernelManager._async_restart_kernel:
  - 417
  - 431
  - 432
  - 435
  - 436
  jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_all:
  - 365
  - 366
  - 367
  - 368
  - 369
  - 370
  - 372
  - 373
  - 375
  - 377
  jupyter_client.multikernelmanager.MultiKernelManager._async_shutdown_kernel:
  - 321
  - 322
  - 324
  - 325
  - 295
  - 328
  - 329
  - 331
  - 306
  - 308
  - 311
  - 312
  - 313
  - 317
  - 319
  jupyter_client.multikernelmanager.MultiKernelManager._async_start_kernel:
  - 262
  - 263
  - 264
  - 265
  - 271
  - 272
  - 275
  - 280
  - 282
  - 255
  jupyter_client.multikernelmanager.MultiKernelManager._check_kernel_id:
  - 454
  - 455
  jupyter_client.multikernelmanager.MultiKernelManager._context_default:
  - 110
  jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory:
  - 78
  jupyter_client.multikernelmanager.MultiKernelManager._create_kernel_manager_factory.create_kernel_manager:
  - 81
  - 82
  - 84
  - 85
  - 86
  jupyter_client.multikernelmanager.MultiKernelManager._kernel_manager_class_changed:
  - 69
  jupyter_client.multikernelmanager.MultiKernelManager._kernel_manager_factory_default:
  - 75
  jupyter_client.multikernelmanager.MultiKernelManager._remove_kernel_when_ready:
  - 242
  - 243
  - 244
  - 246
  jupyter_client.multikernelmanager.MultiKernelManager._starting_kernels:
  - 104
  jupyter_client.multikernelmanager.MultiKernelManager._using_pending_kernels:
  - 249
  - 252
  jupyter_client.multikernelmanager.MultiKernelManager.add_restart_callback:
  - 473
  jupyter_client.multikernelmanager.MultiKernelManager.cleanup_resources:
  - 352
  jupyter_client.multikernelmanager.MultiKernelManager.connect_control:
  - 539
  jupyter_client.multikernelmanager.MultiKernelManager.connect_hb:
  - 575
  jupyter_client.multikernelmanager.MultiKernelManager.connect_iopub:
  - 503
  jupyter_client.multikernelmanager.MultiKernelManager.connect_shell:
  - 521
  jupyter_client.multikernelmanager.MultiKernelManager.connect_stdin:
  - 557
  jupyter_client.multikernelmanager.MultiKernelManager.finish_shutdown:
  - 347
  - 348
  jupyter_client.multikernelmanager.MultiKernelManager.get_connection_info:
  - 483
  jupyter_client.multikernelmanager.MultiKernelManager.get_kernel:
  - 466
  - 459
  jupyter_client.multikernelmanager.MultiKernelManager.interrupt_kernel:
  - 385
  - 392
  - 393
  - 396
  - 397
  jupyter_client.multikernelmanager.MultiKernelManager.is_alive:
  - 442
  jupyter_client.multikernelmanager.MultiKernelManager.list_kernel_ids:
  - 135
  - 136
  - 137
  - 138
  - 139
  - 142
  - 143
  - 144
  - 145
  - 146
  - 151
  - 152
  - 155
  - 156
  - 160
  - 161
  - 164
  - 166
  - 171
  - 172
  - 177
  - 183
  jupyter_client.multikernelmanager.MultiKernelManager.new_kernel_id:
  - 596
  - 590
  jupyter_client.multikernelmanager.MultiKernelManager.pre_start_kernel:
  - 196
  - 197
  - 200
  - 206
  - 208
  - 209
  jupyter_client.multikernelmanager.MultiKernelManager.remove_kernel:
  - 362
  - 355
  jupyter_client.multikernelmanager.MultiKernelManager.remove_restart_callback:
  - 479
  jupyter_client.multikernelmanager.MultiKernelManager.request_shutdown:
  - 338
  jupyter_client.multikernelmanager.MultiKernelManager.signal_kernel:
  - 402
  - 414
  jupyter_client.multikernelmanager.MultiKernelManager.update_env:
  - 225
  - 218
  - 226
  jupyter_client.multikernelmanager.kernel_method:
  - 33
  - 31
  jupyter_client.multikernelmanager.kernel_method.wrapped:
  - 41
  - 44
  - 38
  - 39
  jupyter_client.provisioning.factory:
  - 1
  - 10
  jupyter_client.provisioning.factory.KernelProvisionerFactory:
  - 45
  - 21
  - 39
  jupyter_client.provisioning.factory.KernelProvisionerFactory.__init__:
  - 51
  - 52
  - 54
  jupyter_client.provisioning.factory.KernelProvisionerFactory._check_availability:
  - 107
  - 117
  - 119
  jupyter_client.provisioning.factory.KernelProvisionerFactory._default_provisioner_name_default:
  - 48
  - 47
  jupyter_client.provisioning.factory.KernelProvisionerFactory._get_all_provisioners:
  - 168
  - 169
  jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner:
  - 196
  - 172
  - 173
  - 174
  - 185
  - 186
  - 187
  jupyter_client.provisioning.factory.KernelProvisionerFactory._get_provisioner_config:
  - 145
  - 146
  - 147
  - 150
  - 126
  jupyter_client.provisioning.factory.KernelProvisionerFactory.create_provisioner_instance:
  - 99
  - 100
  - 101
  - 79
  - 89
  - 90
  - 91
  - 95
  jupyter_client.provisioning.factory.KernelProvisionerFactory.get_provisioner_entries:
  - 162
  - 155
  jupyter_client.provisioning.factory.KernelProvisionerFactory.is_provisioner_available:
  - 65
  - 66
  - 67
  - 69
  - 58
  jupyter_client.provisioning.local_provisioner:
  - 1
  jupyter_client.provisioning.local_provisioner.LocalProvisioner:
  - 17
  jupyter_client.provisioning.local_provisioner.LocalProvisioner._scrub_kwargs:
  - 224
  - 226
  - 227
  - 228
  jupyter_client.provisioning.local_provisioner.LocalProvisioner._tolerate_no_process:
  - 129
  - 130
  - 137
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.cleanup:
  - 141
  - 142
  - 144
  - 152
  - 153
  - 154
  - 155
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.get_provisioner_info:
  - 232
  - 233
  - 234
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.kill:
  - 96
  - 97
  - 98
  - 101
  - 106
  - 108
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.launch_kernel:
  - 208
  - 209
  - 210
  - 212
  - 214
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.load_provisioner_info:
  - 238
  - 239
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.poll:
  - 40
  - 42
  - 43
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.pre_launch:
  - 158
  - 168
  - 169
  - 175
  - 179
  - 183
  - 184
  - 185
  - 186
  - 187
  - 188
  - 189
  - 191
  - 192
  - 193
  - 195
  - 196
  - 198
  - 202
  - 205
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.send_signal:
  - 68
  - 76
  - 77
  - 80
  - 84
  - 86
  - 92
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.terminate:
  - 111
  - 112
  - 113
  - 116
  - 121
  - 123
  jupyter_client.provisioning.local_provisioner.LocalProvisioner.wait:
  - 47
  - 49
  - 54
  - 55
  - 58
  - 60
  - 61
  - 62
  - 63
  jupyter_client.provisioning.provisioner_base:
  - 1
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase:
  - 32
  - 33
  - 20
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.__apply_env_substitutions:
  - 248
  - 256
  - 237
  - 255
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase._finalize_env:
  - 234
  - 231
  - 223
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.cleanup:
  - 117
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.get_provisioner_info:
  - 174
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.get_shutdown_wait_time:
  - 203
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.get_stable_start_time:
  - 214
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.has_process:
  - 39
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.kill:
  - 80
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.launch_kernel:
  - 107
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.load_provisioner_info:
  - 189
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.poll:
  - 49
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.post_launch:
  - 165
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.pre_launch:
  - 140
  - 157
  - 158
  - 159
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.send_signal:
  - 70
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.shutdown_requested:
  - 128
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.terminate:
  - 93
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase.wait:
  - 59
  jupyter_client.restarter:
  - 1
  jupyter_client.restarter.KernelRestarter:
  - 33
  - 35
  - 41
  - 47
  - 20
  - 52
  - 22
  - 53
  - 24
  - 54
  - 55
  - 61
  - 57
  jupyter_client.restarter.KernelRestarter._default_last_dead:
  - 59
  jupyter_client.restarter.KernelRestarter._fire_callbacks:
  - 105
  - 107
  - 102
  - 103
  jupyter_client.restarter.KernelRestarter.add_callback:
  - 85
  - 77
  jupyter_client.restarter.KernelRestarter.poll:
  - 128
  - 129
  - 130
  - 133
  - 136
  - 142
  - 143
  - 154
  - 155
  - 158
  - 160
  - 161
  - 115
  - 116
  - 117
  - 118
  - 120
  - 121
  - 123
  jupyter_client.restarter.KernelRestarter.remove_callback:
  - 88
  - 97
  jupyter_client.restarter.KernelRestarter.start:
  - 67
  jupyter_client.restarter.KernelRestarter.stop:
  - 72
  jupyter_client.runapp:
  - 128
  - 1
  - 33
  - 37
  - 38
  - 22
  - 24
  - 26
  - 127
  - 29
  - 31
  jupyter_client.runapp.RunApp:
  - 42
  - 47
  - 48
  - 49
  - 50
  - 51
  jupyter_client.runapp.RunApp.handle_sigint:
  - 80
  - 81
  - 83
  - 79
  jupyter_client.runapp.RunApp.init_kernel_info:
  - 99
  - 86
  - 88
  - 89
  - 90
  - 93
  - 95
  jupyter_client.runapp.RunApp.initialize:
  - 71
  - 72
  - 73
  - 74
  - 75
  - 76
  jupyter_client.runapp.RunApp.parse_command_line:
  - 64
  - 65
  - 66
  jupyter_client.runapp.RunApp.start:
  - 104
  - 105
  - 106
  - 107
  - 108
  - 109
  - 110
  - 111
  - 112
  - 114
  - 117
  - 118
  - 120
  jupyter_client.session:
  - 1
  - 139
  - 173
  jupyter_client.session.Message:
  - 242
  jupyter_client.session.Message.__init__:
  - 248
  - 250
  - 251
  - 252
  jupyter_client.session.Message.__iter__:
  - 257
  jupyter_client.session.Message.__repr__:
  - 260
  jupyter_client.session.Message.__str__:
  - 263
  jupyter_client.session.Session:
  - 514
  - 520
  - 396
  - 403
  - 408
  - 410
  - 411
  - 416
  - 424
  - 428
  - 302
  - 433
  - 437
  - 444
  - 456
  - 461
  - 469
  - 342
  - 470
  - 344
  - 479
  - 353
  - 481
  - 487
  - 361
  - 491
  - 493
  - 499
  - 501
  - 375
  - 509
  - 382
  jupyter_client.session.Session.__init__:
  - 576
  - 529
  - 568
  - 569
  - 570
  - 572
  - 573
  - 574
  - 575
  jupyter_client.session.Session._add_digest:
  - 999
  - 1000
  - 1004
  - 1005
  - 1007
  jupyter_client.session.Session._check_packers:
  - 642
  - 643
  - 614
  - 620
  - 625
  - 635
  - 637
  - 638
  - 607
  jupyter_client.session.Session._check_packers.<lambda1>:
  - 642
  jupyter_client.session.Session._check_packers.<lambda2>:
  - 643
  jupyter_client.session.Session._cull_digest_history:
  - 1010
  - 1014
  - 1015
  - 1016
  - 1017
  - 1019
  - 1020
  jupyter_client.session.Session._key_changed:
  - 435
  jupyter_client.session.Session._key_default:
  - 431
  jupyter_client.session.Session._keyfile_changed:
  - 483
  - 484
  jupyter_client.session.Session._new_auth:
  - 464
  - 465
  jupyter_client.session.Session._pack_changed:
  - 496
  jupyter_client.session.Session._packer_changed:
  - 368
  - 364
  - 373
  jupyter_client.session.Session._session_changed:
  - 405
  jupyter_client.session.Session._session_default:
  - 400
  - 399
  jupyter_client.session.Session._signature_scheme_changed:
  - 449
  - 451
  - 454
  - 447
  jupyter_client.session.Session._unpack_changed:
  - 505
  jupyter_client.session.Session._unpacker_changed:
  - 385
  - 394
  - 389
  jupyter_client.session.Session.clone:
  - 581
  - 590
  - 591
  - 592
  - 594
  - 595
  jupyter_client.session.Session.deserialize:
  - 1028
  - 1054
  - 1056
  - 1057
  - 1058
  - 1060
  - 1061
  - 1063
  - 1066
  - 1068
  - 1070
  - 1071
  - 1072
  - 1075
  - 1078
  - 1079
  - 1082
  - 1083
  - 1084
  - 1085
  - 1088
  - 1089
  - 1091
  - 1092
  - 1094
  - 1095
  - 1097
  jupyter_client.session.Session.feed_identities:
  - 992
  - 996
  - 981
  - 982
  - 983
  - 986
  - 988
  - 989
  - 959
  jupyter_client.session.Session.msg:
  - 672
  - 657
  - 664
  - 668
  - 670
  - 671
  jupyter_client.session.Session.msg_header:
  - 646
  - 647
  jupyter_client.session.Session.msg_id:
  - 604
  jupyter_client.session.Session.recv:
  - 933
  - 935
  - 936
  - 939
  - 941
  - 949
  - 951
  - 920
  jupyter_client.session.Session.send:
  - 809
  - 813
  - 815
  - 817
  - 821
  - 823
  - 830
  - 831
  - 834
  - 835
  - 840
  - 846
  - 850
  - 851
  - 852
  - 853
  - 854
  - 857
  - 859
  - 860
  - 863
  - 867
  - 868
  - 869
  - 870
  - 766
  jupyter_client.session.Session.send_raw:
  - 900
  - 902
  - 903
  - 905
  - 907
  - 908
  - 909
  - 910
  - 911
  - 884
  jupyter_client.session.Session.serialize:
  - 695
  - 717
  - 718
  - 720
  - 721
  - 722
  - 725
  - 727
  - 732
  - 733
  - 734
  - 740
  - 742
  - 743
  - 744
  - 745
  - 747
  - 748
  - 750
  jupyter_client.session.Session.sign:
  - 676
  - 683
  - 685
  - 686
  - 687
  - 688
  jupyter_client.session.Session.unserialize:
  - 1107
  - 1100
  - 1102
  jupyter_client.session.SessionFactory:
  - 225
  - 227
  - 209
  - 213
  - 215
  - 220
  jupyter_client.session.SessionFactory.__init__:
  - 233
  - 234
  - 236
  - 238
  jupyter_client.session.SessionFactory._context_default:
  - 223
  jupyter_client.session.SessionFactory._logname_changed:
  - 217
  jupyter_client.session.SessionFactory._loop_default:
  - 230
  jupyter_client.session.default_secure:
  - 192
  - 186
  - 195
  - 191
  jupyter_client.session.extract_header:
  - 296
  - 297
  - 282
  - 283
  jupyter_client.session.json_packer:
  - 103
  - 104
  - 110
  - 93
  - 95
  jupyter_client.session.json_unpacker:
  - 121
  - 122
  - 123
  - 124
  jupyter_client.session.msg_header:
  - 275
  - 276
  - 278
  jupyter_client.session.new_id:
  - 147
  - 156
  - 157
  jupyter_client.session.new_id_bytes:
  - 161
  - 162
  jupyter_client.session.pickle_packer:
  - 128
  - 129
  jupyter_client.session.squash_unicode:
  - 65
  - 66
  - 67
  - 68
  - 69
  - 70
  - 71
  - 72
  - 73
  - 74
  - 75
  jupyter_client.session.utcnow:
  - 200
  - 199
  jupyter_client.ssh.forward:
  - 1
  - 30
  jupyter_client.ssh.forward.ForwardServer:
  - 34
  jupyter_client.ssh.forward.Handler:
  - 41
  jupyter_client.ssh.forward.Handler.handle:
  - 45
  - 47
  - 50
  - 53
  - 54
  - 57
  - 58
  - 64
  - 65
  - 66
  - 67
  - 72
  - 73
  - 74
  - 75
  - 77
  - 78
  - 79
  - 80
  - 82
  - 83
  - 84
  - 85
  jupyter_client.ssh.forward.forward_tunnel:
  - 89
  - 99
  jupyter_client.ssh.tunnel:
  - 1
  - 434
  - 22
  - 23
  - 59
  jupyter_client.ssh.tunnel._paramiko_tunnel:
  - 418
  - 419
  - 422
  - 425
  - 394
  - 427
  - 428
  - 397
  - 398
  - 399
  - 400
  - 430
  - 431
  - 403
  jupyter_client.ssh.tunnel._split_server:
  - 309
  - 310
  - 312
  - 313
  - 314
  - 315
  jupyter_client.ssh.tunnel._stop_tunnel:
  - 305
  jupyter_client.ssh.tunnel._try_passwordless_openssh:
  - 76
  - 77
  - 81
  - 86
  - 87
  - 90
  - 93
  - 94
  jupyter_client.ssh.tunnel._try_passwordless_paramiko:
  - 106
  - 107
  - 109
  - 114
  - 115
  - 116
  - 117
  - 119
  - 123
  jupyter_client.ssh.tunnel.open_tunnel:
  - 164
  - 175
  - 176
  - 177
  - 178
  - 182
  - 191
  jupyter_client.ssh.tunnel.openssh_tunnel:
  - 260
  - 261
  - 262
  - 274
  - 275
  - 278
  - 282
  - 283
  - 289
  - 290
  - 295
  - 296
  - 298
  - 299
  - 300
  - 203
  - 238
  - 242
  - 245
  - 246
  - 250
  - 251
  - 252
  jupyter_client.ssh.tunnel.paramiko_tunnel:
  - 330
  - 369
  - 373
  - 374
  - 376
  - 382
  jupyter_client.ssh.tunnel.select_random_ports:
  - 43
  - 46
  - 47
  - 48
  - 49
  - 50
  - 51
  - 52
  jupyter_client.ssh.tunnel.try_passwordless_ssh:
  - 72
  - 69
  - 63
  jupyter_client.ssh.tunnel.tunnel_connection:
  - 136
  - 152
  - 144
  jupyter_client.threaded:
  - 1
  jupyter_client.threaded.IOLoopThread:
  - 222
  jupyter_client.threaded.IOLoopThread.__del__:
  - 286
  jupyter_client.threaded.IOLoopThread.__init__:
  - 228
  - 229
  jupyter_client.threaded.IOLoopThread._async_run:
  - 269
  - 271
  jupyter_client.threaded.IOLoopThread._notice_exit:
  - 237
  jupyter_client.threaded.IOLoopThread.close:
  - 289
  - 290
  - 292
  jupyter_client.threaded.IOLoopThread.run:
  - 260
  - 262
  - 264
  - 266
  - 252
  - 254
  - 255
  jupyter_client.threaded.IOLoopThread.run.assign_ioloop:
  - 258
  jupyter_client.threaded.IOLoopThread.start:
  - 241
  - 249
  - 246
  - 247
  jupyter_client.threaded.IOLoopThread.stop:
  - 281
  - 274
  - 282
  jupyter_client.threaded.ThreadedKernelClient:
  - 298
  - 337
  - 306
  - 339
  - 338
  - 340
  - 341
  jupyter_client.threaded.ThreadedKernelClient._check_kernel_info_reply:
  - 328
  - 326
  - 327
  jupyter_client.threaded.ThreadedKernelClient.ioloop:
  - 302
  jupyter_client.threaded.ThreadedKernelClient.is_alive:
  - 344
  - 345
  - 348
  jupyter_client.threaded.ThreadedKernelClient.start_channels:
  - 320
  - 323
  - 316
  - 317
  - 318
  jupyter_client.threaded.ThreadedKernelClient.stop_channels:
  - 332
  - 333
  - 334
  - 335
  jupyter_client.threaded.ThreadedZMQSocketChannel:
  - 28
  jupyter_client.threaded.ThreadedZMQSocketChannel.__init__:
  - 71
  - 73
  - 42
  - 53
  - 58
  jupyter_client.threaded.ThreadedZMQSocketChannel.__init__.setup_stream:
  - 64
  - 66
  - 68
  - 63
  jupyter_client.threaded.ThreadedZMQSocketChannel._flush:
  - 217
  - 215
  jupyter_client.threaded.ThreadedZMQSocketChannel._handle_recv:
  - 140
  - 146
  - 147
  - 149
  - 150
  - 151
  jupyter_client.threaded.ThreadedZMQSocketChannel.call_handlers:
  - 154
  jupyter_client.threaded.ThreadedZMQSocketChannel.close:
  - 105
  - 108
  - 110
  - 112
  - 114
  - 116
  - 90
  - 91
  - 93
  jupyter_client.threaded.ThreadedZMQSocketChannel.close.close_stream:
  - 97
  - 98
  - 101
  - 103
  jupyter_client.threaded.ThreadedZMQSocketChannel.flush:
  - 170
  - 203
  - 204
  - 205
  - 207
  - 209
  - 188
  - 190
  jupyter_client.threaded.ThreadedZMQSocketChannel.flush.flush:
  - 201
  - 197
  - 199
  jupyter_client.threaded.ThreadedZMQSocketChannel.is_alive:
  - 78
  jupyter_client.threaded.ThreadedZMQSocketChannel.process_events:
  - 164
  jupyter_client.threaded.ThreadedZMQSocketChannel.send:
  - 137
  - 122
  jupyter_client.threaded.ThreadedZMQSocketChannel.send.thread_send:
  - 134
  jupyter_client.threaded.ThreadedZMQSocketChannel.start:
  - 82
  jupyter_client.threaded.ThreadedZMQSocketChannel.stop:
  - 86
  jupyter_client.utils:
  - 1
  jupyter_client.utils._expand_path:
  - 71
  - 85
  - 86
  - 87
  - 88
  - 89
  jupyter_client.utils._filefind:
  - 64
  - 65
  - 17
  - 50
  - 52
  - 55
  - 57
  - 60
  - 61
  - 62
  - 63
  jupyter_client.win_interrupt:
  - 1
  jupyter_client.win_interrupt.create_interrupt_event:
  - 35
  - 11
  - 29
  - 30
  - 31
  jupyter_client.win_interrupt.send_interrupt:
  - 44
  - 45
  jupyter_server:
  - 1
  - 6
  - 8
  - 9
  - 14
  jupyter_server.__main__:
  - 1
  - 3
  - 6
  jupyter_server._sysinfo:
  - 1
  jupyter_server._sysinfo.get_sys_info:
  - 91
  - 93
  - 94
  jupyter_server._sysinfo.pkg_commit_hash:
  - 42
  - 44
  - 16
  - 50
  - 54
  - 55
  - 58
  jupyter_server._sysinfo.pkg_info:
  - 64
  - 76
  - 85
  jupyter_server._tz:
  - 38
  - 1
  - 14
  jupyter_server._tz.isoformat:
  - 42
  - 46
  jupyter_server._tz.tzUTC:
  - 18
  jupyter_server._tz.tzUTC.dst:
  - 25
  jupyter_server._tz.tzUTC.utcoffset:
  - 21
  jupyter_server._tz.utcfromtimestamp:
  - 35
  jupyter_server._tz.utcnow:
  - 30
  - 31
  jupyter_server._version:
  - 1
  - 14
  - 16
  - 17
  - 18
  - 19
  jupyter_server.auth.__main__:
  - 1
  - 62
  - 63
  jupyter_server.auth.__main__.main:
  - 45
  - 46
  - 47
  - 48
  - 51
  - 56
  - 57
  - 58
  - 59
  jupyter_server.auth.__main__.set_password:
  - 39
  - 40
  - 41
  - 16
  - 20
  - 21
  - 22
  - 23
  - 24
  - 25
  - 29
  - 30
  - 31
  jupyter_server.auth.authorizer:
  - 1
  - 20
  jupyter_server.auth.authorizer.AllowAllAuthorizer:
  - 73
  jupyter_server.auth.authorizer.AllowAllAuthorizer.is_authorized:
  - 83
  jupyter_server.auth.authorizer.Authorizer:
  - 25
  - 44
  jupyter_server.auth.authorizer.Authorizer.is_authorized:
  - 49
  jupyter_server.auth.decorator:
  - 1
  - 15
  jupyter_server.auth.decorator.allow_unauthenticated:
  - 112
  - 114
  - 91
  - 108
  jupyter_server.auth.decorator.allow_unauthenticated.wrapper:
  - 110
  jupyter_server.auth.decorator.authorized:
  - 81
  - 85
  - 87
  - 23
  jupyter_server.auth.decorator.authorized.wrapper:
  - 46
  jupyter_server.auth.decorator.authorized.wrapper.inner:
  - 66
  - 67
  - 69
  - 70
  - 72
  - 52
  - 53
  - 55
  - 57
  - 61
  - 62
  jupyter_server.auth.decorator.ws_authenticated:
  - 140
  - 142
  - 132
  - 118
  jupyter_server.auth.decorator.ws_authenticated.wrapper:
  - 136
  - 138
  - 135
  jupyter_server.auth.identity:
  - 1
  - 31
  jupyter_server.auth.identity.IdentityProvider:
  - 159
  - 161
  - 130
  - 193
  - 133
  - 135
  - 141
  - 111
  - 145
  - 177
  - 210
  - 181
  - 151
  - 184
  - 153
  - 188
  - 412
  - 127
  jupyter_server.auth.identity.IdentityProvider._force_clear_cookie:
  - 364
  - 365
  - 367
  - 368
  - 369
  - 371
  - 373
  - 351
  jupyter_server.auth.identity.IdentityProvider._get_user:
  - 257
  - 258
  - 259
  - 260
  - 261
  - 262
  - 265
  - 268
  - 228
  - 229
  - 231
  - 232
  - 233
  - 236
  - 237
  - 244
  - 247
  - 248
  - 253
  jupyter_server.auth.identity.IdentityProvider._token_default:
  - 195
  - 198
  - 200
  - 201
  - 202
  - 208
  jupyter_server.auth.identity.IdentityProvider.auth_enabled:
  - 545
  jupyter_server.auth.identity.IdentityProvider.clear_login_cookie:
  - 387
  - 376
  - 378
  - 379
  - 380
  - 381
  - 382
  jupyter_server.auth.identity.IdentityProvider.generate_anonymous_user:
  - 466
  - 471
  - 472
  - 476
  - 477
  jupyter_server.auth.identity.IdentityProvider.get_cookie_name:
  - 321
  - 330
  - 327
  jupyter_server.auth.identity.IdentityProvider.get_handlers:
  - 278
  - 283
  - 284
  - 285
  - 286
  jupyter_server.auth.identity.IdentityProvider.get_token:
  - 422
  - 423
  - 425
  - 426
  - 427
  - 415
  jupyter_server.auth.identity.IdentityProvider.get_user:
  - 213
  - 222
  jupyter_server.auth.identity.IdentityProvider.get_user_cookie:
  - 392
  - 396
  - 397
  - 400
  - 402
  - 405
  - 408
  - 409
  jupyter_server.auth.identity.IdentityProvider.get_user_token:
  - 451
  - 455
  - 456
  - 459
  - 460
  - 431
  - 437
  - 438
  - 441
  - 443
  - 445
  jupyter_server.auth.identity.IdentityProvider.identity_model:
  - 273
  - 275
  jupyter_server.auth.identity.IdentityProvider.is_token_authenticated:
  - 491
  - 500
  - 501
  jupyter_server.auth.identity.IdentityProvider.login_available:
  - 556
  jupyter_server.auth.identity.IdentityProvider.logout_available:
  - 561
  jupyter_server.auth.identity.IdentityProvider.process_login_form:
  - 528
  - 532
  - 534
  - 535
  - 536
  - 538
  - 539
  jupyter_server.auth.identity.IdentityProvider.set_login_cookie:
  - 333
  - 335
  - 336
  - 340
  - 342
  - 343
  - 344
  - 345
  - 346
  jupyter_server.auth.identity.IdentityProvider.should_check_origin:
  - 480
  - 488
  jupyter_server.auth.identity.IdentityProvider.user_from_cookie:
  - 309
  - 310
  - 311
  jupyter_server.auth.identity.IdentityProvider.user_to_cookie:
  - 297
  - 290
  jupyter_server.auth.identity.IdentityProvider.validate_security:
  - 512
  - 514
  - 515
  - 516
  - 517
  - 521
  - 522
  - 508
  jupyter_server.auth.identity.LegacyIdentityProvider:
  - 682
  - 675
  - 684
  - 691
  jupyter_server.auth.identity.LegacyIdentityProvider.get_user:
  - 704
  - 706
  - 702
  - 703
  jupyter_server.auth.identity.LegacyIdentityProvider.is_token_authenticated:
  - 721
  - 722
  jupyter_server.auth.identity.LegacyIdentityProvider.login_available:
  - 710
  - 711
  jupyter_server.auth.identity.LegacyIdentityProvider.should_check_origin:
  - 717
  - 718
  jupyter_server.auth.identity.LegacyIdentityProvider.validate_security:
  - 736
  - 737
  - 729
  - 730
  - 731
  - 732
  - 734
  - 735
  jupyter_server.auth.identity.PasswordIdentityProvider:
  - 584
  - 616
  - 587
  - 600
  - 566
  - 568
  - 603
  - 571
  jupyter_server.auth.identity.PasswordIdentityProvider._need_token_default:
  - 618
  jupyter_server.auth.identity.PasswordIdentityProvider.auth_enabled:
  - 627
  - 628
  jupyter_server.auth.identity.PasswordIdentityProvider.login_available:
  - 622
  jupyter_server.auth.identity.PasswordIdentityProvider.passwd_check:
  - 632
  - 631
  jupyter_server.auth.identity.PasswordIdentityProvider.process_login_form:
  - 640
  - 642
  - 643
  - 644
  - 646
  - 647
  - 648
  - 649
  - 650
  - 651
  - 652
  - 653
  - 654
  - 635
  - 639
  jupyter_server.auth.identity.PasswordIdentityProvider.validate_security:
  - 663
  - 664
  - 665
  - 666
  - 667
  - 669
  - 670
  - 671
  jupyter_server.auth.identity.User:
  - 36
  jupyter_server.auth.identity.User.__post_init__:
  - 59
  jupyter_server.auth.identity.User.fill_defaults:
  - 70
  - 75
  - 77
  - 62
  jupyter_server.auth.identity._backward_compat_user:
  - 97
  - 98
  - 101
  - 82
  - 91
  - 92
  - 93
  - 95
  jupyter_server.auth.login:
  - 1
  jupyter_server.auth.login.LegacyLoginHandler:
  - 157
  - 103
  jupyter_server.auth.login.LegacyLoginHandler.get_login_available:
  - 293
  - 295
  jupyter_server.auth.login.LegacyLoginHandler.get_token:
  - 161
  - 169
  - 170
  - 172
  - 173
  - 174
  jupyter_server.auth.login.LegacyLoginHandler.get_user:
  - 192
  - 195
  - 197
  - 198
  - 202
  - 205
  - 206
  - 211
  - 215
  - 216
  - 217
  - 218
  jupyter_server.auth.login.LegacyLoginHandler.get_user_cookie:
  - 229
  - 230
  - 231
  - 232
  - 233
  jupyter_server.auth.login.LegacyLoginHandler.get_user_token:
  - 257
  - 258
  - 260
  - 261
  - 238
  - 240
  - 243
  - 245
  - 247
  - 253
  jupyter_server.auth.login.LegacyLoginHandler.hashed_password:
  - 111
  jupyter_server.auth.login.LegacyLoginHandler.is_token_authenticated:
  - 184
  - 185
  - 187
  - 188
  jupyter_server.auth.login.LegacyLoginHandler.passwd_check:
  - 114
  - 115
  jupyter_server.auth.login.LegacyLoginHandler.password_from_settings:
  - 288
  - 289
  jupyter_server.auth.login.LegacyLoginHandler.post:
  - 128
  - 129
  - 130
  - 131
  - 133
  - 135
  - 137
  - 138
  - 141
  - 142
  - 119
  - 120
  - 121
  - 123
  - 124
  - 125
  - 126
  - 127
  jupyter_server.auth.login.LegacyLoginHandler.set_login_cookie:
  - 146
  - 147
  - 148
  - 151
  - 152
  - 153
  - 154
  jupyter_server.auth.login.LegacyLoginHandler.should_check_origin:
  - 179
  - 180
  jupyter_server.auth.login.LegacyLoginHandler.validate_security:
  - 270
  - 271
  - 273
  - 274
  - 275
  - 276
  - 280
  - 281
  jupyter_server.auth.login.LoginFormHandler:
  - 18
  jupyter_server.auth.login.LoginFormHandler._redirect_safe:
  - 64
  - 34
  - 67
  - 68
  - 70
  - 71
  - 40
  - 72
  - 74
  - 76
  - 45
  - 53
  - 54
  - 55
  - 56
  - 60
  jupyter_server.auth.login.LoginFormHandler._render:
  - 24
  - 25
  - 26
  - 28
  jupyter_server.auth.login.LoginFormHandler.get:
  - 80
  - 81
  - 82
  - 83
  - 85
  jupyter_server.auth.login.LoginFormHandler.post:
  - 96
  - 97
  - 98
  - 99
  - 89
  - 90
  - 91
  - 92
  - 93
  jupyter_server.auth.logout:
  - 1
  jupyter_server.auth.logout.LogoutHandler:
  - 10
  jupyter_server.auth.logout.LogoutHandler.get:
  - 16
  - 20
  - 14
  - 15
  jupyter_server.auth.security:
  - 1
  jupyter_server.auth.security.passwd:
  - 64
  - 69
  - 73
  - 74
  - 75
  - 77
  - 49
  - 50
  - 51
  - 52
  - 53
  - 24
  - 56
  - 61
  jupyter_server.auth.security.passwd_check:
  - 128
  - 131
  - 133
  - 107
  - 111
  - 81
  - 114
  - 119
  - 124
  jupyter_server.auth.security.persist_config:
  - 161
  - 163
  - 164
  - 138
  - 144
  - 145
  - 147
  - 149
  - 151
  - 153
  - 155
  - 157
  - 158
  jupyter_server.auth.security.set_password:
  - 170
  - 172
  - 174
  jupyter_server.auth.utils:
  - 1
  jupyter_server.auth.utils.get_anonymous_username:
  - 169
  - 165
  jupyter_server.auth.utils.get_regex_to_resource_map:
  - 33
  - 43
  - 44
  - 45
  - 47
  - 48
  - 50
  - 55
  jupyter_server.auth.utils.match_url_to_resource:
  - 65
  - 72
  - 73
  - 74
  - 75
  - 76
  jupyter_server.auth.utils.warn_disabled_authorization:
  - 12
  - 13
  jupyter_server.base.call_context:
  - 1
  jupyter_server.base.call_context.CallContext:
  - 25
  - 10
  jupyter_server.base.call_context.CallContext._get_map:
  - 81
  - 85
  - 86
  - 87
  - 88
  jupyter_server.base.call_context.CallContext.context_variable_names:
  - 77
  - 76
  - 69
  jupyter_server.base.call_context.CallContext.get:
  - 45
  - 43
  - 29
  jupyter_server.base.call_context.CallContext.set:
  - 64
  - 51
  jupyter_server.base.handlers:
  - 1
  - 45
  jupyter_server.base.handlers.APIHandler:
  - 747
  jupyter_server.base.handlers.APIHandler.content_security_policy:
  - 788
  jupyter_server.base.handlers.APIHandler.finish:
  - 810
  - 811
  - 813
  - 814
  - 815
  jupyter_server.base.handlers.APIHandler.get_login_url:
  - 784
  - 778
  - 782
  jupyter_server.base.handlers.APIHandler.options:
  - 838
  - 841
  - 843
  - 819
  - 820
  - 821
  - 852
  - 855
  - 826
  - 830
  jupyter_server.base.handlers.APIHandler.prepare:
  - 752
  - 750
  - 751
  jupyter_server.base.handlers.APIHandler.update_api_activity:
  - 800
  - 802
  - 804
  - 805
  - 807
  jupyter_server.base.handlers.APIHandler.write_error:
  - 774
  - 775
  - 756
  - 757
  - 758
  - 762
  - 763
  - 765
  jupyter_server.base.handlers.APIVersionHandler:
  - 1068
  jupyter_server.base.handlers.APIVersionHandler.get:
  - 1074
  - 1076
  jupyter_server.base.handlers.AuthenticatedFileHandler:
  - 868
  jupyter_server.base.handlers.AuthenticatedFileHandler.compute_etag:
  - 923
  jupyter_server.base.handlers.AuthenticatedFileHandler.content_security_policy:
  - 876
  jupyter_server.base.handlers.AuthenticatedFileHandler.get:
  - 896
  - 890
  - 891
  - 892
  - 893
  - 894
  jupyter_server.base.handlers.AuthenticatedFileHandler.get_content_type:
  - 899
  - 901
  - 902
  - 903
  - 906
  - 909
  - 910
  - 913
  jupyter_server.base.handlers.AuthenticatedFileHandler.head:
  - 881
  - 882
  - 883
  jupyter_server.base.handlers.AuthenticatedFileHandler.set_headers:
  - 920
  - 916
  - 917
  - 919
  jupyter_server.base.handlers.AuthenticatedFileHandler.validate_absolute_path:
  - 933
  - 934
  - 936
  - 937
  - 927
  jupyter_server.base.handlers.AuthenticatedHandler:
  - 83
  jupyter_server.base.handlers.AuthenticatedHandler.authorizer:
  - 230
  - 231
  - 244
  - 245
  - 249
  jupyter_server.base.handlers.AuthenticatedHandler.base_url:
  - 87
  jupyter_server.base.handlers.AuthenticatedHandler.clear_login_cookie:
  - 152
  - 159
  - 151
  jupyter_server.base.handlers.AuthenticatedHandler.content_security_policy:
  - 99
  - 97
  - 91
  - 95
  jupyter_server.base.handlers.AuthenticatedHandler.cookie_name:
  - 137
  - 130
  jupyter_server.base.handlers.AuthenticatedHandler.force_clear_cookie:
  - 148
  - 140
  - 141
  jupyter_server.base.handlers.AuthenticatedHandler.get_current_user:
  - 168
  - 170
  - 162
  - 175
  jupyter_server.base.handlers.AuthenticatedHandler.identity_provider:
  - 267
  - 268
  - 270
  - 253
  - 254
  jupyter_server.base.handlers.AuthenticatedHandler.logged_in:
  - 197
  - 199
  jupyter_server.base.handlers.AuthenticatedHandler.login_available:
  - 226
  - 220
  jupyter_server.base.handlers.AuthenticatedHandler.login_handler:
  - 203
  - 204
  jupyter_server.base.handlers.AuthenticatedHandler.set_default_headers:
  - 109
  - 112
  - 117
  - 119
  - 124
  jupyter_server.base.handlers.AuthenticatedHandler.skip_check_origin:
  - 185
  - 188
  - 180
  jupyter_server.base.handlers.AuthenticatedHandler.token:
  - 215
  jupyter_server.base.handlers.AuthenticatedHandler.token_authenticated:
  - 192
  - 193
  jupyter_server.base.handlers.FileFindHandler:
  - 979
  jupyter_server.base.handlers.FileFindHandler.compute_etag:
  - 1023
  jupyter_server.base.handlers.FileFindHandler.get:
  - 1030
  jupyter_server.base.handlers.FileFindHandler.get_absolute_path:
  - 1040
  - 1042
  - 1052
  - 1045
  jupyter_server.base.handlers.FileFindHandler.head:
  - 1036
  jupyter_server.base.handlers.FileFindHandler.initialize:
  - 1016
  - 1019
  - 1013
  jupyter_server.base.handlers.FileFindHandler.set_headers:
  - 992
  - 993
  - 995
  - 998
  - 999
  - 1002
  - 1003
  - 1005
  jupyter_server.base.handlers.FileFindHandler.validate_absolute_path:
  - 1056
  - 1057
  - 1060
  - 1061
  - 1064
  jupyter_server.base.handlers.FilesRedirectHandler:
  - 1112
  jupyter_server.base.handlers.FilesRedirectHandler.get:
  - 1145
  jupyter_server.base.handlers.FilesRedirectHandler.redirect_to_files:
  - 1121
  - 1123
  - 1127
  - 1129
  - 1132
  - 1133
  - 1134
  - 1136
  - 1139
  - 1140
  - 1141
  - 1116
  jupyter_server.base.handlers.JupyterHandler:
  - 274
  jupyter_server.base.handlers.JupyterHandler.allow_credentials:
  - 381
  - 382
  jupyter_server.base.handlers.JupyterHandler.allow_origin:
  - 371
  - 372
  jupyter_server.base.handlers.JupyterHandler.allow_origin_pat:
  - 376
  - 377
  jupyter_server.base.handlers.JupyterHandler.check_host:
  - 577
  - 581
  - 582
  - 552
  - 556
  - 560
  - 562
  - 565
  - 569
  - 570
  - 574
  jupyter_server.base.handlers.JupyterHandler.check_origin:
  - 454
  - 457
  - 458
  - 461
  - 465
  - 466
  - 435
  - 467
  - 468
  - 472
  - 473
  - 442
  - 445
  - 446
  jupyter_server.base.handlers.JupyterHandler.check_referer:
  - 512
  - 513
  - 482
  - 518
  - 519
  - 490
  - 493
  - 494
  - 496
  - 497
  - 499
  - 500
  - 503
  - 505
  - 510
  jupyter_server.base.handlers.JupyterHandler.check_xsrf_cookie:
  - 528
  - 529
  - 532
  - 537
  - 539
  - 541
  - 542
  - 543
  jupyter_server.base.handlers.JupyterHandler.config:
  - 281
  jupyter_server.base.handlers.JupyterHandler.config_manager:
  - 359
  jupyter_server.base.handlers.JupyterHandler.contents_js_source:
  - 329
  - 331
  - 327
  jupyter_server.base.handlers.JupyterHandler.contents_manager:
  - 343
  jupyter_server.base.handlers.JupyterHandler.default_url:
  - 319
  jupyter_server.base.handlers.JupyterHandler.event_logger:
  - 363
  jupyter_server.base.handlers.JupyterHandler.get_json_body:
  - 705
  - 694
  - 695
  - 698
  - 700
  - 702
  - 703
  jupyter_server.base.handlers.JupyterHandler.get_origin:
  - 426
  - 427
  - 429
  jupyter_server.base.handlers.JupyterHandler.get_template:
  - 660
  - 661
  jupyter_server.base.handlers.JupyterHandler.jinja_template_vars:
  - 290
  - 291
  jupyter_server.base.handlers.JupyterHandler.kernel_manager:
  - 339
  jupyter_server.base.handlers.JupyterHandler.kernel_spec_manager:
  - 355
  jupyter_server.base.handlers.JupyterHandler.log:
  - 285
  - 286
  jupyter_server.base.handlers.JupyterHandler.mathjax_config:
  - 315
  jupyter_server.base.handlers.JupyterHandler.mathjax_url:
  - 308
  - 309
  - 311
  jupyter_server.base.handlers.JupyterHandler.prepare:
  - 640
  - 643
  - 647
  - 648
  - 653
  - 594
  - 596
  - 598
  - 604
  - 608
  - 612
  - 618
  - 620
  - 621
  - 631
  - 632
  - 633
  - 635
  - 636
  - 638
  - 639
  jupyter_server.base.handlers.JupyterHandler.prepare.<lambda1>:
  - 643
  jupyter_server.base.handlers.JupyterHandler.render_template:
  - 664
  - 665
  - 666
  - 667
  jupyter_server.base.handlers.JupyterHandler.serverapp:
  - 295
  jupyter_server.base.handlers.JupyterHandler.session_manager:
  - 347
  jupyter_server.base.handlers.JupyterHandler.set_attachment_header:
  - 416
  - 411
  - 415
  jupyter_server.base.handlers.JupyterHandler.set_cors_headers:
  - 389
  - 394
  - 395
  - 396
  - 397
  - 398
  - 399
  - 400
  - 405
  - 407
  - 408
  jupyter_server.base.handlers.JupyterHandler.set_default_headers:
  - 385
  - 386
  jupyter_server.base.handlers.JupyterHandler.template_namespace:
  - 676
  - 679
  - 681
  - 686
  - 687
  - 688
  - 671
  jupyter_server.base.handlers.JupyterHandler.terminal_manager:
  - 351
  jupyter_server.base.handlers.JupyterHandler.version_hash:
  - 304
  - 303
  jupyter_server.base.handlers.JupyterHandler.write_error:
  - 736
  - 739
  - 708
  - 709
  - 741
  - 711
  - 743
  - 713
  - 722
  - 723
  jupyter_server.base.handlers.JupyterHandler.ws_url:
  - 323
  jupyter_server.base.handlers.MainHandler:
  - 1100
  jupyter_server.base.handlers.MainHandler.get:
  - 1104
  - 1105
  - 1106
  jupyter_server.base.handlers.PrometheusMetricsHandler:
  - 1165
  jupyter_server.base.handlers.PrometheusMetricsHandler.get:
  - 1176
  - 1171
  - 1172
  - 1175
  jupyter_server.base.handlers.PublicStaticFileHandler:
  - 1180
  jupyter_server.base.handlers.PublicStaticFileHandler.get:
  - 1188
  jupyter_server.base.handlers.PublicStaticFileHandler.head:
  - 1184
  jupyter_server.base.handlers.RedirectWithParams:
  - 1149
  jupyter_server.base.handlers.RedirectWithParams.get:
  - 1160
  - 1161
  - 1158
  jupyter_server.base.handlers.RedirectWithParams.initialize:
  - 1152
  jupyter_server.base.handlers.Template404:
  - 859
  jupyter_server.base.handlers.Template404.prepare:
  - 862
  - 863
  jupyter_server.base.handlers.TrailingSlashHandler:
  - 1080
  jupyter_server.base.handlers.TrailingSlashHandler.get:
  - 1089
  - 1092
  - 1093
  - 1094
  - 1087
  jupyter_server.base.handlers.json_errors:
  - 945
  - 962
  - 956
  jupyter_server.base.handlers.json_errors.wrapper:
  - 964
  - 965
  jupyter_server.base.handlers.json_sys_info:
  - 67
  - 69
  - 70
  jupyter_server.base.handlers.log:
  - 75
  - 76
  - 77
  jupyter_server.base.websocket:
  - 1
  jupyter_server.base.websocket.WebSocketMixin:
  - 19
  jupyter_server.base.websocket.WebSocketMixin._maybe_auth:
  - 96
  - 97
  - 99
  - 100
  - 104
  - 105
  - 92
  jupyter_server.base.websocket.WebSocketMixin.check_origin:
  - 64
  - 65
  - 68
  - 72
  - 74
  - 75
  - 46
  - 79
  - 80
  - 51
  - 52
  - 56
  - 57
  - 58
  - 61
  jupyter_server.base.websocket.WebSocketMixin.clear_cookie:
  - 88
  jupyter_server.base.websocket.WebSocketMixin.on_pong:
  - 166
  - 167
  jupyter_server.base.websocket.WebSocketMixin.open:
  - 130
  - 131
  - 132
  - 134
  - 138
  - 139
  - 126
  - 127
  jupyter_server.base.websocket.WebSocketMixin.ping_interval:
  - 32
  - 28
  jupyter_server.base.websocket.WebSocketMixin.ping_timeout:
  - 40
  - 41
  - 36
  jupyter_server.base.websocket.WebSocketMixin.prepare:
  - 110
  - 111
  - 112
  - 113
  - 114
  - 120
  - 121
  - 122
  jupyter_server.base.websocket.WebSocketMixin.send_ping:
  - 162
  - 143
  - 144
  - 145
  - 148
  - 149
  - 154
  - 157
  - 158
  - 159
  jupyter_server.base.zmqhandlers:
  - 16
  - 1
  jupyter_server.config_manager:
  - 1
  jupyter_server.config_manager.BaseJSONConfigManager:
  - 61
  - 62
  - 55
  jupyter_server.config_manager.BaseJSONConfigManager.directory:
  - 77
  - 78
  jupyter_server.config_manager.BaseJSONConfigManager.ensure_config_dir_exists:
  - 65
  - 67
  - 69
  jupyter_server.config_manager.BaseJSONConfigManager.file_name:
  - 73
  - 74
  jupyter_server.config_manager.BaseJSONConfigManager.get:
  - 97
  - 98
  - 101
  - 104
  - 105
  - 106
  - 108
  - 110
  - 81
  - 89
  - 90
  - 91
  jupyter_server.config_manager.BaseJSONConfigManager.set:
  - 128
  - 114
  - 115
  - 116
  - 118
  - 120
  - 121
  - 122
  - 126
  - 127
  jupyter_server.config_manager.BaseJSONConfigManager.update:
  - 136
  - 137
  - 131
  - 135
  jupyter_server.config_manager.recursive_update:
  - 34
  - 35
  - 21
  - 25
  - 26
  - 27
  - 29
  - 30
  jupyter_server.config_manager.remove_defaults:
  - 42
  - 44
  - 45
  - 46
  - 47
  - 48
  - 50
  jupyter_server.extension.application:
  - 1
  jupyter_server.extension.application.ExtensionApp:
  - 262
  - 263
  - 264
  - 271
  - 273
  - 274
  - 153
  - 162
  - 197
  - 199
  - 203
  - 206
  - 214
  - 216
  - 232
  - 236
  - 243
  - 247
  - 253
  - 254
  - 127
  jupyter_server.extension.application.ExtensionApp._config_file_name_default:
  - 281
  - 278
  - 279
  jupyter_server.extension.application.ExtensionApp._default_log_format:
  - 238
  jupyter_server.extension.application.ExtensionApp._default_open_browser:
  - 165
  jupyter_server.extension.application.ExtensionApp._default_serverapp:
  - 219
  - 228
  - 221
  jupyter_server.extension.application.ExtensionApp._default_static_url_prefix:
  - 251
  jupyter_server.extension.application.ExtensionApp._jupyter_server_config:
  - 379
  - 371
  jupyter_server.extension.application.ExtensionApp._link_jupyter_server_extension:
  - 397
  - 404
  - 408
  - 412
  - 383
  jupyter_server.extension.application.ExtensionApp._load_jupyter_server_extension:
  - 464
  - 473
  - 474
  - 475
  jupyter_server.extension.application.ExtensionApp._prepare_config:
  - 296
  - 297
  - 293
  jupyter_server.extension.application.ExtensionApp._prepare_handlers:
  - 352
  - 322
  - 327
  - 360
  - 362
  - 331
  - 333
  - 338
  - 342
  - 347
  - 350
  jupyter_server.extension.application.ExtensionApp._prepare_settings:
  - 301
  - 305
  - 308
  - 316
  - 319
  jupyter_server.extension.application.ExtensionApp._prepare_templates:
  - 368
  - 365
  - 366
  - 367
  jupyter_server.extension.application.ExtensionApp.config_file_paths:
  - 169
  jupyter_server.extension.application.ExtensionApp.current_activity:
  - 450
  jupyter_server.extension.application.ExtensionApp.get_extension_package:
  - 184
  - 186
  - 182
  - 183
  jupyter_server.extension.application.ExtensionApp.get_extension_point:
  - 191
  jupyter_server.extension.application.ExtensionApp.initialize:
  - 417
  - 426
  - 434
  - 435
  - 436
  - 437
  jupyter_server.extension.application.ExtensionApp.initialize_handlers:
  - 287
  jupyter_server.extension.application.ExtensionApp.initialize_server:
  - 578
  - 580
  - 581
  - 584
  - 585
  - 586
  - 571
  jupyter_server.extension.application.ExtensionApp.initialize_settings:
  - 284
  jupyter_server.extension.application.ExtensionApp.initialize_templates:
  - 290
  jupyter_server.extension.application.ExtensionApp.launch_instance:
  - 608
  - 609
  - 615
  - 616
  - 619
  - 620
  - 623
  - 595
  - 600
  - 607
  jupyter_server.extension.application.ExtensionApp.load_classic_server_extension:
  - 480
  - 481
  - 483
  - 484
  - 485
  - 487
  - 557
  jupyter_server.extension.application.ExtensionApp.make_serverapp:
  - 563
  - 567
  jupyter_server.extension.application.ExtensionApp.start:
  - 440
  - 444
  - 447
  jupyter_server.extension.application.ExtensionApp.stop:
  - 457
  - 459
  - 460
  jupyter_server.extension.application.ExtensionApp.stop_extension:
  - 454
  jupyter_server.extension.application.ExtensionAppJinjaMixin:
  - 83
  - 85
  - 86
  jupyter_server.extension.application.ExtensionAppJinjaMixin._prepare_templates:
  - 97
  - 98
  - 101
  - 102
  - 109
  - 94
  - 95
  jupyter_server.extension.application.JupyterServerExtensionException:
  - 118
  jupyter_server.extension.application._preparse_for_stopping_flags:
  - 64
  - 65
  - 66
  - 67
  - 70
  - 71
  - 72
  - 73
  - 76
  - 77
  - 46
  - 78
  - 79
  - 59
  jupyter_server.extension.application._preparse_for_subcommand:
  - 35
  - 38
  - 40
  - 41
  - 29
  - 31
  jupyter_server.extension.config:
  - 1
  jupyter_server.extension.config.ExtensionConfigManager:
  - 9
  jupyter_server.extension.config.ExtensionConfigManager.disable:
  - 34
  - 36
  jupyter_server.extension.config.ExtensionConfigManager.enable:
  - 29
  - 31
  jupyter_server.extension.config.ExtensionConfigManager.enabled:
  - 21
  - 22
  jupyter_server.extension.config.ExtensionConfigManager.get_jpserver_extensions:
  - 17
  - 18
  - 15
  jupyter_server.extension.handler:
  - 1
  - 12
  jupyter_server.extension.handler.ExtensionHandlerJinjaMixin:
  - 20
  jupyter_server.extension.handler.ExtensionHandlerJinjaMixin.get_template:
  - 25
  - 28
  - 30
  jupyter_server.extension.handler.ExtensionHandlerMixin:
  - 34
  jupyter_server.extension.handler.ExtensionHandlerMixin.base_url:
  - 82
  jupyter_server.extension.handler.ExtensionHandlerMixin.config:
  - 74
  jupyter_server.extension.handler.ExtensionHandlerMixin.extensionapp:
  - 55
  jupyter_server.extension.handler.ExtensionHandlerMixin.initialize:
  - 49
  jupyter_server.extension.handler.ExtensionHandlerMixin.log:
  - 64
  - 65
  - 68
  - 70
  jupyter_server.extension.handler.ExtensionHandlerMixin.server_config:
  - 78
  jupyter_server.extension.handler.ExtensionHandlerMixin.serverapp:
  - 60
  jupyter_server.extension.handler.ExtensionHandlerMixin.static_path:
  - 90
  jupyter_server.extension.handler.ExtensionHandlerMixin.static_url:
  - 128
  - 138
  - 111
  - 113
  - 125
  - 122
  - 124
  - 93
  jupyter_server.extension.manager:
  - 1
  jupyter_server.extension.manager.ExtensionManager:
  - 262
  - 236
  - 243
  - 245
  - 278
  - 247
  - 253
  jupyter_server.extension.manager.ExtensionManager._config_manager_changed:
  - 256
  - 255
  jupyter_server.extension.manager.ExtensionManager._load_config_manager:
  - 309
  - 310
  - 311
  jupyter_server.extension.manager.ExtensionManager._load_default_config_manager:
  - 249
  - 250
  jupyter_server.extension.manager.ExtensionManager.add_extension:
  - 328
  - 330
  - 323
  - 319
  jupyter_server.extension.manager.ExtensionManager.any_activity:
  - 400
  - 401
  - 402
  - 403
  jupyter_server.extension.manager.ExtensionManager.extension_apps:
  - 288
  - 290
  - 291
  jupyter_server.extension.manager.ExtensionManager.extension_points:
  - 296
  - 299
  - 300
  jupyter_server.extension.manager.ExtensionManager.from_config_manager:
  - 304
  jupyter_server.extension.manager.ExtensionManager.from_jpserver_extensions:
  - 314
  - 315
  - 316
  jupyter_server.extension.manager.ExtensionManager.link_all_extensions:
  - 384
  - 378
  - 383
  jupyter_server.extension.manager.ExtensionManager.link_extension:
  - 352
  - 340
  - 341
  - 343
  - 346
  - 348
  - 350
  jupyter_server.extension.manager.ExtensionManager.load_all_extensions:
  - 392
  - 393
  - 387
  jupyter_server.extension.manager.ExtensionManager.load_extension:
  - 355
  - 356
  - 358
  - 360
  - 362
  - 364
  - 368
  jupyter_server.extension.manager.ExtensionManager.sorted_extensions:
  - 272
  - 271
  jupyter_server.extension.manager.ExtensionManager.stop_all_extensions:
  - 396
  - 397
  jupyter_server.extension.manager.ExtensionManager.stop_extension:
  - 371
  - 372
  - 373
  - 374
  - 375
  jupyter_server.extension.manager.ExtensionPackage:
  - 163
  - 164
  - 166
  - 167
  - 168
  - 169
  - 170
  - 177
  - 155
  jupyter_server.extension.manager.ExtensionPackage.__init__:
  - 184
  - 185
  - 186
  - 187
  jupyter_server.extension.manager.ExtensionPackage._load_metadata:
  - 204
  - 196
  - 205
  - 190
  jupyter_server.extension.manager.ExtensionPackage._load_version:
  - 179
  - 181
  jupyter_server.extension.manager.ExtensionPackage.link_all_points:
  - 226
  - 227
  - 228
  jupyter_server.extension.manager.ExtensionPackage.link_point:
  - 216
  - 218
  - 214
  - 215
  jupyter_server.extension.manager.ExtensionPackage.load_all_points:
  - 232
  - 231
  jupyter_server.extension.manager.ExtensionPackage.load_point:
  - 221
  - 223
  jupyter_server.extension.manager.ExtensionPackage.validate:
  - 210
  - 211
  jupyter_server.extension.manager.ExtensionPoint:
  - 18
  - 22
  - 23
  - 25
  - 27
  jupyter_server.extension.manager.ExtensionPoint._get_linker:
  - 105
  - 110
  - 101
  - 102
  jupyter_server.extension.manager.ExtensionPoint._get_loader:
  - 115
  - 117
  - 119
  jupyter_server.extension.manager.ExtensionPoint._valid_metadata:
  - 48
  - 47
  - 29
  - 39
  jupyter_server.extension.manager.ExtensionPoint.app:
  - 64
  jupyter_server.extension.manager.ExtensionPoint.config:
  - 69
  - 70
  - 71
  jupyter_server.extension.manager.ExtensionPoint.link:
  - 138
  - 139
  - 140
  - 133
  jupyter_server.extension.manager.ExtensionPoint.linked:
  - 58
  - 53
  jupyter_server.extension.manager.ExtensionPoint.load:
  - 145
  - 150
  - 151
  jupyter_server.extension.manager.ExtensionPoint.module:
  - 97
  jupyter_server.extension.manager.ExtensionPoint.module_name:
  - 79
  jupyter_server.extension.manager.ExtensionPoint.name:
  - 91
  - 93
  - 86
  jupyter_server.extension.manager.ExtensionPoint.validate:
  - 123
  - 125
  - 126
  jupyter_server.extension.serverextension:
  - 1
  - 77
  - 78
  - 79
  - 80
  - 404
  - 405
  - 183
  - 120
  - 185
  - 186
  - 184
  jupyter_server.extension.serverextension.BaseExtensionApp:
  - 132
  - 131
  - 124
  - 133
  jupyter_server.extension.serverextension.BaseExtensionApp._log_format_default:
  - 136
  jupyter_server.extension.serverextension.BaseExtensionApp.config_dir:
  - 141
  jupyter_server.extension.serverextension.DisableServerExtensionApp:
  - 305
  jupyter_server.extension.serverextension.EnableServerExtensionApp:
  - 290
  jupyter_server.extension.serverextension.ListServerExtensionsApp:
  - 320
  jupyter_server.extension.serverextension.ListServerExtensionsApp.list_server_extensions:
  - 352
  - 356
  - 327
  - 359
  - 361
  - 363
  - 337
  - 338
  - 339
  - 341
  - 343
  - 345
  - 346
  - 348
  - 350
  - 351
  jupyter_server.extension.serverextension.ListServerExtensionsApp.start:
  - 366
  - 367
  jupyter_server.extension.serverextension.ServerExtensionApp:
  - 378
  jupyter_server.extension.serverextension.ServerExtensionApp.start:
  - 392
  - 393
  - 397
  - 398
  jupyter_server.extension.serverextension.ToggleServerExtensionApp:
  - 237
  - 230
  jupyter_server.extension.serverextension.ToggleServerExtensionApp.start:
  - 282
  - 283
  - 284
  - 285
  - 286
  jupyter_server.extension.serverextension.ToggleServerExtensionApp.toggle_server_extension:
  - 258
  - 259
  - 261
  - 263
  - 264
  - 266
  - 270
  - 271
  - 272
  - 242
  - 274
  - 277
  - 279
  - 254
  jupyter_server.extension.serverextension._get_config_dir:
  - 34
  - 36
  - 37
  - 38
  - 23
  jupyter_server.extension.serverextension._get_extmanager_for_context:
  - 64
  - 66
  - 48
  - 61
  - 62
  jupyter_server.extension.serverextension.toggle_server_extension_python:
  - 163
  - 167
  - 168
  - 170
  - 172
  - 173
  - 175
  jupyter_server.extension.utils:
  - 1
  jupyter_server.extension.utils.ExtensionLoadingError:
  - 9
  jupyter_server.extension.utils.ExtensionMetadataError:
  - 13
  jupyter_server.extension.utils.ExtensionModuleNotFound:
  - 17
  jupyter_server.extension.utils.NotAnExtensionApp:
  - 21
  jupyter_server.extension.utils.get_loader:
  - 25
  - 42
  jupyter_server.extension.utils.get_metadata:
  - 64
  - 65
  - 66
  - 99
  - 100
  - 71
  - 73
  - 76
  - 84
  - 85
  - 86
  - 55
  jupyter_server.extension.utils.validate_extension:
  - 121
  - 110
  jupyter_server.files.handlers:
  - 1
  jupyter_server.files.handlers.FilesHandler:
  - 21
  jupyter_server.files.handlers.FilesHandler.content_security_policy:
  - 33
  - 36
  jupyter_server.files.handlers.FilesHandler.get:
  - 49
  - 51
  - 54
  - 55
  - 58
  - 59
  - 60
  - 64
  - 66
  - 67
  - 70
  - 71
  - 73
  - 74
  - 75
  - 77
  - 78
  - 79
  - 80
  - 81
  - 82
  - 83
  - 84
  - 86
  - 88
  - 89
  - 90
  - 91
  - 93
  - 94
  jupyter_server.files.handlers.FilesHandler.head:
  - 41
  - 42
  - 43
  - 44
  jupyter_server.gateway.connections:
  - 1
  jupyter_server.gateway.connections.GatewayWebSocketConnection:
  - 33
  - 38
  - 25
  - 27
  - 29
  - 31
  jupyter_server.gateway.connections.GatewayWebSocketConnection._connection_done:
  - 64
  - 65
  - 66
  - 68
  - 70
  - 72
  - 74
  jupyter_server.gateway.connections.GatewayWebSocketConnection._get_message_summary:
  - 164
  - 167
  - 169
  - 170
  - 171
  - 172
  - 173
  - 180
  - 182
  jupyter_server.gateway.connections.GatewayWebSocketConnection._read_messages:
  - 129
  - 130
  - 131
  - 89
  - 92
  - 94
  - 96
  - 99
  - 100
  - 101
  - 103
  - 104
  - 105
  - 112
  - 113
  - 115
  - 116
  - 117
  - 122
  - 126
  jupyter_server.gateway.connections.GatewayWebSocketConnection._write_message:
  - 160
  - 155
  - 157
  - 158
  jupyter_server.gateway.connections.GatewayWebSocketConnection.connect:
  - 41
  - 44
  - 45
  - 46
  - 47
  - 50
  - 51
  - 52
  - 54
  - 56
  - 57
  - 58
  - 60
  - 61
  jupyter_server.gateway.connections.GatewayWebSocketConnection.connect.<lambda1>:
  - 61
  jupyter_server.gateway.connections.GatewayWebSocketConnection.disconnect:
  - 78
  - 80
  - 82
  - 83
  - 85
  - 86
  jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_incoming_message:
  - 147
  - 148
  - 149
  - 150
  - 152
  jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_incoming_message.<lambda1>:
  - 150
  jupyter_server.gateway.connections.GatewayWebSocketConnection.handle_outgoing_message:
  - 134
  - 136
  - 138
  - 139
  - 140
  - 142
  jupyter_server.gateway.gateway_client:
  - 1
  - 43
  jupyter_server.gateway.gateway_client.GatewayClient:
  - 131
  - 387
  - 262
  - 135
  - 518
  - 266
  - 396
  - 145
  - 275
  - 403
  - 279
  - 411
  - 156
  - 539
  - 288
  - 163
  - 292
  - 420
  - 301
  - 175
  - 431
  - 307
  - 181
  - 438
  - 187
  - 316
  - 193
  - 321
  - 449
  - 456
  - 201
  - 335
  - 208
  - 464
  - 340
  - 470
  - 217
  - 92
  - 478
  - 224
  - 352
  - 99
  - 101
  - 230
  - 357
  - 486
  - 236
  - 365
  - 505
  - 240
  - 497
  - 371
  - 118
  - 249
  - 378
  - 253
  jupyter_server.gateway.gateway_client.GatewayClient.__init__:
  - 546
  - 547
  - 549
  jupyter_server.gateway.gateway_client.GatewayClient._accept_cookies_default:
  - 507
  - 508
  jupyter_server.gateway.gateway_client.GatewayClient._allowed_envs_default:
  - 400
  - 398
  jupyter_server.gateway.gateway_client.GatewayClient._auth_header_key_default:
  - 337
  jupyter_server.gateway.gateway_client.GatewayClient._auth_scheme_default:
  - 367
  jupyter_server.gateway.gateway_client.GatewayClient._auth_token_default:
  - 354
  jupyter_server.gateway.gateway_client.GatewayClient._ca_certs_default:
  - 277
  jupyter_server.gateway.gateway_client.GatewayClient._clear_expired_cookies:
  - 649
  - 650
  - 653
  - 654
  - 655
  - 658
  - 659
  - 661
  - 662
  jupyter_server.gateway.gateway_client.GatewayClient._client_cert_default:
  - 264
  jupyter_server.gateway.gateway_client.GatewayClient._client_key_default:
  - 251
  jupyter_server.gateway.gateway_client.GatewayClient._connect_timeout_default:
  - 226
  jupyter_server.gateway.gateway_client.GatewayClient._default_event_logger:
  - 108
  - 111
  - 110
  - 103
  jupyter_server.gateway.gateway_client.GatewayClient._deprecated_trait:
  - 520
  - 523
  - 524
  - 528
  - 532
  jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_interval_default:
  - 422
  - 423
  jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_interval_max_default:
  - 440
  - 441
  jupyter_server.gateway.gateway_client.GatewayClient._gateway_retry_max_default:
  - 458
  jupyter_server.gateway.gateway_client.GatewayClient._gateway_token_renewer_class_default:
  - 472
  jupyter_server.gateway.gateway_client.GatewayClient._headers_default:
  - 318
  jupyter_server.gateway.gateway_client.GatewayClient._http_pwd_default:
  - 303
  jupyter_server.gateway.gateway_client.GatewayClient._http_user_default:
  - 290
  jupyter_server.gateway.gateway_client.GatewayClient._kernels_endpoint_default:
  - 183
  jupyter_server.gateway.gateway_client.GatewayClient._kernelspecs_endpoint_default:
  - 195
  jupyter_server.gateway.gateway_client.GatewayClient._kernelspecs_resource_endpoint_default:
  - 210
  jupyter_server.gateway.gateway_client.GatewayClient._launch_timeout_pad_default:
  - 488
  - 489
  jupyter_server.gateway.gateway_client.GatewayClient._request_timeout_default:
  - 238
  jupyter_server.gateway.gateway_client.GatewayClient._update_cookie_header:
  - 672
  - 676
  - 677
  - 680
  - 683
  - 665
  - 666
  - 668
  - 669
  - 671
  jupyter_server.gateway.gateway_client.GatewayClient._url_default:
  - 133
  jupyter_server.gateway.gateway_client.GatewayClient._url_validate:
  - 139
  - 141
  jupyter_server.gateway.gateway_client.GatewayClient._validate_cert_default:
  - 380
  - 381
  jupyter_server.gateway.gateway_client.GatewayClient._ws_url_default:
  - 160
  - 158
  - 159
  jupyter_server.gateway.gateway_client.GatewayClient._ws_url_validate:
  - 169
  - 167
  jupyter_server.gateway.gateway_client.GatewayClient.emit:
  - 115
  - 116
  jupyter_server.gateway.gateway_client.GatewayClient.gateway_enabled:
  - 536
  jupyter_server.gateway.gateway_client.GatewayClient.init_connection_args:
  - 576
  - 582
  - 585
  - 555
  - 587
  - 589
  - 562
  - 564
  - 566
  - 567
  - 571
  - 573
  - 574
  - 575
  jupyter_server.gateway.gateway_client.GatewayClient.load_connection_args:
  - 608
  - 616
  - 617
  - 618
  - 619
  - 620
  - 622
  - 593
  - 628
  - 597
  - 598
  - 629
  - 602
  - 604
  jupyter_server.gateway.gateway_client.GatewayClient.update_cookies:
  - 642
  - 643
  - 644
  - 634
  - 635
  - 638
  - 639
  jupyter_server.gateway.gateway_client.GatewayTokenRenewerBase:
  - 54
  jupyter_server.gateway.gateway_client.GatewayTokenRenewerBase.get_token:
  - 69
  jupyter_server.gateway.gateway_client.GatewayTokenRenewerMeta:
  - 48
  jupyter_server.gateway.gateway_client.NoOpTokenRenewer:
  - 76
  jupyter_server.gateway.gateway_client.NoOpTokenRenewer.get_token:
  - 87
  jupyter_server.gateway.gateway_client.RetryableHTTPClient:
  - 691
  - 700
  - 699
  jupyter_server.gateway.gateway_client.RetryableHTTPClient.__init__:
  - 707
  - 709
  jupyter_server.gateway.gateway_client.RetryableHTTPClient._fetch:
  - 720
  - 725
  - 727
  - 728
  - 730
  - 734
  jupyter_server.gateway.gateway_client.RetryableHTTPClient._is_retryable:
  - 738
  - 740
  - 742
  - 746
  - 748
  - 750
  - 754
  jupyter_server.gateway.gateway_client.RetryableHTTPClient.fetch:
  - 712
  - 717
  jupyter_server.gateway.gateway_client.gateway_request:
  - 774
  - 781
  - 783
  - 784
  - 785
  - 787
  - 795
  - 804
  - 813
  - 816
  - 823
  - 825
  - 826
  - 827
  - 828
  - 829
  - 760
  - 761
  - 762
  - 763
  - 765
  - 766
  jupyter_server.gateway.handlers:
  - 1
  - 28
  - 36
  jupyter_server.gateway.handlers.GatewayResourceHandler:
  - 288
  jupyter_server.gateway.handlers.GatewayResourceHandler.get:
  - 292
  - 295
  - 298
  - 299
  - 304
  - 305
  jupyter_server.gateway.handlers.GatewayWebSocketClient:
  - 157
  jupyter_server.gateway.handlers.GatewayWebSocketClient.__init__:
  - 160
  - 161
  - 164
  jupyter_server.gateway.handlers.GatewayWebSocketClient._connect:
  - 169
  - 173
  - 176
  - 179
  - 182
  - 184
  - 186
  - 187
  - 188
  - 190
  - 191
  jupyter_server.gateway.handlers.GatewayWebSocketClient._connect.<lambda1>:
  - 191
  jupyter_server.gateway.handlers.GatewayWebSocketClient._connection_done:
  - 194
  - 195
  - 196
  - 198
  - 200
  - 202
  - 204
  jupyter_server.gateway.handlers.GatewayWebSocketClient._disconnect:
  - 208
  - 210
  - 212
  - 213
  - 215
  - 216
  jupyter_server.gateway.handlers.GatewayWebSocketClient._read_messages:
  - 224
  - 257
  - 226
  - 258
  - 259
  - 229
  - 230
  - 231
  - 233
  - 240
  - 241
  - 243
  - 244
  - 245
  - 254
  - 250
  - 219
  - 222
  jupyter_server.gateway.handlers.GatewayWebSocketClient._write_message:
  - 280
  - 275
  - 277
  - 278
  jupyter_server.gateway.handlers.GatewayWebSocketClient.on_close:
  - 283
  - 284
  jupyter_server.gateway.handlers.GatewayWebSocketClient.on_message:
  - 267
  - 268
  - 269
  - 270
  - 272
  jupyter_server.gateway.handlers.GatewayWebSocketClient.on_message.<lambda1>:
  - 270
  jupyter_server.gateway.handlers.GatewayWebSocketClient.on_open:
  - 264
  - 262
  - 263
  jupyter_server.gateway.handlers.WebSocketChannelsHandler:
  - 40
  jupyter_server.gateway.handlers.WebSocketChannelsHandler._get_message_summary:
  - 135
  - 138
  - 140
  - 141
  - 142
  - 143
  - 144
  - 151
  - 153
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.authenticate:
  - 66
  - 67
  - 70
  - 72
  - 74
  - 60
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.check_origin:
  - 48
  - 49
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.get:
  - 83
  - 84
  - 87
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.get_compression_options:
  - 55
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.initialize:
  - 80
  - 77
  - 78
  - 79
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.on_close:
  - 128
  - 130
  - 131
  - 127
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.on_message:
  - 112
  - 110
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.open:
  - 98
  - 99
  - 100
  - 103
  - 106
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.send_ping:
  - 90
  - 91
  - 92
  - 95
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.set_default_headers:
  - 52
  jupyter_server.gateway.handlers.WebSocketChannelsHandler.write_message:
  - 115
  - 116
  - 117
  - 119
  - 120
  - 121
  - 122
  jupyter_server.gateway.managers:
  - 593
  - 1
  - 36
  - 879
  jupyter_server.gateway.managers.ChannelQueue:
  - 597
  jupyter_server.gateway.managers.ChannelQueue.__init__:
  - 603
  - 604
  jupyter_server.gateway.managers.ChannelQueue._async_get:
  - 611
  - 612
  - 613
  - 614
  - 617
  - 621
  - 623
  - 626
  - 628
  jupyter_server.gateway.managers.ChannelQueue.get_msg:
  - 640
  - 631
  - 632
  - 633
  - 634
  - 635
  - 639
  jupyter_server.gateway.managers.ChannelQueue.is_alive:
  - 681
  jupyter_server.gateway.managers.ChannelQueue.send:
  - 643
  - 644
  - 645
  - 646
  - 650
  jupyter_server.gateway.managers.ChannelQueue.serialize_datetime:
  - 656
  - 654
  - 655
  jupyter_server.gateway.managers.ChannelQueue.start:
  - 660
  jupyter_server.gateway.managers.ChannelQueue.stop:
  - 672
  - 673
  - 675
  - 676
  - 677
  - 663
  - 664
  - 669
  - 670
  - 671
  jupyter_server.gateway.managers.GatewayKernelClient:
  - 695
  jupyter_server.gateway.managers.GatewayKernelClient.__init__:
  - 722
  - 723
  jupyter_server.gateway.managers.GatewayKernelClient._route_responses:
  - 868
  - 869
  - 873
  - 876
  - 846
  - 856
  - 857
  - 859
  - 862
  jupyter_server.gateway.managers.GatewayKernelClient.control_channel:
  - 840
  - 836
  - 837
  - 838
  jupyter_server.gateway.managers.GatewayKernelClient.hb_channel:
  - 825
  - 826
  - 827
  - 829
  jupyter_server.gateway.managers.GatewayKernelClient.iopub_channel:
  - 803
  - 804
  - 805
  - 807
  jupyter_server.gateway.managers.GatewayKernelClient.shell_channel:
  - 792
  - 793
  - 794
  - 796
  jupyter_server.gateway.managers.GatewayKernelClient.start_channels:
  - 742
  - 743
  - 744
  - 745
  - 750
  - 751
  - 752
  - 755
  - 767
  - 757
  - 762
  - 763
  - 766
  - 735
  jupyter_server.gateway.managers.GatewayKernelClient.stdin_channel:
  - 816
  - 818
  - 814
  - 815
  jupyter_server.gateway.managers.GatewayKernelClient.stop_channels:
  - 770
  - 775
  - 777
  - 780
  - 782
  - 784
  - 785
  jupyter_server.gateway.managers.GatewayKernelManager:
  - 544
  - 386
  - 527
  - 561
  - 407
  - 408
  - 473
  - 381
  jupyter_server.gateway.managers.GatewayKernelManager.__init__:
  - 391
  - 392
  - 393
  - 394
  - 400
  jupyter_server.gateway.managers.GatewayKernelManager.cleanup_resources:
  - 590
  jupyter_server.gateway.managers.GatewayKernelManager.client:
  - 417
  - 418
  - 427
  - 428
  - 415
  jupyter_server.gateway.managers.GatewayKernelManager.has_kernel:
  - 404
  jupyter_server.gateway.managers.GatewayKernelManager.interrupt_kernel:
  - 576
  - 565
  - 566
  - 569
  - 570
  - 574
  jupyter_server.gateway.managers.GatewayKernelManager.is_alive:
  - 579
  - 580
  - 582
  - 583
  - 586
  jupyter_server.gateway.managers.GatewayKernelManager.refresh_model:
  - 451
  - 452
  - 454
  - 455
  - 459
  - 431
  - 464
  - 439
  - 440
  - 442
  - 445
  - 446
  jupyter_server.gateway.managers.GatewayKernelManager.restart_kernel:
  - 548
  - 549
  - 552
  - 553
  - 557
  - 559
  jupyter_server.gateway.managers.GatewayKernelManager.shutdown_kernel:
  - 531
  - 533
  - 534
  - 536
  - 537
  - 539
  - 540
  jupyter_server.gateway.managers.GatewayKernelManager.start_kernel:
  - 517
  - 519
  - 520
  - 523
  - 524
  - 525
  - 477
  - 485
  - 487
  - 488
  - 489
  - 492
  - 493
  - 495
  - 496
  - 501
  - 502
  - 506
  - 509
  - 511
  jupyter_server.gateway.managers.GatewayKernelSpecManager:
  - 216
  jupyter_server.gateway.managers.GatewayKernelSpecManager.__init__:
  - 225
  - 226
  - 227
  - 228
  - 219
  - 220
  - 221
  - 222
  jupyter_server.gateway.managers.GatewayKernelSpecManager._get_endpoint_for_user_filter:
  - 233
  - 234
  - 235
  jupyter_server.gateway.managers.GatewayKernelSpecManager._get_kernelspecs_endpoint_url:
  - 265
  - 270
  - 271
  jupyter_server.gateway.managers.GatewayKernelSpecManager._replace_path_kernelspec_resources:
  - 257
  - 258
  - 240
  - 244
  - 247
  - 249
  - 251
  - 252
  - 253
  jupyter_server.gateway.managers.GatewayKernelSpecManager.get_all_specs:
  - 288
  - 294
  - 276
  - 277
  - 283
  - 286
  - 287
  jupyter_server.gateway.managers.GatewayKernelSpecManager.get_kernel_spec:
  - 322
  - 327
  - 307
  - 314
  - 315
  - 317
  - 319
  jupyter_server.gateway.managers.GatewayKernelSpecManager.get_kernel_spec_resource:
  - 332
  - 341
  - 342
  - 344
  - 346
  - 348
  jupyter_server.gateway.managers.GatewayKernelSpecManager.list_kernel_specs:
  - 298
  - 299
  - 300
  - 301
  - 302
  - 303
  jupyter_server.gateway.managers.GatewayMappingKernelManager:
  - 41
  - 50
  - 46
  jupyter_server.gateway.managers.GatewayMappingKernelManager.__init__:
  - 56
  - 57
  - 58
  - 55
  jupyter_server.gateway.managers.GatewayMappingKernelManager.cull_kernels:
  - 210
  - 211
  - 212
  jupyter_server.gateway.managers.GatewayMappingKernelManager.interrupt_kernel:
  - 199
  - 198
  - 191
  jupyter_server.gateway.managers.GatewayMappingKernelManager.kernel_model:
  - 97
  - 106
  - 107
  jupyter_server.gateway.managers.GatewayMappingKernelManager.list_kernels:
  - 160
  - 129
  - 161
  - 131
  - 132
  - 134
  - 112
  - 117
  - 118
  - 119
  - 150
  - 153
  - 123
  - 156
  - 125
  - 126
  - 159
  jupyter_server.gateway.managers.GatewayMappingKernelManager.remove_kernel:
  - 64
  - 62
  jupyter_server.gateway.managers.GatewayMappingKernelManager.restart_kernel:
  - 188
  - 187
  - 180
  jupyter_server.gateway.managers.GatewayMappingKernelManager.shutdown_all:
  - 202
  - 203
  - 204
  - 205
  - 206
  - 207
  jupyter_server.gateway.managers.GatewayMappingKernelManager.shutdown_kernel:
  - 176
  - 177
  - 164
  - 175
  jupyter_server.gateway.managers.GatewayMappingKernelManager.start_kernel:
  - 69
  - 81
  - 83
  - 84
  - 86
  - 87
  - 91
  - 92
  jupyter_server.gateway.managers.GatewaySessionManager:
  - 360
  - 358
  jupyter_server.gateway.managers.GatewaySessionManager.kernel_culled:
  - 363
  - 373
  jupyter_server.gateway.managers.HBChannelQueue:
  - 686
  jupyter_server.gateway.managers.HBChannelQueue.is_beating:
  - 689
  - 691
  jupyter_server.i18n:
  - 24
  - 1
  - 13
  jupyter_server.i18n.cached_load:
  - 74
  - 79
  jupyter_server.i18n.combine_translations:
  - 96
  - 85
  - 89
  - 91
  - 92
  - 94
  jupyter_server.i18n.load:
  - 64
  - 60
  - 69
  - 62
  jupyter_server.i18n.parse_accept_lang_header:
  - 35
  - 40
  - 41
  - 42
  - 43
  - 45
  - 47
  - 48
  - 49
  - 51
  - 54
  - 55
  jupyter_server.kernelspecs.handlers:
  - 1
  jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler:
  - 17
  jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.get:
  - 32
  - 34
  - 37
  - 38
  - 42
  - 43
  - 44
  - 47
  - 52
  - 56
  - 57
  - 29
  - 31
  jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.head:
  - 62
  - 63
  jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler.initialize:
  - 24
  - 23
  jupyter_server.log:
  - 1
  jupyter_server.log._scrub_uri:
  - 32
  - 33
  - 34
  - 35
  - 38
  - 39
  - 40
  - 24
  - 25
  - 26
  - 30
  jupyter_server.log.log_request:
  - 64
  - 96
  - 98
  - 99
  - 100
  - 69
  - 74
  - 45
  - 52
  - 84
  - 88
  - 90
  - 59
  - 92
  - 62
  - 95
  jupyter_server.nbconvert.handlers:
  - 24
  - 1
  jupyter_server.nbconvert.handlers.NbconvertFileHandler:
  - 90
  jupyter_server.nbconvert.handlers.NbconvertFileHandler.get:
  - 130
  - 135
  - 136
  - 139
  - 142
  - 146
  - 147
  - 148
  - 151
  - 152
  - 154
  - 155
  - 98
  - 99
  - 100
  - 102
  - 105
  - 106
  - 107
  - 111
  - 113
  - 115
  - 119
  - 122
  - 123
  jupyter_server.nbconvert.handlers.NbconvertFileHandler.get.<lambda1>:
  - 136
  jupyter_server.nbconvert.handlers.NbconvertPostHandler:
  - 159
  jupyter_server.nbconvert.handlers.NbconvertPostHandler.post:
  - 192
  - 193
  - 195
  - 167
  - 168
  - 170
  - 172
  - 173
  - 176
  - 177
  - 188
  jupyter_server.nbconvert.handlers.NbconvertPostHandler.post.<lambda1>:
  - 177
  jupyter_server.nbconvert.handlers.find_resource_files:
  - 33
  - 34
  - 31
  jupyter_server.nbconvert.handlers.get_exporter:
  - 85
  - 83
  - 77
  - 69
  jupyter_server.nbconvert.handlers.respond_zip:
  - 64
  - 39
  - 45
  - 46
  - 50
  - 51
  - 52
  - 53
  - 56
  - 57
  - 58
  - 59
  - 60
  - 61
  - 62
  jupyter_server.prometheus.log_functions:
  - 1
  jupyter_server.prometheus.log_functions.prometheus_log_method:
  - 7
  - 22
  - 24
  - 25
  - 26
  jupyter_server.prometheus.metrics:
  - 32
  - 1
  - 27
  - 21
  jupyter_server.pytest_plugin:
  - 40
  - 1
  jupyter_server.pytest_plugin.jp_contents_manager:
  - 42
  - 43
  jupyter_server.pytest_plugin.jp_kernelspecs:
  - 32
  - 34
  - 36
  - 37
  - 24
  - 26
  - 27
  - 28
  - 30
  - 31
  jupyter_server.pytest_plugin.jp_large_contents_manager:
  - 48
  - 49
  jupyter_server.serverapp:
  - 1
  - 833
  - 803
  - 835
  - 807
  - 811
  - 47
  - 50
  - 54
  - 824
  - 825
  - 799
  jupyter_server.serverapp.JupyterPasswordApp:
  - 586
  jupyter_server.serverapp.JupyterPasswordApp._config_file_default:
  - 595
  - 596
  jupyter_server.serverapp.JupyterPasswordApp.start:
  - 602
  - 603
  - 599
  jupyter_server.serverapp.JupyterServerListApp:
  - 768
  - 771
  - 743
  - 746
  - 751
  - 755
  - 759
  - 762
  jupyter_server.serverapp.JupyterServerListApp.start:
  - 779
  - 780
  - 781
  - 782
  - 783
  - 784
  - 785
  - 787
  - 788
  - 790
  - 792
  jupyter_server.serverapp.JupyterServerStopApp:
  - 674
  - 685
  - 679
  jupyter_server.serverapp.JupyterServerStopApp._maybe_remove_unix_socket:
  - 709
  - 711
  jupyter_server.serverapp.JupyterServerStopApp._shutdown_or_exit:
  - 704
  - 705
  - 702
  - 703
  jupyter_server.serverapp.JupyterServerStopApp.parse_command_line:
  - 688
  - 689
  - 690
  - 692
  jupyter_server.serverapp.JupyterServerStopApp.shutdown_server:
  - 698
  - 699
  jupyter_server.serverapp.JupyterServerStopApp.start:
  - 716
  - 718
  - 719
  - 720
  - 721
  - 722
  - 723
  - 724
  - 725
  - 727
  - 729
  - 730
  - 731
  - 732
  - 735
  - 736
  - 737
  - 738
  - 739
  jupyter_server.serverapp.ServerApp:
  - 1538
  - 1027
  - 1539
  - 1034
  - 1037
  - 1552
  - 1554
  - 1558
  - 1559
  - 1561
  - 1054
  - 1056
  - 1059
  - 1573
  - 1574
  - 1576
  - 1065
  - 1068
  - 1581
  - 1074
  - 1078
  - 1591
  - 1080
  - 1597
  - 1086
  - 1601
  - 1604
  - 1607
  - 1610
  - 1616
  - 1618
  - 1621
  - 1110
  - 1113
  - 1627
  - 1116
  - 1630
  - 1119
  - 1633
  - 1122
  - 1125
  - 1641
  - 1130
  - 1131
  - 1134
  - 1138
  - 1658
  - 1151
  - 1667
  - 1670
  - 1673
  - 1675
  - 1686
  - 1178
  - 1692
  - 1182
  - 1697
  - 1186
  - 1700
  - 1705
  - 1195
  - 1709
  - 1713
  - 1716
  - 1206
  - 1720
  - 1723
  - 1727
  - 1734
  - 1226
  - 1740
  - 1742
  - 1747
  - 1239
  - 1751
  - 1753
  - 1758
  - 1248
  - 1760
  - 1765
  - 1254
  - 1768
  - 1260
  - 1775
  - 1789
  - 1791
  - 1287
  - 1799
  - 1291
  - 1803
  - 1295
  - 1811
  - 1814
  - 1819
  - 1822
  - 1315
  - 1843
  - 1334
  - 1850
  - 1340
  - 1856
  - 1858
  - 1863
  - 1867
  - 1357
  - 1874
  - 1879
  - 1881
  - 860
  - 1884
  - 864
  - 1893
  - 871
  - 872
  - 1896
  - 1899
  - 1390
  - 1902
  - 1905
  - 1909
  - 1912
  - 1915
  - 1919
  - 1408
  - 1409
  - 898
  - 1922
  - 1925
  - 902
  - 1929
  - 906
  - 1419
  - 1932
  - 910
  - 1935
  - 1939
  - 1430
  - 1942
  - 1945
  - 1949
  - 1441
  - 1444
  - 934
  - 936
  - 1963
  - 940
  - 1965
  - 1459
  - 948
  - 1461
  - 952
  - 1977
  - 1466
  - 957
  - 1469
  - 1981
  - 1989
  - 1990
  - 968
  - 1481
  - 1482
  - 1484
  - 1487
  - 2000
  - 1489
  - 1491
  - 1493
  - 983
  - 1496
  - 986
  - 1500
  - 989
  - 1503
  - 992
  - 995
  - 1509
  - 998
  - 1511
  - 1001
  - 1514
  - 1003
  - 1516
  - 1006
  - 1519
  - 1009
  - 1529
  jupyter_server.serverapp.ServerApp._allow_unauthenticated_access_default:
  - 1336
  - 1337
  jupyter_server.serverapp.ServerApp._bind_http_server:
  - 2592
  - 2593
  - 2594
  - 2595
  - 2600
  - 2591
  jupyter_server.serverapp.ServerApp._bind_http_server_tcp:
  - 2624
  - 2625
  jupyter_server.serverapp.ServerApp._bind_http_server_unix:
  - 2603
  - 2604
  - 2605
  - 2609
  - 2610
  - 2612
  - 2613
  - 2615
  - 2616
  jupyter_server.serverapp.ServerApp._cleanup:
  - 3074
  - 3075
  - 3076
  - 3077
  - 3079
  - 3091
  - 3092
  - 3093
  - 3094
  - 3095
  - 3097
  - 3071
  jupyter_server.serverapp.ServerApp._confirm_exit:
  - 2433
  - 2436
  - 2440
  - 2441
  - 2446
  - 2405
  - 2413
  - 2415
  - 2416
  - 2419
  - 2421
  - 2422
  - 2423
  - 2424
  - 2425
  - 2426
  - 2427
  - 2428
  - 2429
  - 2430
  jupyter_server.serverapp.ServerApp._default_allow_remote:
  - 1376
  - 1382
  - 1359
  - 1363
  - 1367
  - 1370
  - 1374
  jupyter_server.serverapp.ServerApp._default_browser_open_file:
  - 1755
  - 1756
  jupyter_server.serverapp.ServerApp._default_browser_open_file_to_run:
  - 1762
  - 1763
  jupyter_server.serverapp.ServerApp._default_cookie_secret:
  - 1153
  - 1154
  - 1155
  - 1157
  - 1158
  - 1159
  - 1160
  - 1161
  jupyter_server.serverapp.ServerApp._default_cookie_secret_file:
  - 1136
  jupyter_server.serverapp.ServerApp._default_info_file:
  - 1744
  - 1745
  jupyter_server.serverapp.ServerApp._default_ip:
  - 1024
  - 1011
  - 1015
  - 1017
  - 1019
  - 1020
  jupyter_server.serverapp.ServerApp._default_kernel_manager_class:
  - 1612
  jupyter_server.serverapp.ServerApp._default_kernel_spec_manager_class:
  - 1688
  jupyter_server.serverapp.ServerApp._default_kernel_websocket_connection_class:
  - 1637
  jupyter_server.serverapp.ServerApp._default_log_format:
  - 942
  jupyter_server.serverapp.ServerApp._default_min_open_files_limit:
  - 1208
  - 1218
  - 1212
  - 1215
  jupyter_server.serverapp.ServerApp._default_root_dir:
  - 1824
  - 1826
  - 1828
  jupyter_server.serverapp.ServerApp._default_session_manager_class:
  - 1623
  jupyter_server.serverapp.ServerApp._default_static_custom_path:
  - 1556
  jupyter_server.serverapp.ServerApp._deprecated_cookie_config:
  - 1498
  jupyter_server.serverapp.ServerApp._deprecated_iopub_data_rate_limit:
  - 1937
  jupyter_server.serverapp.ServerApp._deprecated_iopub_msg_rate_limit:
  - 1927
  jupyter_server.serverapp.ServerApp._deprecated_kernel_ws_protocol:
  - 1907
  jupyter_server.serverapp.ServerApp._deprecated_limit_rate:
  - 1917
  jupyter_server.serverapp.ServerApp._deprecated_password:
  - 1289
  jupyter_server.serverapp.ServerApp._deprecated_password_config:
  - 1293
  jupyter_server.serverapp.ServerApp._deprecated_rate_limit_window:
  - 1947
  jupyter_server.serverapp.ServerApp._deprecated_token:
  - 1184
  jupyter_server.serverapp.ServerApp._deprecated_token_access:
  - 1188
  jupyter_server.serverapp.ServerApp._find_http_port:
  - 2629
  - 2632
  - 2634
  - 2635
  - 2637
  - 2638
  - 2639
  - 2640
  - 2643
  - 2645
  - 2647
  - 2649
  - 2656
  - 2657
  - 2658
  - 2659
  - 2665
  - 2666
  - 2672
  jupyter_server.serverapp.ServerApp._get_urlparts:
  - 2308
  - 2312
  - 2314
  - 2316
  - 2319
  - 2320
  - 2325
  - 2329
  - 2333
  - 2335
  jupyter_server.serverapp.ServerApp._handle_sigint:
  - 2393
  - 2396
  - 2398
  - 2391
  jupyter_server.serverapp.ServerApp._init_asyncio_patch:
  - 2697
  - 2676
  - 2686
  - 2695
  jupyter_server.serverapp.ServerApp._normalize_dir:
  - 1831
  - 1834
  - 1835
  - 1837
  - 1838
  - 1840
  jupyter_server.serverapp.ServerApp._port_default:
  - 1061
  jupyter_server.serverapp.ServerApp._port_retries_default:
  - 1076
  jupyter_server.serverapp.ServerApp._preferred_dir_validate:
  - 1869
  - 1870
  jupyter_server.serverapp.ServerApp._prepare_browser_open:
  - 2944
  - 2946
  - 2947
  - 2949
  - 2957
  - 2958
  - 2960
  - 2942
  - 2943
  jupyter_server.serverapp.ServerApp._resolve_file_to_run_and_root_dir:
  - 2852
  - 2853
  - 2854
  - 2855
  - 2857
  - 2858
  - 2859
  - 2865
  - 2867
  - 2872
  - 2844
  jupyter_server.serverapp.ServerApp._restore_sigint_handler:
  - 2401
  - 2402
  jupyter_server.serverapp.ServerApp._root_dir_validate:
  - 1845
  - 1846
  jupyter_server.serverapp.ServerApp._signal_info:
  - 2454
  - 2455
  jupyter_server.serverapp.ServerApp._signal_stop:
  - 2449
  - 2450
  - 2451
  jupyter_server.serverapp.ServerApp._stop:
  - 3124
  - 3125
  - 3126
  - 3127
  jupyter_server.serverapp.ServerApp._update_base_url:
  - 1531
  - 1532
  - 1534
  jupyter_server.serverapp.ServerApp._update_notebook_dir:
  - 1793
  - 1796
  jupyter_server.serverapp.ServerApp._update_pylab:
  - 1777
  - 1779
  - 1780
  - 1782
  - 1783
  - 1787
  jupyter_server.serverapp.ServerApp._update_server_extensions:
  - 1876
  jupyter_server.serverapp.ServerApp._validate_ip:
  - 1029
  - 1030
  jupyter_server.serverapp.ServerApp._validate_sock_mode:
  - 1090
  - 1091
  - 1094
  - 1095
  jupyter_server.serverapp.ServerApp._warn_deprecated_config:
  - 1282
  - 1283
  - 1269
  - 1270
  - 1272
  - 1275
  jupyter_server.serverapp.ServerApp._write_browser_open_file:
  - 2882
  - 2883
  - 2876
  - 2877
  - 2878
  - 2879
  jupyter_server.serverapp.ServerApp._write_cookie_secret_file:
  - 1164
  - 1165
  - 1167
  - 1168
  - 1170
  - 1171
  jupyter_server.serverapp.ServerApp.cleanup_extensions:
  - 2784
  - 2785
  - 2788
  - 2789
  - 2781
  - 2782
  jupyter_server.serverapp.ServerApp.cleanup_kernels:
  - 2766
  - 2771
  - 2773
  - 2774
  - 2777
  - 2778
  jupyter_server.serverapp.ServerApp.connection_url:
  - 2371
  - 2372
  jupyter_server.serverapp.ServerApp.display_url:
  - 2363
  jupyter_server.serverapp.ServerApp.find_server_extensions:
  - 2476
  - 2477
  - 2479
  - 2480
  - 2481
  - 2482
  - 2462
  jupyter_server.serverapp.ServerApp.http_server:
  - 2553
  jupyter_server.serverapp.ServerApp.init_components:
  - 2458
  jupyter_server.serverapp.ServerApp.init_configurables:
  - 2048
  - 2052
  - 2058
  - 2068
  - 2069
  - 2071
  - 2072
  - 2074
  - 2075
  - 2080
  - 2081
  - 2087
  - 2088
  - 2094
  - 2100
  - 2108
  - 2115
  - 2117
  - 2119
  - 2123
  - 2125
  - 2130
  - 2131
  - 2134
  - 2142
  - 2144
  - 2033
  - 2036
  - 2038
  - 2042
  jupyter_server.serverapp.ServerApp.init_event_logger:
  - 2177
  - 2180
  - 2165
  - 2166
  - 2175
  jupyter_server.serverapp.ServerApp.init_httpserver:
  - 2565
  - 2569
  - 2577
  - 2586
  - 2587
  - 2588
  jupyter_server.serverapp.ServerApp.init_ioloop:
  - 3112
  - 3113
  jupyter_server.serverapp.ServerApp.init_logging:
  - 2162
  - 2155
  - 2149
  - 2159
  jupyter_server.serverapp.ServerApp.init_mime_overrides:
  - 2514
  - 2516
  - 2518
  - 2519
  - 2521
  jupyter_server.serverapp.ServerApp.init_resources:
  - 2287
  - 2288
  - 2289
  - 2294
  - 2297
  - 2298
  - 2300
  - 2303
  jupyter_server.serverapp.ServerApp.init_server_extensions:
  - 2495
  - 2485
  - 2494
  - 2493
  jupyter_server.serverapp.ServerApp.init_shutdown_no_activity:
  - 2542
  - 2543
  - 2544
  - 2548
  - 2549
  jupyter_server.serverapp.ServerApp.init_signal:
  - 2375
  - 2376
  - 2377
  - 2379
  - 2381
  - 2382
  - 2383
  - 2385
  - 2386
  - 2388
  jupyter_server.serverapp.ServerApp.init_webapp:
  - 2183
  - 2186
  - 2187
  - 2198
  - 2202
  - 2203
  - 2206
  - 2207
  - 2208
  - 2211
  - 2216
  - 2218
  - 2222
  - 2223
  - 2226
  - 2228
  - 2229
  - 2235
  - 2237
  - 2258
  - 2260
  - 2262
  - 2264
  - 2274
  - 2275
  - 2277
  - 2278
  - 2280
  - 2282
  jupyter_server.serverapp.ServerApp.initialize:
  - 2707
  - 2724
  - 2727
  - 2728
  - 2732
  - 2736
  - 2737
  - 2738
  - 2739
  - 2740
  - 2744
  - 2748
  - 2751
  - 2754
  - 2755
  - 2756
  - 2757
  - 2758
  - 2759
  - 2760
  - 2761
  - 2762
  - 2763
  jupyter_server.serverapp.ServerApp.launch_browser:
  - 2976
  - 2979
  - 2985
  - 2965
  - 2971
  - 2973
  jupyter_server.serverapp.ServerApp.launch_browser.target:
  - 2983
  jupyter_server.serverapp.ServerApp.load_server_extensions:
  - 2505
  - 2498
  jupyter_server.serverapp.ServerApp.local_url:
  - 2355
  - 2357
  - 2358
  - 2359
  jupyter_server.serverapp.ServerApp.parse_command_line:
  - 2017
  - 2018
  - 2019
  - 2020
  - 2021
  - 2025
  - 2026
  - 2028
  - 2030
  - 2012
  - 2013
  - 2015
  jupyter_server.serverapp.ServerApp.public_url:
  - 2342
  - 2344
  - 2346
  - 2348
  - 2350
  - 2351
  jupyter_server.serverapp.ServerApp.remove_browser_open_file:
  - 2936
  - 2938
  - 2931
  jupyter_server.serverapp.ServerApp.remove_browser_open_files:
  - 2923
  - 2925
  - 2918
  - 2927
  jupyter_server.serverapp.ServerApp.remove_server_info_file:
  - 2840
  - 2833
  - 2838
  jupyter_server.serverapp.ServerApp.running_server_info:
  - 2792
  - 2793
  - 2794
  - 2795
  - 2796
  - 2800
  - 2801
  - 2803
  jupyter_server.serverapp.ServerApp.server_info:
  - 2818
  - 2819
  - 2820
  - 2809
  - 2815
  jupyter_server.serverapp.ServerApp.shutdown_no_activity:
  - 2529
  - 2532
  - 2533
  - 2534
  - 2535
  - 2539
  - 2524
  - 2526
  jupyter_server.serverapp.ServerApp.start:
  - 3120
  - 3121
  - 3116
  jupyter_server.serverapp.ServerApp.start_app:
  - 2988
  - 2989
  - 2991
  - 2994
  - 2997
  - 2998
  - 2999
  - 3001
  - 3004
  - 3005
  - 3006
  - 3007
  - 3011
  - 3012
  - 3013
  - 3021
  - 3023
  - 3024
  - 3027
  - 3028
  - 3030
  - 3033
  - 3034
  - 3035
  - 3049
  - 3052
  - 3068
  jupyter_server.serverapp.ServerApp.start_ioloop:
  - 3104
  - 3105
  - 3107
  - 3109
  - 3100
  - 3101
  jupyter_server.serverapp.ServerApp.starter_app:
  - 2008
  jupyter_server.serverapp.ServerApp.static_file_path:
  - 1549
  jupyter_server.serverapp.ServerApp.stop:
  - 3136
  - 3139
  - 3140
  - 3142
  - 3130
  - 3133
  - 3135
  jupyter_server.serverapp.ServerApp.template_file_path:
  - 1570
  jupyter_server.serverapp.ServerApp.write_browser_open_file:
  - 2912
  - 2915
  - 2914
  - 2907
  jupyter_server.serverapp.ServerApp.write_browser_open_files:
  - 2886
  - 2891
  - 2895
  - 2897
  - 2899
  - 2900
  - 2903
  - 2904
  jupyter_server.serverapp.ServerApp.write_server_info_file:
  - 2825
  - 2827
  - 2828
  - 2830
  jupyter_server.serverapp.ServerWebApplication:
  - 232
  jupyter_server.serverapp.ServerWebApplication.__init__:
  - 257
  - 258
  - 259
  - 296
  - 265
  - 267
  - 268
  - 299
  - 300
  - 302
  - 305
  - 274
  - 307
  - 276
  - 308
  - 316
  jupyter_server.serverapp.ServerWebApplication._check_handler_auth:
  - 554
  - 555
  - 557
  - 558
  - 559
  - 560
  jupyter_server.serverapp.ServerWebApplication.add_handlers:
  - 320
  - 321
  - 326
  - 328
  - 331
  - 333
  - 339
  jupyter_server.serverapp.ServerWebApplication.init_handlers:
  - 519
  - 523
  - 524
  - 525
  - 526
  - 528
  - 474
  - 478
  - 479
  - 483
  - 484
  - 486
  - 487
  - 488
  - 499
  - 501
  - 504
  - 506
  - 508
  jupyter_server.serverapp.ServerWebApplication.init_settings:
  - 386
  - 388
  - 394
  - 396
  - 399
  - 400
  - 402
  - 413
  - 428
  - 466
  - 468
  - 363
  - 364
  - 368
  - 370
  - 373
  - 375
  - 376
  - 378
  - 380
  - 381
  - 383
  jupyter_server.serverapp.ServerWebApplication.last_activity:
  - 544
  - 545
  - 547
  - 548
  - 532
  jupyter_server.serverapp._has_tornado_web_authenticated:
  - 577
  - 579
  - 580
  - 581
  - 567
  - 572
  - 574
  jupyter_server.serverapp.list_running_servers:
  - 3172
  - 3173
  - 3177
  - 3179
  - 3148
  - 3180
  - 3154
  - 3155
  - 3158
  - 3161
  - 3162
  - 3163
  - 3166
  jupyter_server.serverapp.load_handlers:
  - 221
  - 222
  jupyter_server.serverapp.random_ports:
  - 209
  - 214
  - 215
  - 216
  - 217
  jupyter_server.serverapp.shutdown_server:
  - 645
  - 646
  - 647
  - 648
  - 650
  - 652
  - 655
  - 656
  - 657
  - 660
  - 661
  - 662
  - 663
  - 665
  - 667
  - 668
  - 669
  - 607
  - 622
  - 623
  - 624
  - 625
  - 632
  - 634
  - 635
  - 636
  - 637
  jupyter_server.services.api.handlers:
  - 1
  jupyter_server.services.api.handlers.APISpecHandler:
  - 21
  jupyter_server.services.api.handlers.APISpecHandler.get:
  - 37
  - 38
  - 39
  jupyter_server.services.api.handlers.APISpecHandler.get_content_type:
  - 42
  jupyter_server.services.api.handlers.APISpecHandler.head:
  - 32
  jupyter_server.services.api.handlers.APISpecHandler.initialize:
  - 26
  - 27
  jupyter_server.services.api.handlers.APIStatusHandler:
  - 47
  jupyter_server.services.api.handlers.APIStatusHandler.get:
  - 66
  - 69
  - 55
  - 57
  - 58
  - 60
  - 61
  - 62
  jupyter_server.services.api.handlers.IdentityHandler:
  - 73
  jupyter_server.services.api.handlers.IdentityHandler.get:
  - 96
  - 97
  - 102
  - 103
  - 104
  - 106
  - 107
  - 77
  - 78
  - 109
  - 80
  - 82
  - 114
  - 85
  - 93
  - 94
  - 95
  jupyter_server.services.config.handlers:
  - 1
  jupyter_server.services.config.handlers.ConfigHandler:
  - 17
  jupyter_server.services.config.handlers.ConfigHandler.get:
  - 24
  - 25
  - 26
  jupyter_server.services.config.handlers.ConfigHandler.patch:
  - 40
  - 41
  - 42
  - 39
  jupyter_server.services.config.handlers.ConfigHandler.put:
  - 32
  - 33
  - 34
  - 31
  jupyter_server.services.config.manager:
  - 1
  jupyter_server.services.config.manager.ConfigManager:
  - 43
  - 45
  - 16
  - 49
  - 18
  - 51
  - 55
  - 57
  - 61
  jupyter_server.services.config.manager.ConfigManager._default_read_config_path:
  - 47
  jupyter_server.services.config.manager.ConfigManager._default_write_config_dir:
  - 53
  jupyter_server.services.config.manager.ConfigManager._default_write_config_manager:
  - 59
  jupyter_server.services.config.manager.ConfigManager._update_write_config_dir:
  - 63
  jupyter_server.services.config.manager.ConfigManager.get:
  - 25
  - 28
  - 29
  - 30
  jupyter_server.services.config.manager.ConfigManager.set:
  - 34
  - 35
  jupyter_server.services.config.manager.ConfigManager.update:
  - 38
  - 39
  jupyter_server.services.contents.checkpoints:
  - 1
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints:
  - 147
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.create_checkpoint:
  - 152
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.delete_all_checkpoints:
  - 177
  - 178
  - 179
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.delete_checkpoint:
  - 164
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.list_checkpoints:
  - 168
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.rename_all_checkpoints:
  - 172
  - 173
  - 174
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.rename_checkpoint:
  - 160
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints.restore_checkpoint:
  - 156
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin:
  - 183
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_checkpoint:
  - 192
  - 196
  - 197
  - 189
  - 191
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_file_checkpoint:
  - 219
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.create_notebook_checkpoint:
  - 226
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.get_file_checkpoint:
  - 233
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.get_notebook_checkpoint:
  - 246
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin.restore_checkpoint:
  - 206
  - 207
  - 209
  - 210
  - 211
  - 212
  - 215
  jupyter_server.services.contents.checkpoints.Checkpoints:
  - 12
  jupyter_server.services.contents.checkpoints.Checkpoints.create_checkpoint:
  - 25
  jupyter_server.services.contents.checkpoints.Checkpoints.delete_all_checkpoints:
  - 50
  - 51
  - 52
  jupyter_server.services.contents.checkpoints.Checkpoints.delete_checkpoint:
  - 37
  jupyter_server.services.contents.checkpoints.Checkpoints.list_checkpoints:
  - 41
  jupyter_server.services.contents.checkpoints.Checkpoints.rename_all_checkpoints:
  - 45
  - 46
  - 47
  jupyter_server.services.contents.checkpoints.Checkpoints.rename_checkpoint:
  - 33
  jupyter_server.services.contents.checkpoints.Checkpoints.restore_checkpoint:
  - 29
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin:
  - 56
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_checkpoint:
  - 78
  - 80
  - 81
  - 85
  - 86
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_file_checkpoint:
  - 107
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.create_notebook_checkpoint:
  - 114
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.get_file_checkpoint:
  - 121
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.get_notebook_checkpoint:
  - 134
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin.restore_checkpoint:
  - 96
  - 97
  - 98
  - 99
  - 100
  - 103
  - 95
  jupyter_server.services.contents.filecheckpoints:
  - 1
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.checkpoint_model:
  - 152
  - 150
  - 151
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.create_checkpoint:
  - 136
  - 138
  - 139
  - 140
  - 141
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.delete_checkpoint:
  - 174
  - 175
  - 176
  - 177
  - 178
  - 180
  - 181
  - 182
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.list_checkpoints:
  - 192
  - 195
  - 185
  - 189
  - 191
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.rename_checkpoint:
  - 161
  - 162
  - 163
  - 164
  - 165
  - 170
  - 171
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints.restore_checkpoint:
  - 144
  - 145
  - 146
  - 147
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints:
  - 265
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.create_file_checkpoint:
  - 271
  - 272
  - 275
  - 276
  - 277
  - 278
  - 281
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.create_notebook_checkpoint:
  - 288
  - 289
  - 290
  - 291
  - 294
  - 284
  - 285
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.get_file_checkpoint:
  - 320
  - 322
  - 314
  - 315
  - 316
  - 317
  - 319
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints.get_notebook_checkpoint:
  - 297
  - 298
  - 299
  - 300
  - 302
  - 303
  - 307
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints:
  - 25
  - 44
  - 33
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints._root_dir_default:
  - 48
  - 47
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_model:
  - 120
  - 121
  - 122
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.checkpoint_path:
  - 106
  - 107
  - 108
  - 109
  - 110
  - 112
  - 113
  - 114
  - 115
  - 116
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.create_checkpoint:
  - 53
  - 55
  - 56
  - 57
  - 58
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.delete_checkpoint:
  - 81
  - 82
  - 83
  - 84
  - 85
  - 87
  - 88
  - 89
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.list_checkpoints:
  - 96
  - 98
  - 99
  - 102
  - 92
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.rename_checkpoint:
  - 68
  - 69
  - 70
  - 71
  - 72
  - 77
  - 78
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints.restore_checkpoint:
  - 64
  - 61
  - 62
  - 63
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints:
  - 199
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.create_file_checkpoint:
  - 205
  - 206
  - 209
  - 210
  - 211
  - 212
  - 215
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.create_notebook_checkpoint:
  - 224
  - 225
  - 228
  - 218
  - 219
  - 222
  - 223
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.get_file_checkpoint:
  - 256
  - 248
  - 249
  - 250
  - 251
  - 253
  - 254
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints.get_notebook_checkpoint:
  - 231
  - 232
  - 233
  - 234
  - 236
  - 237
  - 241
  jupyter_server.services.contents.fileio:
  - 1
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin:
  - 435
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin._copy:
  - 440
  - 444
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_file:
  - 544
  - 551
  - 521
  - 553
  - 524
  - 525
  - 527
  - 531
  - 502
  - 536
  - 539
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin._read_notebook:
  - 480
  - 449
  - 450
  - 453
  - 454
  - 468
  - 470
  - 477
  - 478
  - 479
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_file:
  - 557
  - 558
  - 564
  - 565
  - 567
  - 568
  - 572
  - 573
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin._save_notebook:
  - 488
  - 489
  - 490
  - 487
  jupyter_server.services.contents.fileio.FileManagerMixin:
  - 199
  - 174
  - 191
  jupyter_server.services.contents.fileio.FileManagerMixin._copy:
  - 248
  - 244
  jupyter_server.services.contents.fileio.FileManagerMixin._get_hash:
  - 336
  - 352
  - 350
  - 351
  jupyter_server.services.contents.fileio.FileManagerMixin._get_os_path:
  - 269
  - 271
  - 273
  - 277
  - 251
  - 285
  jupyter_server.services.contents.fileio.FileManagerMixin._read_file:
  - 386
  - 357
  - 391
  - 394
  - 399
  - 406
  - 376
  - 409
  - 379
  - 380
  - 382
  jupyter_server.services.contents.fileio.FileManagerMixin._read_notebook:
  - 320
  - 321
  - 292
  - 293
  - 296
  - 309
  - 311
  - 318
  - 319
  jupyter_server.services.contents.fileio.FileManagerMixin._save_file:
  - 416
  - 422
  - 423
  - 425
  - 426
  - 430
  - 431
  - 415
  jupyter_server.services.contents.fileio.FileManagerMixin._save_notebook:
  - 328
  - 326
  - 327
  jupyter_server.services.contents.fileio.FileManagerMixin.atomic_writing:
  - 224
  - 214
  - 217
  - 219
  - 220
  - 221
  - 223
  jupyter_server.services.contents.fileio.FileManagerMixin.open:
  - 208
  - 209
  - 210
  jupyter_server.services.contents.fileio.FileManagerMixin.perm_to_403:
  - 228
  - 230
  - 232
  - 236
  - 238
  jupyter_server.services.contents.fileio._simple_writing:
  - 160
  - 162
  - 165
  - 167
  - 136
  - 170
  - 154
  - 155
  - 157
  - 159
  jupyter_server.services.contents.fileio.async_copy2_safe:
  - 51
  - 55
  - 57
  - 59
  - 60
  jupyter_server.services.contents.fileio.async_replace_file:
  - 33
  - 34
  jupyter_server.services.contents.fileio.atomic_writing:
  - 130
  - 131
  - 101
  - 102
  - 104
  - 106
  - 107
  - 109
  - 79
  - 111
  - 112
  - 114
  - 117
  - 120
  - 121
  - 125
  - 126
  - 127
  jupyter_server.services.contents.fileio.copy2_safe:
  - 38
  - 42
  - 44
  - 46
  - 47
  jupyter_server.services.contents.fileio.path_to_intermediate:
  - 64
  - 67
  - 68
  jupyter_server.services.contents.fileio.path_to_invalid:
  - 72
  - 73
  - 74
  jupyter_server.services.contents.fileio.replace_file:
  - 28
  - 29
  jupyter_server.services.contents.filemanager:
  - 1
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager:
  - 744
  - 746
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._copy_dir:
  - 1152
  - 1153
  - 1154
  - 1155
  - 1157
  - 1147
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._dir_model:
  - 768
  - 770
  - 771
  - 772
  - 774
  - 776
  - 780
  - 783
  - 784
  - 785
  - 786
  - 789
  - 790
  - 791
  - 792
  - 794
  - 798
  - 799
  - 801
  - 804
  - 805
  - 751
  - 755
  - 759
  - 761
  - 762
  - 765
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._file_model:
  - 834
  - 835
  - 836
  - 843
  - 816
  - 848
  - 849
  - 850
  - 851
  - 827
  - 830
  - 831
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._get_dir_size:
  - 1185
  - 1189
  - 1194
  - 1198
  - 1199
  - 1200
  - 1202
  - 1204
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._human_readable_size:
  - 1219
  - 1212
  - 1215
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._notebook_model:
  - 866
  - 868
  - 871
  - 874
  - 876
  - 877
  - 878
  - 879
  - 856
  - 861
  - 863
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager._save_directory:
  - 933
  - 934
  - 936
  - 937
  - 938
  - 939
  - 942
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.check_folder_size:
  - 1174
  - 1172
  - 1166
  - 1175
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.copy:
  - 1120
  - 1122
  - 1123
  - 1126
  - 1129
  - 1130
  - 1132
  - 1101
  - 1133
  - 1134
  - 1137
  - 1109
  - 1110
  - 1111
  - 1112
  - 1114
  - 1115
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file:
  - 1026
  - 1028
  - 1030
  - 1035
  - 1037
  - 1039
  - 1040
  - 1041
  - 1043
  - 1044
  - 1045
  - 994
  - 995
  - 996
  - 999
  - 1002
  - 1016
  - 1017
  - 1020
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.delete_file.is_non_empty_dir:
  - 1009
  - 1010
  - 1011
  - 1006
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.dir_exists:
  - 1076
  - 1077
  - 1078
  - 1079
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.file_exists:
  - 1082
  - 1083
  - 1084
  - 1085
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get:
  - 929
  - 907
  - 909
  - 912
  - 913
  - 914
  - 884
  - 920
  - 921
  - 922
  - 924
  - 926
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.get_kernel_path:
  - 1097
  - 1094
  - 1095
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.is_hidden:
  - 1088
  - 1089
  - 1090
  - 1091
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.rename_file:
  - 1057
  - 1058
  - 1063
  - 1068
  - 1069
  - 1048
  - 1049
  - 1050
  - 1051
  - 1054
  - 1055
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager.save:
  - 945
  - 946
  - 948
  - 950
  - 952
  - 955
  - 956
  - 960
  - 961
  - 962
  - 963
  - 965
  - 966
  - 967
  - 969
  - 970
  - 971
  - 977
  - 981
  - 982
  - 983
  - 985
  - 986
  - 989
  - 990
  jupyter_server.services.contents.filemanager.FileContentsManager:
  - 126
  - 100
  - 70
  - 104
  - 48
  - 112
  - 50
  - 52
  - 54
  - 122
  - 60
  - 94
  jupyter_server.services.contents.filemanager.FileContentsManager._base_model:
  - 257
  - 259
  - 260
  - 229
  - 230
  - 231
  - 264
  - 235
  - 236
  - 272
  - 243
  - 247
  - 253
  - 254
  jupyter_server.services.contents.filemanager.FileContentsManager._copy_dir:
  - 672
  - 674
  - 664
  - 669
  - 670
  - 671
  jupyter_server.services.contents.filemanager.FileContentsManager._default_preferred_dir:
  - 72
  - 76
  - 81
  - 82
  - 88
  - 89
  jupyter_server.services.contents.filemanager.FileContentsManager._default_root_dir:
  - 56
  - 57
  jupyter_server.services.contents.filemanager.FileContentsManager._dir_model:
  - 279
  - 283
  - 287
  - 289
  - 290
  - 293
  - 296
  - 298
  - 299
  - 301
  - 303
  - 307
  - 310
  - 311
  - 312
  - 313
  - 316
  - 317
  - 318
  - 319
  - 321
  - 325
  - 326
  - 328
  - 331
  - 332
  jupyter_server.services.contents.filemanager.FileContentsManager._file_model:
  - 354
  - 357
  - 358
  - 361
  - 362
  - 363
  - 370
  - 343
  - 376
  - 377
  - 378
  - 375
  jupyter_server.services.contents.filemanager.FileContentsManager._get_dir_size:
  - 706
  - 708
  - 714
  - 720
  - 721
  - 723
  - 702
  jupyter_server.services.contents.filemanager.FileContentsManager._human_readable_size:
  - 738
  - 731
  - 734
  jupyter_server.services.contents.filemanager.FileContentsManager._notebook_model:
  - 390
  - 392
  - 395
  - 397
  - 400
  - 403
  - 405
  - 406
  - 407
  - 408
  - 383
  jupyter_server.services.contents.filemanager.FileContentsManager._save_directory:
  - 467
  - 468
  - 470
  - 471
  - 472
  - 473
  - 476
  jupyter_server.services.contents.filemanager.FileContentsManager._validate_preferred_dir:
  - 97
  - 98
  jupyter_server.services.contents.filemanager.FileContentsManager._validate_root_dir:
  - 65
  - 66
  - 63
  jupyter_server.services.contents.filemanager.FileContentsManager.check_folder_size:
  - 688
  - 690
  - 683
  - 692
  jupyter_server.services.contents.filemanager.FileContentsManager.copy:
  - 641
  - 642
  - 645
  - 648
  - 649
  - 651
  - 620
  - 652
  - 653
  - 656
  - 628
  - 629
  - 630
  - 631
  - 633
  - 634
  - 639
  jupyter_server.services.contents.filemanager.FileContentsManager.delete_file:
  - 576
  - 577
  - 578
  - 574
  - 553
  - 554
  - 568
  - 559
  - 561
  - 531
  - 532
  - 533
  - 563
  - 536
  - 570
  - 540
  - 573
  - 572
  jupyter_server.services.contents.filemanager.FileContentsManager.delete_file.is_non_empty_dir:
  - 544
  - 547
  - 548
  jupyter_server.services.contents.filemanager.FileContentsManager.dir_exists:
  - 206
  - 205
  - 190
  - 207
  jupyter_server.services.contents.filemanager.FileContentsManager.exists:
  - 224
  - 225
  - 210
  - 226
  jupyter_server.services.contents.filemanager.FileContentsManager.file_exists:
  - 185
  - 186
  - 171
  - 187
  jupyter_server.services.contents.filemanager.FileContentsManager.get:
  - 448
  - 454
  - 455
  - 456
  - 458
  - 460
  - 463
  - 436
  - 437
  - 440
  - 443
  - 444
  - 413
  - 447
  jupyter_server.services.contents.filemanager.FileContentsManager.get_kernel_path:
  - 616
  - 613
  - 614
  jupyter_server.services.contents.filemanager.FileContentsManager.info_string:
  - 609
  - 610
  jupyter_server.services.contents.filemanager.FileContentsManager.is_hidden:
  - 144
  - 145
  - 146
  - 131
  jupyter_server.services.contents.filemanager.FileContentsManager.is_writable:
  - 162
  - 163
  - 165
  - 167
  - 149
  jupyter_server.services.contents.filemanager.FileContentsManager.rename_file:
  - 581
  - 582
  - 583
  - 584
  - 587
  - 588
  - 590
  - 591
  - 596
  - 601
  - 602
  jupyter_server.services.contents.filemanager.FileContentsManager.save:
  - 514
  - 518
  - 519
  - 520
  - 522
  - 523
  - 526
  - 527
  - 479
  - 480
  - 482
  - 484
  - 486
  - 488
  - 490
  - 493
  - 497
  - 498
  - 499
  - 500
  - 502
  - 503
  - 504
  - 506
  - 507
  - 508
  jupyter_server.services.contents.handlers:
  - 1
  jupyter_server.services.contents.handlers.CheckpointsHandler:
  - 343
  jupyter_server.services.contents.handlers.CheckpointsHandler.get:
  - 352
  - 348
  - 350
  - 351
  jupyter_server.services.contents.handlers.CheckpointsHandler.post:
  - 357
  - 359
  - 360
  - 361
  - 364
  - 366
  - 368
  - 369
  - 370
  jupyter_server.services.contents.handlers.ContentsAPIHandler:
  - 84
  jupyter_server.services.contents.handlers.ContentsHandler:
  - 90
  jupyter_server.services.contents.handlers.ContentsHandler._copy:
  - 211
  - 212
  - 213
  - 218
  - 219
  - 220
  - 221
  jupyter_server.services.contents.handlers.ContentsHandler._finish_error:
  - 112
  - 113
  - 114
  - 115
  jupyter_server.services.contents.handlers.ContentsHandler._finish_model:
  - 103
  - 104
  - 105
  - 106
  - 107
  - 108
  - 109
  jupyter_server.services.contents.handlers.ContentsHandler._new_untitled:
  - 232
  - 233
  - 234
  - 235
  - 237
  - 238
  - 239
  jupyter_server.services.contents.handlers.ContentsHandler._save:
  - 242
  - 243
  - 244
  - 245
  - 246
  - 247
  - 248
  jupyter_server.services.contents.handlers.ContentsHandler._upload:
  - 224
  - 225
  - 226
  - 227
  - 228
  - 229
  jupyter_server.services.contents.handlers.ContentsHandler.delete:
  - 330
  - 333
  - 336
  - 337
  - 338
  - 339
  jupyter_server.services.contents.handlers.ContentsHandler.get:
  - 128
  - 129
  - 133
  - 134
  - 136
  - 137
  - 139
  - 141
  - 142
  - 146
  - 148
  - 149
  - 156
  - 157
  - 169
  - 170
  - 177
  - 178
  - 181
  - 182
  - 120
  jupyter_server.services.contents.handlers.ContentsHandler.location_url:
  - 100
  - 93
  jupyter_server.services.contents.handlers.ContentsHandler.patch:
  - 192
  - 193
  - 196
  - 197
  - 201
  - 206
  - 207
  - 208
  - 190
  jupyter_server.services.contents.handlers.ContentsHandler.post:
  - 289
  - 266
  - 267
  - 270
  - 271
  - 272
  - 273
  - 274
  - 275
  - 276
  - 280
  - 282
  - 283
  - 284
  - 253
  - 287
  jupyter_server.services.contents.handlers.ContentsHandler.put:
  - 320
  - 321
  - 323
  - 325
  - 294
  - 304
  - 307
  - 308
  - 310
  - 311
  - 312
  - 316
  - 317
  jupyter_server.services.contents.handlers.ModifyCheckpointsHandler:
  - 374
  jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.delete:
  - 392
  - 388
  - 390
  - 391
  jupyter_server.services.contents.handlers.ModifyCheckpointsHandler.post:
  - 379
  - 381
  - 382
  - 383
  jupyter_server.services.contents.handlers.NotebooksRedirectHandler:
  - 396
  jupyter_server.services.contents.handlers.NotebooksRedirectHandler.get:
  - 408
  - 409
  - 410
  jupyter_server.services.contents.handlers.TrustNotebooksHandler:
  - 416
  - 419
  jupyter_server.services.contents.handlers.TrustNotebooksHandler.post:
  - 424
  - 425
  - 421
  - 423
  jupyter_server.services.contents.handlers._validate_keys:
  - 32
  - 41
  - 34
  - 28
  jupyter_server.services.contents.handlers.validate_model:
  - 68
  - 69
  - 70
  - 71
  - 78
  - 79
  - 80
  - 49
  jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager:
  - 86
  jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager._save_large_file:
  - 136
  - 137
  - 143
  - 144
  - 146
  - 147
  - 151
  - 152
  - 153
  - 154
  - 155
  jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager.save:
  - 128
  - 130
  - 133
  - 89
  - 90
  - 91
  - 92
  - 94
  - 95
  - 97
  - 99
  - 104
  - 107
  - 108
  - 109
  - 111
  - 114
  - 115
  - 117
  - 121
  - 124
  - 127
  jupyter_server.services.contents.largefilemanager.LargeFileManager:
  - 14
  jupyter_server.services.contents.largefilemanager.LargeFileManager._save_large_file:
  - 64
  - 70
  - 71
  - 73
  - 74
  - 78
  - 79
  - 80
  - 81
  - 82
  - 63
  jupyter_server.services.contents.largefilemanager.LargeFileManager.save:
  - 17
  - 18
  - 19
  - 20
  - 22
  - 23
  - 25
  - 27
  - 32
  - 35
  - 36
  - 37
  - 39
  - 42
  - 43
  - 45
  - 49
  - 52
  - 55
  - 56
  - 57
  - 60
  jupyter_server.services.contents.manager:
  - 1
  - 42
  jupyter_server.services.contents.manager.AsyncContentsManager:
  - 769
  - 770
  - 771
  - 773
  - 777
  - 767
  jupyter_server.services.contents.manager.AsyncContentsManager._default_checkpoints:
  - 775
  jupyter_server.services.contents.manager.AsyncContentsManager.copy:
  - 1032
  - 1034
  - 1035
  - 1037
  - 1038
  - 1043
  - 1044
  - 1045
  - 1046
  - 1050
  - 1052
  - 1053
  - 1054
  - 1056
  - 1057
  - 1058
  - 1059
  - 1064
  - 1065
  - 1023
  jupyter_server.services.contents.manager.AsyncContentsManager.create_checkpoint:
  - 1084
  - 1085
  jupyter_server.services.contents.manager.AsyncContentsManager.delete:
  - 896
  - 897
  - 900
  - 901
  - 902
  - 895
  jupyter_server.services.contents.manager.AsyncContentsManager.delete_checkpoint:
  - 1098
  - 1099
  jupyter_server.services.contents.manager.AsyncContentsManager.delete_file:
  - 884
  jupyter_server.services.contents.manager.AsyncContentsManager.dir_exists:
  - 788
  jupyter_server.services.contents.manager.AsyncContentsManager.exists:
  - 857
  - 858
  - 843
  jupyter_server.services.contents.manager.AsyncContentsManager.file_exists:
  - 824
  jupyter_server.services.contents.manager.AsyncContentsManager.get:
  - 862
  jupyter_server.services.contents.manager.AsyncContentsManager.increment_filename:
  - 941
  - 942
  - 943
  - 944
  - 948
  - 951
  - 952
  - 924
  jupyter_server.services.contents.manager.AsyncContentsManager.is_hidden:
  - 807
  jupyter_server.services.contents.manager.AsyncContentsManager.list_checkpoints:
  - 1094
  - 1095
  jupyter_server.services.contents.manager.AsyncContentsManager.new:
  - 996
  - 1000
  - 1001
  - 1004
  - 1005
  - 1007
  - 1010
  - 1011
  - 1012
  - 1019
  jupyter_server.services.contents.manager.AsyncContentsManager.new_untitled:
  - 993
  - 965
  - 966
  - 967
  - 971
  - 974
  - 975
  - 977
  - 980
  - 983
  - 986
  - 957
  - 991
  jupyter_server.services.contents.manager.AsyncContentsManager.rename:
  - 905
  - 906
  - 907
  - 908
  jupyter_server.services.contents.manager.AsyncContentsManager.rename_file:
  - 888
  jupyter_server.services.contents.manager.AsyncContentsManager.restore_checkpoint:
  - 1088
  - 1091
  jupyter_server.services.contents.manager.AsyncContentsManager.save:
  - 874
  jupyter_server.services.contents.manager.AsyncContentsManager.trust_notebook:
  - 1069
  - 1076
  - 1078
  - 1079
  - 1080
  jupyter_server.services.contents.manager.AsyncContentsManager.update:
  - 911
  - 916
  - 917
  - 918
  - 919
  - 920
  jupyter_server.services.contents.manager.ContentsManager:
  - 265
  - 266
  - 139
  - 140
  - 145
  - 149
  - 155
  - 46
  - 178
  - 65
  - 193
  - 67
  - 325
  - 326
  - 327
  - 329
  - 333
  - 82
  - 84
  - 340
  - 214
  - 87
  - 92
  - 357
  - 114
  - 116
  - 118
  - 122
  - 123
  jupyter_server.services.contents.manager.ContentsManager._default_checkpoints:
  - 331
  jupyter_server.services.contents.manager.ContentsManager._default_event_logger:
  - 73
  - 75
  - 69
  jupyter_server.services.contents.manager.ContentsManager._notary_default:
  - 120
  jupyter_server.services.contents.manager.ContentsManager._validate_post_save_hook:
  - 217
  - 218
  - 219
  - 222
  - 223
  jupyter_server.services.contents.manager.ContentsManager._validate_pre_save_hook:
  - 181
  - 182
  - 183
  - 186
  - 187
  jupyter_server.services.contents.manager.ContentsManager._validate_preferred_dir:
  - 98
  - 99
  - 101
  - 104
  - 106
  - 108
  - 109
  - 94
  jupyter_server.services.contents.manager.ContentsManager.check_and_sign:
  - 722
  - 723
  - 725
  - 711
  jupyter_server.services.contents.manager.ContentsManager.copy:
  - 647
  - 656
  - 658
  - 659
  - 661
  - 662
  - 667
  - 668
  - 669
  - 670
  - 674
  - 676
  - 677
  - 678
  - 680
  - 681
  - 682
  - 683
  - 688
  - 689
  jupyter_server.services.contents.manager.ContentsManager.create_checkpoint:
  - 750
  - 751
  jupyter_server.services.contents.manager.ContentsManager.delete:
  - 485
  - 486
  - 487
  - 489
  - 490
  - 491
  jupyter_server.services.contents.manager.ContentsManager.delete_checkpoint:
  - 763
  jupyter_server.services.contents.manager.ContentsManager.delete_file:
  - 474
  jupyter_server.services.contents.manager.ContentsManager.dir_exists:
  - 380
  jupyter_server.services.contents.manager.ContentsManager.emit:
  - 80
  - 79
  jupyter_server.services.contents.manager.ContentsManager.exists:
  - 449
  - 435
  jupyter_server.services.contents.manager.ContentsManager.file_exists:
  - 416
  jupyter_server.services.contents.manager.ContentsManager.get:
  - 452
  jupyter_server.services.contents.manager.ContentsManager.get_extra_handlers:
  - 372
  - 373
  - 367
  jupyter_server.services.contents.manager.ContentsManager.get_kernel_path:
  - 517
  jupyter_server.services.contents.manager.ContentsManager.increment_filename:
  - 546
  - 547
  - 548
  - 549
  - 553
  - 556
  - 529
  jupyter_server.services.contents.manager.ContentsManager.info_string:
  - 513
  jupyter_server.services.contents.manager.ContentsManager.is_hidden:
  - 399
  jupyter_server.services.contents.manager.ContentsManager.list_checkpoints:
  - 760
  jupyter_server.services.contents.manager.ContentsManager.log_info:
  - 693
  - 694
  jupyter_server.services.contents.manager.ContentsManager.mark_trusted_cells:
  - 739
  - 740
  - 741
  - 742
  - 728
  jupyter_server.services.contents.manager.ContentsManager.new:
  - 643
  - 620
  - 624
  - 625
  - 628
  - 629
  - 631
  - 634
  - 635
  - 636
  jupyter_server.services.contents.manager.ContentsManager.new_untitled:
  - 610
  - 582
  - 615
  - 617
  - 590
  - 591
  - 595
  - 598
  - 599
  - 601
  - 604
  - 607
  jupyter_server.services.contents.manager.ContentsManager.register_post_save_hook:
  - 278
  - 279
  - 280
  - 281
  - 284
  jupyter_server.services.contents.manager.ContentsManager.register_pre_save_hook:
  - 269
  - 270
  - 271
  - 272
  - 275
  jupyter_server.services.contents.manager.ContentsManager.rename:
  - 496
  - 497
  - 494
  - 495
  jupyter_server.services.contents.manager.ContentsManager.rename_file:
  - 478
  jupyter_server.services.contents.manager.ContentsManager.restore_checkpoint:
  - 754
  - 757
  jupyter_server.services.contents.manager.ContentsManager.run_post_save_hook:
  - 256
  - 258
  - 259
  - 261
  - 250
  - 251
  jupyter_server.services.contents.manager.ContentsManager.run_post_save_hooks:
  - 309
  - 312
  - 314
  - 315
  - 317
  jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hook:
  - 230
  - 231
  - 236
  - 238
  - 239
  - 247
  jupyter_server.services.contents.manager.ContentsManager.run_pre_save_hooks:
  - 290
  - 292
  - 293
  - 301
  - 287
  jupyter_server.services.contents.manager.ContentsManager.save:
  - 464
  jupyter_server.services.contents.manager.ContentsManager.should_list:
  - 745
  - 746
  jupyter_server.services.contents.manager.ContentsManager.trust_notebook:
  - 704
  - 706
  - 707
  - 708
  - 697
  jupyter_server.services.contents.manager.ContentsManager.update:
  - 500
  - 505
  - 506
  - 507
  - 508
  - 509
  jupyter_server.services.contents.manager.ContentsManager.validate_notebook_model:
  - 576
  - 577
  - 561
  - 568
  - 569
  - 570
  - 573
  - 575
  jupyter_server.services.events.handlers:
  - 1
  - 23
  jupyter_server.services.events.handlers.EventHandler:
  - 101
  jupyter_server.services.events.handlers.EventHandler.post:
  - 108
  - 109
  - 110
  - 114
  - 115
  - 116
  - 117
  - 118
  - 120
  - 121
  jupyter_server.services.events.handlers.SubscribeWebsocket:
  - 31
  jupyter_server.services.events.handlers.SubscribeWebsocket.event_listener:
  - 59
  - 60
  - 61
  jupyter_server.services.events.handlers.SubscribeWebsocket.get:
  - 50
  - 51
  - 52
  - 53
  - 54
  jupyter_server.services.events.handlers.SubscribeWebsocket.on_close:
  - 70
  - 71
  jupyter_server.services.events.handlers.SubscribeWebsocket.open:
  - 64
  - 67
  jupyter_server.services.events.handlers.SubscribeWebsocket.pre_get:
  - 42
  - 43
  - 36
  - 45
  jupyter_server.services.events.handlers.get_timestamp:
  - 83
  - 85
  - 86
  jupyter_server.services.events.handlers.validate_model:
  - 75
  - 77
  - 78
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC:
  - 6
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.connect:
  - 17
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.disconnect:
  - 21
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.handle_incoming_message:
  - 25
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC.handle_outgoing_message:
  - 29
  jupyter_server.services.kernels.connection.base:
  - 1
  - 181
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection:
  - 162
  - 115
  - 117
  - 150
  - 152
  - 121
  - 156
  - 158
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection._default_session:
  - 160
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.connect:
  - 165
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.disconnect:
  - 169
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.handle_incoming_message:
  - 173
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.handle_outgoing_message:
  - 177
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.kernel_id:
  - 142
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.kernel_manager:
  - 132
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.multi_kernel_manager:
  - 137
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection.session_id:
  - 147
  jupyter_server.services.kernels.connection.base.deserialize_binary_message:
  - 67
  - 68
  - 69
  - 71
  - 72
  - 73
  - 74
  - 75
  - 54
  jupyter_server.services.kernels.connection.base.deserialize_msg_from_ws_v1:
  - 104
  - 105
  - 107
  - 109
  - 110
  jupyter_server.services.kernels.connection.base.serialize_binary_message:
  - 40
  - 41
  - 42
  - 43
  - 44
  - 46
  - 47
  - 48
  - 49
  - 50
  - 25
  jupyter_server.services.kernels.connection.base.serialize_msg_to_ws_v1:
  - 96
  - 97
  - 98
  - 99
  - 81
  - 82
  - 84
  - 85
  - 86
  - 87
  - 91
  - 93
  - 94
  - 95
  jupyter_server.services.kernels.connection.channels:
  - 1
  - 809
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection:
  - 128
  - 132
  - 49
  - 51
  - 54
  - 61
  - 64
  - 71
  - 74
  - 81
  - 84
  - 90
  - 101
  - 106
  - 107
  - 109
  - 111
  - 116
  - 118
  - 123
  - 125
  - 126
  - 127
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._default_close_future:
  - 120
  - 121
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._default_kernel_info_future:
  - 113
  - 114
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._finish_kernel_info:
  - 623
  - 628
  - 629
  - 630
  - 631
  - 634
  - 635
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._handle_kernel_info_reply:
  - 611
  - 612
  - 613
  - 615
  - 618
  - 619
  - 598
  - 602
  - 604
  - 606
  - 607
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._limit_rate:
  - 653
  - 654
  - 657
  - 660
  - 661
  - 662
  - 671
  - 673
  - 674
  - 676
  - 687
  - 692
  - 696
  - 697
  - 700
  - 701
  - 703
  - 706
  - 707
  - 723
  - 725
  - 726
  - 729
  - 730
  - 732
  - 735
  - 736
  - 752
  - 754
  - 755
  - 758
  - 762
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_error:
  - 800
  - 801
  - 805
  - 806
  - 794
  - 795
  - 798
  - 799
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._on_zmq_reply:
  - 553
  - 556
  - 557
  - 558
  - 560
  - 561
  - 562
  - 563
  - 566
  - 568
  - 571
  - 573
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._register_session:
  - 290
  - 276
  - 283
  - 284
  - 285
  - 286
  - 287
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._reserialize_reply:
  - 544
  - 546
  - 547
  - 550
  - 528
  - 538
  - 542
  - 543
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection._send_status_message:
  - 768
  - 769
  - 770
  - 774
  - 775
  - 776
  - 777
  - 778
  - 781
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.close:
  - 396
  - 397
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.close_all:
  - 136
  - 137
  - 138
  - 139
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect:
  - 391
  - 392
  - 336
  - 337
  - 340
  - 341
  - 342
  - 343
  - 346
  - 351
  - 361
  - 364
  - 365
  - 370
  - 371
  - 376
  - 377
  - 378
  - 379
  - 382
  - 383
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect.replay:
  - 355
  - 356
  - 357
  - 359
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.connect.subscribe:
  - 388
  - 389
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.create_stream:
  - 153
  - 154
  - 155
  - 151
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.disconnect:
  - 419
  - 440
  - 423
  - 426
  - 427
  - 441
  - 400
  - 401
  - 433
  - 403
  - 404
  - 434
  - 406
  - 407
  - 408
  - 435
  - 436
  - 412
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.get_part:
  - 524
  - 517
  - 518
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.handle_incoming_message:
  - 446
  - 448
  - 450
  - 453
  - 454
  - 459
  - 460
  - 462
  - 464
  - 466
  - 467
  - 469
  - 470
  - 474
  - 475
  - 477
  - 478
  - 483
  - 485
  - 486
  - 488
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.handle_outgoing_message:
  - 512
  - 514
  - 491
  - 493
  - 495
  - 498
  - 500
  - 503
  - 506
  - 508
  - 511
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge:
  - 267
  - 270
  - 272
  - 273
  - 159
  - 172
  - 173
  - 174
  - 175
  - 176
  - 179
  - 182
  - 186
  - 187
  - 188
  - 208
  - 232
  - 233
  - 234
  - 235
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.cleanup:
  - 199
  - 200
  - 201
  - 202
  - 203
  - 204
  - 205
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.finish:
  - 194
  - 195
  - 196
  - 191
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.nudge:
  - 256
  - 259
  - 261
  - 262
  - 263
  - 265
  - 239
  - 242
  - 243
  - 244
  - 248
  - 249
  - 250
  - 254
  - 255
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_control_reply:
  - 218
  - 219
  - 220
  - 221
  - 222
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_iopub:
  - 225
  - 226
  - 227
  - 228
  - 229
  - 230
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.nudge.on_shell_reply:
  - 211
  - 212
  - 213
  - 214
  - 215
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.on_kernel_restarted:
  - 784
  - 785
  - 786
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.on_restart_failed:
  - 789
  - 790
  - 791
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.prepare:
  - 321
  - 295
  - 297
  - 330
  - 331
  - 333
  - 302
  - 304
  - 305
  - 307
  - 310
  - 313
  - 314
  - 315
  - 316
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.prepare.give_up:
  - 328
  - 324
  - 325
  - 327
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.request_kernel_info:
  - 576
  - 581
  - 584
  - 585
  - 587
  - 588
  - 592
  - 593
  - 594
  - 595
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.request_kernel_info.<lambda1>:
  - 594
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.subprotocol:
  - 143
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_message:
  - 94
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection.write_stderr:
  - 640
  - 645
  - 646
  - 647
  - 650
  - 638
  - 639
  jupyter_server.services.kernels.connection.channels._ensure_future:
  - 40
  - 42
  - 43
  jupyter_server.services.kernels.handlers:
  - 1
  jupyter_server.services.kernels.handlers.KernelActionHandler:
  - 89
  jupyter_server.services.kernels.handlers.KernelActionHandler.post:
  - 96
  - 97
  - 98
  - 99
  - 101
  - 104
  - 105
  - 106
  - 108
  - 109
  - 110
  - 94
  jupyter_server.services.kernels.handlers.KernelHandler:
  - 68
  jupyter_server.services.kernels.handlers.KernelHandler.delete:
  - 81
  - 83
  - 84
  - 85
  jupyter_server.services.kernels.handlers.KernelHandler.get:
  - 73
  - 75
  - 76
  jupyter_server.services.kernels.handlers.KernelsAPIHandler:
  - 28
  jupyter_server.services.kernels.handlers.MainKernelHandler:
  - 34
  jupyter_server.services.kernels.handlers.MainKernelHandler.get:
  - 41
  - 42
  - 39
  jupyter_server.services.kernels.handlers.MainKernelHandler.post:
  - 64
  - 47
  - 49
  - 50
  - 53
  - 55
  - 56
  - 57
  - 60
  - 61
  - 62
  - 63
  jupyter_server.services.kernels.kernelmanager:
  - 1
  jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager:
  - 744
  - 738
  - 740
  jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager.__init__:
  - 760
  - 763
  - 764
  jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager._validate_kernel_manager_class:
  - 746
  - 748
  - 749
  - 750
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager:
  - 133
  - 147
  - 149
  - 153
  - 542
  - 543
  - 165
  - 166
  - 173
  - 177
  - 52
  - 58
  - 62
  - 64
  - 66
  - 68
  - 74
  - 80
  - 91
  - 100
  - 106
  - 113
  - 120
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.__init__:
  - 162
  - 163
  - 159
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel:
  - 448
  - 481
  - 450
  - 451
  - 482
  - 483
  - 484
  - 486
  - 487
  - 488
  - 479
  - 445
  - 446
  - 447
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.finish:
  - 454
  - 455
  - 456
  - 457
  - 458
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_reply:
  - 464
  - 465
  - 462
  - 463
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_restart_failed:
  - 474
  - 475
  - 476
  - 477
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_restart_kernel.on_timeout:
  - 468
  - 469
  - 470
  - 471
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_shutdown_kernel:
  - 424
  - 425
  - 429
  - 431
  - 432
  - 433
  - 435
  - 436
  - 438
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._async_start_kernel:
  - 257
  - 260
  - 263
  - 264
  - 212
  - 227
  - 228
  - 229
  - 230
  - 233
  - 237
  - 240
  - 241
  - 242
  - 243
  - 245
  - 246
  - 247
  - 249
  - 250
  - 251
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._check_kernel_id:
  - 537
  - 538
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._default_kernel_buffers:
  - 151
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._default_root_dir:
  - 76
  - 77
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._finish_kernel_start:
  - 289
  - 291
  - 274
  - 275
  - 276
  - 278
  - 279
  - 281
  - 283
  - 287
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._finish_kernel_start.<lambda1>:
  - 291
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._get_changed_ports:
  - 324
  - 325
  - 326
  - 327
  - 316
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._handle_kernel_died:
  - 188
  - 189
  - 190
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._remove_kernel_when_ready:
  - 202
  - 203
  - 204
  - 205
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager._update_root_dir:
  - 82
  - 84
  - 86
  - 87
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cull_kernel_if_idle:
  - 705
  - 708
  - 714
  - 717
  - 719
  - 689
  - 722
  - 723
  - 692
  - 693
  - 724
  - 699
  - 732
  - 703
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cull_kernels:
  - 672
  - 677
  - 678
  - 680
  - 682
  - 671
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.cwd_for_path:
  - 193
  - 194
  - 197
  - 198
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.get_buffer:
  - 387
  - 389
  - 393
  - 371
  - 382
  - 383
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.initialize_culler:
  - 643
  - 648
  - 649
  - 650
  - 656
  - 657
  - 662
  - 663
  - 664
  - 665
  - 666
  - 639
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.kernel_model:
  - 514
  - 516
  - 518
  - 504
  - 508
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.list_kernels:
  - 523
  - 525
  - 526
  - 528
  - 529
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.notify_connect:
  - 494
  - 495
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.notify_disconnect:
  - 499
  - 500
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.ports_changed:
  - 296
  - 307
  - 308
  - 310
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_buffering:
  - 352
  - 354
  - 332
  - 367
  - 368
  - 346
  - 347
  - 348
  - 351
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_buffering.buffer_msg:
  - 364
  - 365
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity:
  - 578
  - 587
  - 588
  - 589
  - 626
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.start_watching_activity.record_activity:
  - 608
  - 610
  - 612
  - 617
  - 624
  - 595
  - 596
  - 597
  - 600
  - 601
  - 602
  - 603
  - 606
  - 607
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_buffering:
  - 416
  - 417
  - 419
  - 396
  - 403
  - 404
  - 406
  - 408
  - 410
  - 411
  - 412
  - 413
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager.stop_watching_activity:
  - 629
  - 631
  - 632
  - 633
  - 635
  - 636
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager:
  - 897
  - 867
  - 869
  - 840
  - 904
  - 843
  - 846
  - 911
  - 848
  - 918
  - 859
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager._default_event_logger:
  - 871
  - 872
  - 875
  - 880
  - 883
  - 886
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager.emit:
  - 893
  - 894
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager.interrupt_kernel:
  - 922
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager.restart_kernel:
  - 915
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager.shutdown_kernel:
  - 908
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager.start_kernel:
  - 901
  jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event:
  - 768
  jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event.wrap_method:
  - 789
  jupyter_server.services.kernels.kernelmanager.emit_kernel_action_event.wrap_method.wrapped_method:
  - 801
  - 805
  - 828
  - 807
  - 818
  - 820
  - 791
  - 824
  - 793
  - 796
  jupyter_server.services.kernels.websocket:
  - 1
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler:
  - 17
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.get:
  - 65
  - 66
  - 63
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.get_compression_options:
  - 33
  - 34
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.kernel_websocket_connection_class:
  - 24
  - 23
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.on_close:
  - 82
  - 83
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.on_message:
  - 78
  - 79
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.open:
  - 72
  - 74
  - 75
  - 69
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.pre_get:
  - 37
  - 41
  - 42
  - 44
  - 47
  - 48
  - 52
  - 53
  - 55
  - 58
  - 59
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.select_subprotocol:
  - 89
  - 91
  - 87
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler.set_default_headers:
  - 27
  jupyter_server.services.kernelspecs.handlers:
  - 1
  jupyter_server.services.kernelspecs.handlers.KernelSpecHandler:
  - 94
  jupyter_server.services.kernelspecs.handlers.KernelSpecHandler.get:
  - 99
  - 101
  - 103
  - 106
  - 109
  - 110
  - 111
  jupyter_server.services.kernelspecs.handlers.KernelSpecsAPIHandler:
  - 56
  jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler:
  - 62
  jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler.get:
  - 67
  - 73
  - 74
  - 76
  - 79
  - 86
  - 89
  - 90
  jupyter_server.services.kernelspecs.handlers.is_kernelspec_model:
  - 48
  - 46
  jupyter_server.services.kernelspecs.handlers.kernelspec_model:
  - 33
  - 34
  - 35
  - 38
  - 39
  - 40
  - 41
  - 29
  jupyter_server.services.nbconvert.handlers:
  - 1
  jupyter_server.services.nbconvert.handlers.NbconvertRootHandler:
  - 17
  jupyter_server.services.nbconvert.handlers.NbconvertRootHandler.get:
  - 33
  - 41
  - 43
  - 45
  - 59
  jupyter_server.services.nbconvert.handlers.NbconvertRootHandler.initialize:
  - 24
  - 26
  - 27
  - 23
  jupyter_server.services.security.handlers:
  - 1
  jupyter_server.services.security.handlers.CSPReportHandler:
  - 16
  jupyter_server.services.security.handlers.CSPReportHandler.check_xsrf_cookie:
  - 26
  jupyter_server.services.security.handlers.CSPReportHandler.post:
  - 32
  - 33
  - 35
  jupyter_server.services.security.handlers.CSPReportHandler.skip_check_origin:
  - 22
  jupyter_server.services.sessions.handlers:
  - 1
  jupyter_server.services.sessions.handlers.SessionHandler:
  - 117
  jupyter_server.services.sessions.handlers.SessionHandler.delete:
  - 196
  - 195
  - 188
  - 191
  jupyter_server.services.sessions.handlers.SessionHandler.get:
  - 122
  - 124
  - 125
  jupyter_server.services.sessions.handlers.SessionHandler.patch:
  - 130
  - 137
  - 138
  - 142
  - 145
  - 146
  - 149
  - 151
  - 153
  - 155
  - 157
  - 159
  - 162
  - 164
  - 173
  - 174
  - 176
  - 179
  - 181
  - 182
  - 183
  jupyter_server.services.sessions.handlers.SessionRootHandler:
  - 35
  jupyter_server.services.sessions.handlers.SessionRootHandler.get:
  - 40
  - 42
  - 43
  jupyter_server.services.sessions.handlers.SessionRootHandler.post:
  - 48
  - 52
  - 53
  - 56
  - 57
  - 59
  - 61
  - 76
  - 77
  - 78
  - 79
  - 81
  - 82
  - 85
  - 86
  - 87
  - 90
  - 103
  - 104
  - 105
  - 110
  - 111
  - 112
  - 113
  jupyter_server.services.sessions.handlers.SessionsAPIHandler:
  - 29
  jupyter_server.services.sessions.sessionmanager:
  - 1
  - 10
  - 11
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecord:
  - 37
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecord.__eq__:
  - 48
  - 49
  - 51
  - 57
  - 62
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecord.update:
  - 80
  - 81
  - 85
  - 89
  - 90
  - 91
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordConflict:
  - 30
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList:
  - 95
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__contains__:
  - 116
  - 117
  - 120
  - 121
  - 122
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__init__:
  - 106
  - 108
  - 109
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__len__:
  - 128
  - 127
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.__str__:
  - 112
  - 113
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.get:
  - 131
  - 134
  - 135
  - 136
  - 138
  - 139
  - 140
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.remove:
  - 154
  - 157
  - 158
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList.update:
  - 146
  - 148
  - 149
  - 151
  jupyter_server.services.sessions.sessionmanager.SessionManager:
  - 162
  - 195
  - 196
  - 164
  - 174
  jupyter_server.services.sessions.sessionmanager.SessionManager.__del__:
  - 240
  - 241
  jupyter_server.services.sessions.sessionmanager.SessionManager.__init__:
  - 204
  - 205
  - 206
  jupyter_server.services.sessions.sessionmanager.SessionManager._validate_database_filepath:
  - 176
  - 178
  - 180
  - 181
  - 183
  - 187
  - 188
  - 190
  jupyter_server.services.sessions.sessionmanager.SessionManager.close:
  - 234
  - 235
  - 236
  jupyter_server.services.sessions.sessionmanager.SessionManager.connection:
  - 226
  - 227
  - 229
  jupyter_server.services.sessions.sessionmanager.SessionManager.create_session:
  - 289
  - 290
  - 293
  - 294
  - 271
  - 279
  - 280
  - 281
  - 282
  - 285
  jupyter_server.services.sessions.sessionmanager.SessionManager.cursor:
  - 216
  - 217
  - 218
  - 215
  jupyter_server.services.sessions.sessionmanager.SessionManager.delete_session:
  - 525
  - 526
  - 527
  - 528
  - 529
  - 530
  - 531
  jupyter_server.services.sessions.sessionmanager.SessionManager.get_kernel_env:
  - 299
  - 309
  - 310
  - 311
  - 312
  jupyter_server.services.sessions.sessionmanager.SessionManager.get_session:
  - 420
  - 422
  - 423
  - 415
  - 428
  - 400
  - 405
  - 406
  - 409
  - 411
  - 413
  - 383
  jupyter_server.services.sessions.sessionmanager.SessionManager.kernel_culled:
  - 470
  jupyter_server.services.sessions.sessionmanager.SessionManager.list_sessions:
  - 512
  - 516
  - 518
  - 519
  - 510
  jupyter_server.services.sessions.sessionmanager.SessionManager.new_session_id:
  - 260
  - 261
  jupyter_server.services.sessions.sessionmanager.SessionManager.row_to_model:
  - 484
  - 486
  - 491
  - 492
  - 496
  - 504
  - 474
  - 475
  - 476
  jupyter_server.services.sessions.sessionmanager.SessionManager.save_session:
  - 379
  - 375
  - 351
  jupyter_server.services.sessions.sessionmanager.SessionManager.session_exists:
  - 244
  - 246
  - 247
  - 248
  - 254
  - 255
  jupyter_server.services.sessions.sessionmanager.SessionManager.start_kernel_for_session:
  - 323
  - 340
  - 342
  - 343
  - 348
  jupyter_server.services.sessions.sessionmanager.SessionManager.update_session:
  - 448
  - 450
  - 455
  - 456
  - 458
  - 459
  - 460
  - 462
  - 463
  - 434
  - 466
  - 467
  jupyter_server.services.shutdown:
  - 1
  jupyter_server.services.shutdown.ShutdownHandler:
  - 12
  jupyter_server.services.shutdown.ShutdownHandler.post:
  - 19
  - 20
  - 22
  - 23
  - 25
  jupyter_server.terminal:
  - 1
  - 10
  jupyter_server.terminal.api_handlers:
  - 1
  jupyter_server.terminal.handlers:
  - 1
  jupyter_server.terminal.initialize:
  - 18
  jupyter_server.terminal.terminalmanager:
  - 1
  jupyter_server.traittypes:
  - 1
  jupyter_server.traittypes.InstanceFromClasses:
  - 130
  jupyter_server.traittypes.InstanceFromClasses.__init__:
  - 160
  - 163
  - 136
  - 171
  - 174
  - 181
  jupyter_server.traittypes.InstanceFromClasses._resolve_classes:
  - 227
  - 215
  - 218
  - 219
  - 222
  - 223
  jupyter_server.traittypes.InstanceFromClasses.default_value_repr:
  - 238
  - 239
  jupyter_server.traittypes.InstanceFromClasses.from_string:
  - 242
  - 243
  jupyter_server.traittypes.InstanceFromClasses.info:
  - 195
  - 198
  - 199
  - 202
  - 204
  - 205
  jupyter_server.traittypes.InstanceFromClasses.instance_from_importable_klasses:
  - 184
  - 185
  jupyter_server.traittypes.InstanceFromClasses.instance_init:
  - 210
  - 211
  - 212
  jupyter_server.traittypes.InstanceFromClasses.make_dynamic_default:
  - 233
  - 230
  - 231
  jupyter_server.traittypes.InstanceFromClasses.validate:
  - 192
  - 188
  - 189
  jupyter_server.traittypes.TypeFromClasses:
  - 11
  jupyter_server.traittypes.TypeFromClasses.__init__:
  - 36
  - 41
  - 42
  - 16
  - 48
  - 52
  - 53
  - 60
  jupyter_server.traittypes.TypeFromClasses._resolve_classes:
  - 104
  - 106
  - 107
  - 110
  - 111
  - 115
  - 117
  - 118
  jupyter_server.traittypes.TypeFromClasses.default_value_repr:
  - 121
  - 123
  - 124
  - 126
  jupyter_server.traittypes.TypeFromClasses.info:
  - 86
  - 88
  - 89
  - 93
  - 94
  jupyter_server.traittypes.TypeFromClasses.instance_init:
  - 99
  - 100
  - 101
  jupyter_server.traittypes.TypeFromClasses.subclass_from_klasses:
  - 64
  - 63
  jupyter_server.traittypes.TypeFromClasses.validate:
  - 67
  - 68
  - 70
  - 78
  - 83
  jupyter_server.transutils:
  - 1
  - 18
  - 19
  - 20
  jupyter_server.transutils._trans_gettext_deprecation_helper:
  - 11
  - 13
  - 14
  jupyter_server.utils:
  - 1
  - 35
  - 193
  jupyter_server.utils.JupyterServerAuthWarning:
  - 431
  jupyter_server.utils._check_pid_posix:
  - 185
  - 179
  - 181
  - 183
  jupyter_server.utils._check_pid_win32:
  - 175
  jupyter_server.utils._request_for_tornado_client:
  - 257
  - 289
  - 290
  - 291
  - 244
  - 282
  - 283
  - 252
  - 253
  - 255
  jupyter_server.utils._request_for_tornado_client.UnixSocketResolver:
  - 266
  jupyter_server.utils._request_for_tornado_client.UnixSocketResolver.close:
  - 277
  jupyter_server.utils._request_for_tornado_client.UnixSocketResolver.resolve:
  - 280
  jupyter_server.utils.async_fetch:
  - 315
  - 318
  - 311
  jupyter_server.utils.check_version:
  - 162
  - 155
  jupyter_server.utils.fetch:
  - 304
  - 297
  - 301
  jupyter_server.utils.filefind:
  - 382
  - 388
  - 394
  - 395
  - 368
  - 371
  - 375
  - 376
  - 380
  - 381
  - 343
  jupyter_server.utils.import_item:
  - 416
  - 419
  - 421
  - 427
  - 402
  - 415
  jupyter_server.utils.is_namespace_package:
  - 336
  - 339
  - 323
  - 332
  jupyter_server.utils.path2url:
  - 73
  - 68
  - 69
  - 71
  jupyter_server.utils.run_sync_in_loop:
  - 200
  - 201
  - 206
  jupyter_server.utils.samefile_simple:
  - 123
  - 124
  - 125
  - 102
  jupyter_server.utils.to_api_path:
  - 141
  - 146
  - 147
  - 148
  - 150
  - 151
  jupyter_server.utils.to_os_path:
  - 136
  - 129
  - 137
  - 134
  jupyter_server.utils.unix_socket_in_use:
  - 225
  - 226
  - 230
  - 231
  - 237
  jupyter_server.utils.url2path:
  - 80
  - 78
  - 79
  jupyter_server.utils.url_escape:
  - 89
  - 90
  - 85
  jupyter_server.utils.url_is_absolute:
  - 64
  - 63
  jupyter_server.utils.url_path_join:
  - 44
  - 49
  - 50
  - 51
  - 52
  - 53
  - 55
  - 57
  jupyter_server.utils.url_unescape:
  - 98
  - 94
  jupyter_server.utils.urldecode_unix_socket_path:
  - 216
  - 215
  jupyter_server.utils.urlencode_unix_socket:
  - 220
  - 221
  jupyter_server.utils.urlencode_unix_socket_path:
  - 210
  - 211
  jupyter_server.view:
  - 1
  jupyter_server.view.handlers:
  - 1
  jupyter_server.view.handlers.ViewHandler:
  - 17
  jupyter_server.view.handlers.ViewHandler.get:
  - 24
  - 25
  - 26
  - 29
  - 30
  - 31
Fuzzer filename: /src/fuzz_serialization.py
Inheritance:
  jupyter_client.adapter.Adapter: []
  jupyter_client.adapter.V4toV5:
  - Adapter
  jupyter_client.adapter.V5toV4:
  - Adapter
  jupyter_client.asynchronous.client.AsyncKernelClient:
  - KernelClient
  jupyter_client.blocking.client.BlockingKernelClient:
  - KernelClient
  jupyter_client.channels.AsyncZMQSocketChannel:
  - ZMQSocketChannel
  jupyter_client.channels.HBChannel:
  - Thread
  jupyter_client.channels.InvalidPortNumber:
  - Exception
  jupyter_client.channels.ZMQSocketChannel: []
  jupyter_client.channelsabc.ChannelABC: []
  jupyter_client.channelsabc.HBChannelABC:
  - ChannelABC
  jupyter_client.client.KernelClient:
  - ConnectionFileMixin
  jupyter_client.clientabc.KernelClientABC: []
  jupyter_client.connect.ConnectionFileMixin:
  - LoggingConfigurable
  jupyter_client.connect.LocalPortCache:
  - SingletonConfigurable
  jupyter_client.consoleapp.IPythonConsoleApp:
  - JupyterConsoleApp
  jupyter_client.consoleapp.JupyterConsoleApp:
  - ConnectionFileMixin
  jupyter_client.ioloop.manager.AsyncIOLoopKernelManager:
  - AsyncKernelManager
  jupyter_client.ioloop.manager.IOLoopKernelManager:
  - KernelManager
  jupyter_client.ioloop.restarter.AsyncIOLoopKernelRestarter:
  - IOLoopKernelRestarter
  jupyter_client.ioloop.restarter.IOLoopKernelRestarter:
  - KernelRestarter
  jupyter_client.kernelapp.KernelApp:
  - JupyterApp
  jupyter_client.kernelspec.KernelSpec:
  - HasTraits
  jupyter_client.kernelspec.KernelSpecManager:
  - LoggingConfigurable
  jupyter_client.kernelspec.NoSuchKernel:
  - KeyError
  jupyter_client.kernelspecapp.InstallKernelSpec:
  - JupyterApp
  jupyter_client.kernelspecapp.InstallNativeKernelSpec:
  - JupyterApp
  jupyter_client.kernelspecapp.KernelSpecApp:
  - Application
  jupyter_client.kernelspecapp.ListKernelSpecs:
  - JupyterApp
  jupyter_client.kernelspecapp.ListProvisioners:
  - JupyterApp
  jupyter_client.kernelspecapp.RemoveKernelSpec:
  - JupyterApp
  jupyter_client.localinterfaces.NoIPAddresses:
  - Exception
  jupyter_client.manager.AsyncKernelManager:
  - KernelManager
  jupyter_client.manager.KernelManager:
  - ConnectionFileMixin
  jupyter_client.manager._ShutdownStatus:
  - Enum
  jupyter_client.managerabc.KernelManagerABC: []
  jupyter_client.multikernelmanager.AsyncMultiKernelManager:
  - MultiKernelManager
  jupyter_client.multikernelmanager.DuplicateKernelError:
  - Exception
  jupyter_client.multikernelmanager.MultiKernelManager:
  - LoggingConfigurable
  jupyter_client.provisioning.factory.KernelProvisionerFactory:
  - SingletonConfigurable
  jupyter_client.provisioning.local_provisioner.LocalProvisioner:
  - KernelProvisionerBase
  jupyter_client.provisioning.provisioner_base.KernelProvisionerBase:
  - LoggingConfigurable
  - ABC
  jupyter_client.provisioning.provisioner_base.KernelProvisionerMeta:
  - ABCMeta
  jupyter_client.restarter.KernelRestarter:
  - LoggingConfigurable
  jupyter_client.runapp.RunApp:
  - JupyterConsoleApp
  - JupyterApp
  jupyter_client.session.Message: []
  jupyter_client.session.Session:
  - Configurable
  jupyter_client.session.SessionFactory:
  - LoggingConfigurable
  jupyter_client.ssh.forward.ForwardServer: []
  jupyter_client.ssh.forward.Handler: []
  jupyter_client.ssh.forward.forward_tunnel.SubHander:
  - Handler
  jupyter_client.ssh.tunnel.SSHException:
  - Exception
  jupyter_client.threaded.IOLoopThread:
  - Thread
  jupyter_client.threaded.ThreadedKernelClient:
  - KernelClient
  jupyter_client.threaded.ThreadedZMQSocketChannel: []
  jupyter_client.win_interrupt.create_interrupt_event.SECURITY_ATTRIBUTES: []
  jupyter_server._tz.tzUTC:
  - tzinfo
  jupyter_server.auth.authorizer.AllowAllAuthorizer:
  - Authorizer
  jupyter_server.auth.authorizer.Authorizer:
  - LoggingConfigurable
  jupyter_server.auth.identity.IdentityProvider:
  - LoggingConfigurable
  jupyter_server.auth.identity.LegacyIdentityProvider:
  - PasswordIdentityProvider
  jupyter_server.auth.identity.PasswordIdentityProvider:
  - IdentityProvider
  jupyter_server.auth.identity.User: []
  jupyter_server.auth.login.LegacyLoginHandler:
  - LoginFormHandler
  jupyter_server.auth.login.LoginFormHandler:
  - JupyterHandler
  jupyter_server.auth.logout.LogoutHandler:
  - JupyterHandler
  jupyter_server.base.call_context.CallContext: []
  jupyter_server.base.handlers.APIHandler:
  - JupyterHandler
  jupyter_server.base.handlers.APIVersionHandler:
  - APIHandler
  jupyter_server.base.handlers.AuthenticatedFileHandler:
  - JupyterHandler
  jupyter_server.base.handlers.AuthenticatedHandler: []
  jupyter_server.base.handlers.FileFindHandler:
  - JupyterHandler
  jupyter_server.base.handlers.FilesRedirectHandler:
  - JupyterHandler
  jupyter_server.base.handlers.JupyterHandler:
  - AuthenticatedHandler
  jupyter_server.base.handlers.MainHandler:
  - JupyterHandler
  jupyter_server.base.handlers.PrometheusMetricsHandler:
  - JupyterHandler
  jupyter_server.base.handlers.PublicStaticFileHandler: []
  jupyter_server.base.handlers.RedirectWithParams: []
  jupyter_server.base.handlers.Template404:
  - JupyterHandler
  jupyter_server.base.handlers.TrailingSlashHandler: []
  jupyter_server.base.websocket.WebSocketMixin: []
  jupyter_server.config_manager.BaseJSONConfigManager:
  - LoggingConfigurable
  jupyter_server.extension.application.ExtensionApp:
  - JupyterApp
  jupyter_server.extension.application.ExtensionAppJinjaMixin:
  - HasTraits
  jupyter_server.extension.application.JupyterServerExtensionException:
  - Exception
  jupyter_server.extension.config.ExtensionConfigManager:
  - ConfigManager
  jupyter_server.extension.handler.ExtensionHandlerJinjaMixin: []
  jupyter_server.extension.handler.ExtensionHandlerMixin: []
  jupyter_server.extension.manager.ExtensionManager:
  - LoggingConfigurable
  jupyter_server.extension.manager.ExtensionPackage:
  - LoggingConfigurable
  jupyter_server.extension.manager.ExtensionPoint:
  - HasTraits
  jupyter_server.extension.serverextension.ArgumentConflict:
  - ValueError
  jupyter_server.extension.serverextension.BaseExtensionApp:
  - JupyterApp
  jupyter_server.extension.serverextension.DisableServerExtensionApp:
  - ToggleServerExtensionApp
  jupyter_server.extension.serverextension.EnableServerExtensionApp:
  - ToggleServerExtensionApp
  jupyter_server.extension.serverextension.ListServerExtensionsApp:
  - BaseExtensionApp
  jupyter_server.extension.serverextension.ServerExtensionApp:
  - BaseExtensionApp
  jupyter_server.extension.serverextension.ToggleServerExtensionApp:
  - BaseExtensionApp
  jupyter_server.extension.utils.ExtensionLoadingError:
  - Exception
  jupyter_server.extension.utils.ExtensionMetadataError:
  - Exception
  jupyter_server.extension.utils.ExtensionModuleNotFound:
  - Exception
  jupyter_server.extension.utils.NotAnExtensionApp:
  - Exception
  jupyter_server.files.handlers.FilesHandler:
  - JupyterHandler
  jupyter_server.gateway.connections.GatewayWebSocketConnection:
  - BaseKernelWebsocketConnection
  jupyter_server.gateway.gateway_client.GatewayClient:
  - SingletonConfigurable
  jupyter_server.gateway.gateway_client.GatewayTokenRenewerBase:
  - LoggingConfigurable
  - ABC
  jupyter_server.gateway.gateway_client.GatewayTokenRenewerMeta:
  - ABCMeta
  jupyter_server.gateway.gateway_client.NoOpTokenRenewer:
  - GatewayTokenRenewerBase
  jupyter_server.gateway.gateway_client.RetryableHTTPClient: []
  jupyter_server.gateway.handlers.GatewayResourceHandler:
  - APIHandler
  jupyter_server.gateway.handlers.GatewayWebSocketClient:
  - LoggingConfigurable
  jupyter_server.gateway.handlers.WebSocketChannelsHandler:
  - WebSocketHandler
  - JupyterHandler
  jupyter_server.gateway.managers.ChannelQueue:
  - Queue
  jupyter_server.gateway.managers.GatewayKernelClient:
  - AsyncKernelClient
  jupyter_server.gateway.managers.GatewayKernelManager:
  - ServerKernelManager
  jupyter_server.gateway.managers.GatewayKernelSpecManager:
  - KernelSpecManager
  jupyter_server.gateway.managers.GatewayMappingKernelManager:
  - AsyncMappingKernelManager
  jupyter_server.gateway.managers.GatewaySessionManager:
  - SessionManager
  jupyter_server.gateway.managers.HBChannelQueue:
  - ChannelQueue
  jupyter_server.kernelspecs.handlers.KernelSpecResourceHandler:
  - JupyterHandler
  jupyter_server.nbconvert.handlers.NbconvertFileHandler:
  - JupyterHandler
  jupyter_server.nbconvert.handlers.NbconvertPostHandler:
  - JupyterHandler
  jupyter_server.serverapp.JupyterPasswordApp:
  - JupyterApp
  jupyter_server.serverapp.JupyterServerListApp:
  - JupyterApp
  jupyter_server.serverapp.JupyterServerStopApp:
  - JupyterApp
  jupyter_server.serverapp.ServerApp:
  - JupyterApp
  jupyter_server.serverapp.ServerWebApplication: []
  jupyter_server.services.api.handlers.APISpecHandler:
  - JupyterHandler
  jupyter_server.services.api.handlers.APIStatusHandler:
  - APIHandler
  jupyter_server.services.api.handlers.IdentityHandler:
  - APIHandler
  jupyter_server.services.config.handlers.ConfigHandler:
  - APIHandler
  jupyter_server.services.config.manager.ConfigManager:
  - LoggingConfigurable
  jupyter_server.services.contents.checkpoints.AsyncCheckpoints:
  - Checkpoints
  jupyter_server.services.contents.checkpoints.AsyncGenericCheckpointsMixin:
  - GenericCheckpointsMixin
  jupyter_server.services.contents.checkpoints.Checkpoints:
  - LoggingConfigurable
  jupyter_server.services.contents.checkpoints.GenericCheckpointsMixin: []
  jupyter_server.services.contents.filecheckpoints.AsyncFileCheckpoints:
  - FileCheckpoints
  - AsyncCheckpoints
  - AsyncFileManagerMixin
  jupyter_server.services.contents.filecheckpoints.AsyncGenericFileCheckpoints:
  - AsyncGenericCheckpointsMixin
  - AsyncFileCheckpoints
  jupyter_server.services.contents.filecheckpoints.FileCheckpoints:
  - Checkpoints
  - FileManagerMixin
  jupyter_server.services.contents.filecheckpoints.GenericFileCheckpoints:
  - FileCheckpoints
  - GenericCheckpointsMixin
  jupyter_server.services.contents.fileio.AsyncFileManagerMixin:
  - FileManagerMixin
  jupyter_server.services.contents.fileio.FileManagerMixin:
  - LoggingConfigurable
  - Configurable
  jupyter_server.services.contents.filemanager.AsyncFileContentsManager:
  - AsyncContentsManager
  - FileContentsManager
  - AsyncFileManagerMixin
  jupyter_server.services.contents.filemanager.FileContentsManager:
  - FileManagerMixin
  - ContentsManager
  jupyter_server.services.contents.handlers.CheckpointsHandler:
  - ContentsAPIHandler
  jupyter_server.services.contents.handlers.ContentsAPIHandler:
  - APIHandler
  jupyter_server.services.contents.handlers.ContentsHandler:
  - ContentsAPIHandler
  jupyter_server.services.contents.handlers.ModifyCheckpointsHandler:
  - ContentsAPIHandler
  jupyter_server.services.contents.handlers.NotebooksRedirectHandler:
  - JupyterHandler
  jupyter_server.services.contents.handlers.TrustNotebooksHandler:
  - JupyterHandler
  jupyter_server.services.contents.largefilemanager.AsyncLargeFileManager:
  - AsyncFileContentsManager
  jupyter_server.services.contents.largefilemanager.LargeFileManager:
  - FileContentsManager
  jupyter_server.services.contents.manager.AsyncContentsManager:
  - ContentsManager
  jupyter_server.services.contents.manager.ContentsManager:
  - LoggingConfigurable
  jupyter_server.services.events.handlers.EventHandler:
  - APIHandler
  jupyter_server.services.events.handlers.SubscribeWebsocket:
  - JupyterHandler
  jupyter_server.services.kernels.connection.abc.KernelWebsocketConnectionABC:
  - ABC
  jupyter_server.services.kernels.connection.base.BaseKernelWebsocketConnection:
  - LoggingConfigurable
  jupyter_server.services.kernels.connection.channels.ZMQChannelsWebsocketConnection:
  - BaseKernelWebsocketConnection
  jupyter_server.services.kernels.handlers.KernelActionHandler:
  - KernelsAPIHandler
  jupyter_server.services.kernels.handlers.KernelHandler:
  - KernelsAPIHandler
  jupyter_server.services.kernels.handlers.KernelsAPIHandler:
  - APIHandler
  jupyter_server.services.kernels.handlers.MainKernelHandler:
  - KernelsAPIHandler
  jupyter_server.services.kernels.kernelmanager.AsyncMappingKernelManager:
  - MappingKernelManager
  - AsyncMultiKernelManager
  jupyter_server.services.kernels.kernelmanager.MappingKernelManager:
  - MultiKernelManager
  jupyter_server.services.kernels.kernelmanager.ServerKernelManager:
  - AsyncIOLoopKernelManager
  jupyter_server.services.kernels.websocket.KernelWebsocketHandler:
  - WebSocketMixin
  - WebSocketHandler
  - JupyterHandler
  jupyter_server.services.kernelspecs.handlers.KernelSpecHandler:
  - KernelSpecsAPIHandler
  jupyter_server.services.kernelspecs.handlers.KernelSpecsAPIHandler:
  - APIHandler
  jupyter_server.services.kernelspecs.handlers.MainKernelSpecHandler:
  - KernelSpecsAPIHandler
  jupyter_server.services.nbconvert.handlers.NbconvertRootHandler:
  - APIHandler
  jupyter_server.services.security.handlers.CSPReportHandler:
  - APIHandler
  jupyter_server.services.sessions.handlers.SessionHandler:
  - SessionsAPIHandler
  jupyter_server.services.sessions.handlers.SessionRootHandler:
  - SessionsAPIHandler
  jupyter_server.services.sessions.handlers.SessionsAPIHandler:
  - APIHandler
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecord: []
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordConflict:
  - Exception
  jupyter_server.services.sessions.sessionmanager.KernelSessionRecordList: []
  jupyter_server.services.sessions.sessionmanager.SessionManager:
  - LoggingConfigurable
  jupyter_server.services.shutdown.ShutdownHandler:
  - JupyterHandler
  jupyter_server.traittypes.InstanceFromClasses:
  - ClassBasedTraitType
  jupyter_server.traittypes.TypeFromClasses:
  - ClassBasedTraitType
  jupyter_server.utils.JupyterServerAuthWarning:
  - RuntimeWarning
  jupyter_server.utils._request_for_tornado_client.UnixSocketResolver:
  - Resolver
  jupyter_server.view.handlers.ViewHandler:
  - JupyterHandler
ep:
  func_name: TestOneInput
  module: '...fuzz_serialization'
