[INTERFACES]
interface Blob
    attribute @@toStringTag
    getter size
    getter type
    method constructor
    method slice
interface BroadcastChannel : EventTarget
    attribute @@toStringTag
    getter name
    getter onmessage
    getter onmessageerror
    method close
    method constructor
    method postMessage
    setter onmessage
    setter onmessageerror
interface BudgetService
    attribute @@toStringTag
    method constructor
    method reserve
interface ByteLengthQueuingStrategy
    method constructor
    method size
interface Cache
    attribute @@toStringTag
    method add
    method addAll
    method constructor
    method delete
    method keys
    method match
    method matchAll
    method put
interface CacheStorage
    attribute @@toStringTag
    method constructor
    method delete
    method has
    method keys
    method match
    method open
interface Client
    attribute @@toStringTag
    getter frameType
    getter id
    getter type
    getter url
    method constructor
    method postMessage
interface Clients
    attribute @@toStringTag
    method claim
    method constructor
    method get
    method matchAll
    method openWindow
interface CloseEvent : Event
    attribute @@toStringTag
    getter code
    getter reason
    getter wasClean
    method constructor
interface CountQueuingStrategy
    method constructor
    method size
interface Crypto
    attribute @@toStringTag
    getter subtle
    method constructor
    method getRandomValues
interface CryptoKey
    attribute @@toStringTag
    getter algorithm
    getter extractable
    getter type
    getter usages
    method constructor
interface CustomEvent : Event
    attribute @@toStringTag
    getter detail
    method constructor
    method initCustomEvent
interface DOMException
    attribute @@toStringTag
    attribute ABORT_ERR
    attribute DATA_CLONE_ERR
    attribute DOMSTRING_SIZE_ERR
    attribute HIERARCHY_REQUEST_ERR
    attribute INDEX_SIZE_ERR
    attribute INUSE_ATTRIBUTE_ERR
    attribute INVALID_ACCESS_ERR
    attribute INVALID_CHARACTER_ERR
    attribute INVALID_MODIFICATION_ERR
    attribute INVALID_NODE_TYPE_ERR
    attribute INVALID_STATE_ERR
    attribute NAMESPACE_ERR
    attribute NETWORK_ERR
    attribute NOT_FOUND_ERR
    attribute NOT_SUPPORTED_ERR
    attribute NO_DATA_ALLOWED_ERR
    attribute NO_MODIFICATION_ALLOWED_ERR
    attribute QUOTA_EXCEEDED_ERR
    attribute SECURITY_ERR
    attribute SYNTAX_ERR
    attribute TIMEOUT_ERR
    attribute TYPE_MISMATCH_ERR
    attribute URL_MISMATCH_ERR
    attribute VALIDATION_ERR
    attribute WRONG_DOCUMENT_ERR
    getter code
    getter message
    getter name
    method constructor
interface DOMMatrix : DOMMatrixReadOnly
    attribute @@toStringTag
    getter a
    getter b
    getter c
    getter d
    getter e
    getter f
    getter m11
    getter m12
    getter m13
    getter m14
    getter m21
    getter m22
    getter m23
    getter m24
    getter m31
    getter m32
    getter m33
    getter m34
    getter m41
    getter m42
    getter m43
    getter m44
    method constructor
    method invertSelf
    method multiplySelf
    method preMultiplySelf
    method rotateAxisAngleSelf
    method rotateFromVectorSelf
    method rotateSelf
    method scale3dSelf
    method scaleSelf
    method skewXSelf
    method skewYSelf
    method translateSelf
    setter a
    setter b
    setter c
    setter d
    setter e
    setter f
    setter m11
    setter m12
    setter m13
    setter m14
    setter m21
    setter m22
    setter m23
    setter m24
    setter m31
    setter m32
    setter m33
    setter m34
    setter m41
    setter m42
    setter m43
    setter m44
interface DOMMatrixReadOnly
    static method fromFloat32Array
    static method fromFloat64Array
    static method fromMatrix
    attribute @@toStringTag
    getter a
    getter b
    getter c
    getter d
    getter e
    getter f
    getter is2D
    getter isIdentity
    getter m11
    getter m12
    getter m13
    getter m14
    getter m21
    getter m22
    getter m23
    getter m24
    getter m31
    getter m32
    getter m33
    getter m34
    getter m41
    getter m42
    getter m43
    getter m44
    method constructor
    method flipX
    method flipY
    method inverse
    method multiply
    method rotate
    method rotateAxisAngle
    method rotateFromVector
    method scale
    method scale3d
    method skewX
    method skewY
    method toFloat32Array
    method toFloat64Array
    method toJSON
    method transformPoint
    method translate
interface DOMPoint : DOMPointReadOnly
    attribute @@toStringTag
    getter w
    getter x
    getter y
    getter z
    method constructor
    setter w
    setter x
    setter y
    setter z
interface DOMPointReadOnly
    static method fromPoint
    attribute @@toStringTag
    getter w
    getter x
    getter y
    getter z
    method constructor
    method matrixTransform
    method toJSON
interface DOMQuad
    static method fromQuad
    static method fromRect
    attribute @@toStringTag
    getter p1
    getter p2
    getter p3
    getter p4
    method constructor
    method getBounds
    method toJSON
interface DOMRect : DOMRectReadOnly
    attribute @@toStringTag
    getter height
    getter width
    getter x
    getter y
    method constructor
    setter height
    setter width
    setter x
    setter y
interface DOMRectReadOnly
    static method fromRect
    attribute @@toStringTag
    getter bottom
    getter height
    getter left
    getter right
    getter top
    getter width
    getter x
    getter y
    method constructor
    method toJSON
interface DOMStringList
    attribute @@toStringTag
    getter length
    method @@iterator
    method constructor
    method contains
    method item
interface DataView
    attribute @@toStringTag
    getter buffer
    getter byteLength
    getter byteOffset
    method constructor
    method getFloat32
    method getFloat64
    method getInt16
    method getInt32
    method getInt8
    method getUint16
    method getUint32
    method getUint8
    method setFloat32
    method setFloat64
    method setInt16
    method setInt32
    method setInt8
    method setUint16
    method setUint32
    method setUint8
interface Event
    attribute @@toStringTag
    attribute AT_TARGET
    attribute BUBBLING_PHASE
    attribute CAPTURING_PHASE
    attribute NONE
    getter bubbles
    getter cancelBubble
    getter cancelable
    getter composed
    getter currentTarget
    getter defaultPrevented
    getter eventPhase
    getter path
    getter returnValue
    getter srcElement
    getter target
    getter timeStamp
    getter type
    method composedPath
    method constructor
    method initEvent
    method preventDefault
    method stopImmediatePropagation
    method stopPropagation
    setter cancelBubble
    setter returnValue
interface EventSource : EventTarget
    attribute @@toStringTag
    attribute CLOSED
    attribute CONNECTING
    attribute OPEN
    getter onerror
    getter onmessage
    getter onopen
    getter readyState
    getter url
    getter withCredentials
    method close
    method constructor
    setter onerror
    setter onmessage
    setter onopen
interface EventTarget
    attribute @@toStringTag
    method addEventListener
    method constructor
    method dispatchEvent
    method removeEventListener
interface ExtendableEvent : Event
    attribute @@toStringTag
    method constructor
    method waitUntil
interface ExtendableMessageEvent : ExtendableEvent
    attribute @@toStringTag
    getter data
    getter lastEventId
    getter origin
    getter ports
    getter source
    method constructor
interface FetchEvent : ExtendableEvent
    attribute @@toStringTag
    getter clientId
    getter isReload
    getter preloadResponse
    getter request
    method constructor
    method respondWith
interface File : Blob
    attribute @@toStringTag
    getter lastModified
    getter lastModifiedDate
    getter name
    getter webkitRelativePath
    method constructor
interface FileList
    attribute @@toStringTag
    getter length
    method @@iterator
    method constructor
    method item
interface FileReader : EventTarget
    attribute @@toStringTag
    attribute DONE
    attribute EMPTY
    attribute LOADING
    getter error
    getter onabort
    getter onerror
    getter onload
    getter onloadend
    getter onloadstart
    getter onprogress
    getter readyState
    getter result
    method abort
    method constructor
    method readAsArrayBuffer
    method readAsBinaryString
    method readAsDataURL
    method readAsText
    setter onabort
    setter onerror
    setter onload
    setter onloadend
    setter onloadstart
    setter onprogress
interface FormData
    attribute @@toStringTag
    method @@iterator
    method append
    method constructor
    method delete
    method entries
    method forEach
    method get
    method getAll
    method has
    method keys
    method set
    method values
interface Headers
    attribute @@toStringTag
    method @@iterator
    method append
    method constructor
    method delete
    method entries
    method forEach
    method get
    method has
    method keys
    method set
    method values
interface IDBCursor
    attribute @@toStringTag
    getter direction
    getter key
    getter primaryKey
    getter source
    method advance
    method constructor
    method continue
    method continuePrimaryKey
    method delete
    method update
interface IDBCursorWithValue : IDBCursor
    attribute @@toStringTag
    getter value
    method constructor
interface IDBDatabase : EventTarget
    attribute @@toStringTag
    getter name
    getter objectStoreNames
    getter onabort
    getter onclose
    getter onerror
    getter onversionchange
    getter version
    method close
    method constructor
    method createObjectStore
    method deleteObjectStore
    method transaction
    setter onabort
    setter onclose
    setter onerror
    setter onversionchange
interface IDBFactory
    attribute @@toStringTag
    method cmp
    method constructor
    method deleteDatabase
    method open
interface IDBIndex
    attribute @@toStringTag
    getter keyPath
    getter multiEntry
    getter name
    getter objectStore
    getter unique
    method constructor
    method count
    method get
    method getAll
    method getAllKeys
    method getKey
    method openCursor
    method openKeyCursor
    setter name
interface IDBKeyRange
    static method bound
    static method lowerBound
    static method only
    static method upperBound
    attribute @@toStringTag
    getter lower
    getter lowerOpen
    getter upper
    getter upperOpen
    method constructor
    method includes
interface IDBObjectStore
    attribute @@toStringTag
    getter autoIncrement
    getter indexNames
    getter keyPath
    getter name
    getter transaction
    method add
    method clear
    method constructor
    method count
    method createIndex
    method delete
    method deleteIndex
    method get
    method getAll
    method getAllKeys
    method getKey
    method index
    method openCursor
    method openKeyCursor
    method put
    setter name
interface IDBOpenDBRequest : IDBRequest
    attribute @@toStringTag
    getter onblocked
    getter onupgradeneeded
    method constructor
    setter onblocked
    setter onupgradeneeded
interface IDBRequest : EventTarget
    attribute @@toStringTag
    getter error
    getter onerror
    getter onsuccess
    getter readyState
    getter result
    getter source
    getter transaction
    method constructor
    setter onerror
    setter onsuccess
interface IDBTransaction : EventTarget
    attribute @@toStringTag
    getter db
    getter error
    getter mode
    getter objectStoreNames
    getter onabort
    getter oncomplete
    getter onerror
    method abort
    method constructor
    method objectStore
    setter onabort
    setter oncomplete
    setter onerror
interface IDBVersionChangeEvent : Event
    attribute @@toStringTag
    getter dataLoss
    getter dataLossMessage
    getter newVersion
    getter oldVersion
    method constructor
interface ImageBitmap
    attribute @@toStringTag
    getter height
    getter width
    method close
    method constructor
interface ImageData
    attribute @@toStringTag
    getter data
    getter height
    getter width
    method constructor
interface InstallEvent : ExtendableEvent
    attribute @@toStringTag
    method constructor
interface MessageChannel
    attribute @@toStringTag
    getter port1
    getter port2
    method constructor
interface MessageEvent : Event
    attribute @@toStringTag
    getter data
    getter lastEventId
    getter origin
    getter ports
    getter source
    method constructor
    method initMessageEvent
interface MessagePort : EventTarget
    attribute @@toStringTag
    getter onmessage
    getter onmessageerror
    method close
    method constructor
    method postMessage
    method start
    setter onmessage
    setter onmessageerror
interface NavigationPreloadManager
    attribute @@toStringTag
    method constructor
    method disable
    method enable
    method getState
    method setHeaderValue
interface NetworkInformation : EventTarget
    attribute @@toStringTag
    getter downlink
    getter effectiveType
    getter onchange
    getter rtt
    method constructor
    setter onchange
interface Notification : EventTarget
    static getter maxActions
    static getter permission
    attribute @@toStringTag
    getter actions
    getter badge
    getter body
    getter data
    getter dir
    getter icon
    getter lang
    getter onclick
    getter onclose
    getter onerror
    getter onshow
    getter renotify
    getter requireInteraction
    getter silent
    getter tag
    getter timestamp
    getter title
    getter vibrate
    method close
    method constructor
    setter onclick
    setter onclose
    setter onerror
    setter onshow
interface NotificationEvent : ExtendableEvent
    attribute @@toStringTag
    getter action
    getter notification
    method constructor
interface PerformanceEntry
    attribute @@toStringTag
    getter duration
    getter entryType
    getter name
    getter startTime
    method constructor
    method toJSON
interface PerformanceObserver
    attribute @@toStringTag
    method constructor
    method disconnect
    method observe
interface PerformanceObserverEntryList
    attribute @@toStringTag
    method constructor
    method getEntries
    method getEntriesByName
    method getEntriesByType
interface PerformanceResourceTiming : PerformanceEntry
    attribute @@toStringTag
    getter connectEnd
    getter connectStart
    getter decodedBodySize
    getter domainLookupEnd
    getter domainLookupStart
    getter encodedBodySize
    getter fetchStart
    getter initiatorType
    getter nextHopProtocol
    getter redirectEnd
    getter redirectStart
    getter requestStart
    getter responseEnd
    getter responseStart
    getter secureConnectionStart
    getter transferSize
    getter workerStart
    method constructor
    method toJSON
interface PermissionStatus : EventTarget
    attribute @@toStringTag
    getter onchange
    getter state
    method constructor
    setter onchange
interface Permissions
    attribute @@toStringTag
    method constructor
    method query
interface PromiseRejectionEvent : Event
    attribute @@toStringTag
    getter promise
    getter reason
    method constructor
interface PushEvent : ExtendableEvent
    attribute @@toStringTag
    getter data
    method constructor
interface PushManager
    static getter supportedContentEncodings
    attribute @@toStringTag
    method constructor
    method getSubscription
    method permissionState
    method subscribe
interface PushMessageData
    attribute @@toStringTag
    method arrayBuffer
    method blob
    method constructor
    method json
    method text
interface PushSubscription
    attribute @@toStringTag
    getter endpoint
    getter expirationTime
    getter options
    method constructor
    method getKey
    method toJSON
    method unsubscribe
interface PushSubscriptionOptions
    attribute @@toStringTag
    getter applicationServerKey
    getter userVisibleOnly
    method constructor
interface ReadableStream
    getter locked
    method cancel
    method constructor
    method getReader
    method pipeThrough
    method pipeTo
    method tee
interface Request
    attribute @@toStringTag
    getter bodyUsed
    getter cache
    getter credentials
    getter headers
    getter integrity
    getter method
    getter mode
    getter redirect
    getter referrer
    getter referrerPolicy
    getter url
    method arrayBuffer
    method blob
    method clone
    method constructor
    method formData
    method json
    method text
interface Response
    static method error
    static method redirect
    attribute @@toStringTag
    getter body
    getter bodyUsed
    getter headers
    getter ok
    getter redirected
    getter status
    getter statusText
    getter type
    getter url
    method arrayBuffer
    method blob
    method clone
    method constructor
    method formData
    method json
    method text
interface ServiceWorkerGlobalScope : WorkerGlobalScope
    attribute @@toStringTag
    method constructor
interface ServiceWorkerRegistration : EventTarget
    attribute @@toStringTag
    getter active
    getter installing
    getter navigationPreload
    getter onupdatefound
    getter pushManager
    getter scope
    getter sync
    getter waiting
    method constructor
    method getNotifications
    method showNotification
    method unregister
    method update
    setter onupdatefound
interface SharedArrayBuffer
    attribute @@toStringTag
    getter byteLength
    method constructor
    method slice
interface StorageManager
    attribute @@toStringTag
    method constructor
    method estimate
    method persisted
interface SubtleCrypto
    attribute @@toStringTag
    method constructor
    method decrypt
    method deriveBits
    method deriveKey
    method digest
    method encrypt
    method exportKey
    method generateKey
    method importKey
    method sign
    method unwrapKey
    method verify
    method wrapKey
interface SyncEvent : ExtendableEvent
    attribute @@toStringTag
    getter lastChance
    getter tag
    method constructor
interface SyncManager
    attribute @@toStringTag
    method constructor
    method getTags
    method register
interface TextDecoder
    attribute @@toStringTag
    getter encoding
    getter fatal
    getter ignoreBOM
    method constructor
    method decode
interface TextEncoder
    attribute @@toStringTag
    getter encoding
    method constructor
    method encode
interface URL
    attribute @@toStringTag
    getter hash
    getter host
    getter hostname
    getter href
    getter origin
    getter password
    getter pathname
    getter port
    getter protocol
    getter search
    getter searchParams
    getter username
    method constructor
    method toString
    setter hash
    setter host
    setter hostname
    setter href
    setter password
    setter pathname
    setter port
    setter protocol
    setter search
    setter username
interface URLSearchParams
    attribute @@toStringTag
    method @@iterator
    method append
    method constructor
    method delete
    method entries
    method forEach
    method get
    method getAll
    method has
    method keys
    method set
    method sort
    method toString
    method values
interface WebSocket : EventTarget
    attribute @@toStringTag
    attribute CLOSED
    attribute CLOSING
    attribute CONNECTING
    attribute OPEN
    getter binaryType
    getter bufferedAmount
    getter extensions
    getter onclose
    getter onerror
    getter onmessage
    getter onopen
    getter protocol
    getter readyState
    getter url
    method close
    method constructor
    method send
    setter binaryType
    setter onclose
    setter onerror
    setter onmessage
    setter onopen
interface WindowClient : Client
    attribute @@toStringTag
    getter focused
    getter visibilityState
    method constructor
    method focus
    method navigate
interface WorkerGlobalScope : EventTarget
    attribute @@toStringTag
    getter caches
    getter crypto
    getter indexedDB
    getter isSecureContext
    getter location
    getter navigator
    getter onerror
    getter onrejectionhandled
    getter onunhandledrejection
    getter origin
    getter performance
    getter self
    method atob
    method btoa
    method clearInterval
    method clearTimeout
    method constructor
    method createImageBitmap
    method fetch
    method importScripts
    method setInterval
    method setTimeout
    setter onerror
    setter onrejectionhandled
    setter onunhandledrejection
    setter origin
interface WorkerLocation
    attribute @@toStringTag
    getter hash
    getter host
    getter hostname
    getter href
    getter origin
    getter pathname
    getter port
    getter protocol
    getter search
    method constructor
    method toString
interface WorkerNavigator
    attribute @@toStringTag
    getter appCodeName
    getter appName
    getter appVersion
    getter budget
    getter connection
    getter hardwareConcurrency
    getter onLine
    getter permissions
    getter platform
    getter product
    getter storage
    getter userAgent
    method constructor
interface WritableStream
    getter locked
    method abort
    method constructor
    method getWriter
[GLOBAL OBJECT]
    attribute Atomics
    attribute console
    attribute internals
    getter clients
    getter onactivate
    getter onfetch
    getter oninstall
    getter onmessage
    getter onnotificationclick
    getter onnotificationclose
    getter onpush
    getter onsync
    getter registration
    method fetch
    method gc
    method skipWaiting
    setter onactivate
    setter onfetch
    setter oninstall
    setter onmessage
    setter onnotificationclick
    setter onnotificationclose
    setter onpush
    setter onsync
PASS Verify the interface of ServiceWorkerGlobalScope
PASS successfullyParsed is true

TEST COMPLETE

