From b3471047868c3a45d129845b854b5c630265f498 Mon Sep 17 00:00:00 2001 From: AnnAngela Date: Mon, 22 Jan 2024 17:46:56 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=9D=E8=A7=81=E6=96=B0=20polyfill?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitattributes | 4 +- .github/workflows/generatePolyfill.yaml | 88 + .github/workflows/postCommit.yaml | 3 +- eslint.config.js | 7 +- scripts/generatePolyfill/config.yaml | 15 + scripts/generatePolyfill/index.js | 277 +- scripts/generatePolyfill/template.js | 32 - .../unrecognizableFeatures.json | 2425 ----------------- src/gadgets/libPolyfill/.eslintrc.yaml | 2 - 9 files changed, 220 insertions(+), 2633 deletions(-) create mode 100644 .github/workflows/generatePolyfill.yaml create mode 100644 scripts/generatePolyfill/config.yaml delete mode 100644 scripts/generatePolyfill/template.js delete mode 100644 scripts/generatePolyfill/unrecognizableFeatures.json delete mode 100644 src/gadgets/libPolyfill/.eslintrc.yaml diff --git a/.gitattributes b/.gitattributes index 9cb2a2a1..47e7deac 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4,9 +4,7 @@ src/**/*.json linguist-generated=false src/*.json linguist-generated=false src/**/*.yaml linguist-generated=false src/*.yaml linguist-generated=false - -# From generatePolyfill -src/gadgets/libPolyfill/MediaWiki:Gadget-libPolyfill.js linguist-generated=true +src/gadgets/libPolyfill/MediaWiki:Gadget-libPolyfill.*.js linguist-generated=true # From ganerateCommitsHistory src/global/zh/MediaWiki:GHIAHistory.json linguist-generated=true diff --git a/.github/workflows/generatePolyfill.yaml b/.github/workflows/generatePolyfill.yaml new file mode 100644 index 00000000..f8685479 --- /dev/null +++ b/.github/workflows/generatePolyfill.yaml @@ -0,0 +1,88 @@ +name: Generate Polyfill + +on: + push: + paths: + - scripts/generatePolyfill/config.yaml + - scripts/generatePolyfill/index.js + merge_group: + pull_request: + paths: + - scripts/generatePolyfill/config.yaml + - scripts/generatePolyfill/index.js + workflow_dispatch: + schedule: + - cron: 0 23 * * 0 # Every 07:00 CST Mon + +concurrency: + group: ${{ github.workflow_ref }}-${{ github.ref }} + +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +permissions: + actions: read + checks: read + contents: write + deployments: read + issues: write + discussions: read + packages: read + pages: read + pull-requests: read + repository-projects: read + security-events: write + statuses: write + +jobs: + generatePolyfill: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + name: Checkout main repo + with: + fetch-depth: 0 + show-progress: false + - name: Get toe polyfill config + id: polyfillConfig + run: | + echo "TARGET_POLYFILL_VERSION=$(yq '.TARGET_POLYFILL_VERSION' scripts/generatePolyfill/config.yaml)" >> $GITHUB_OUTPUT + cat $GITHUB_OUTPUT + - uses: actions/checkout@v4 + name: Checkout polyfill.io + with: + show-progress: false + repository: JakeChampion/polyfill-service + path: polyfill-service + sparse-checkout: | + polyfill-libraries/${{ steps.polyfillConfig.outputs.TARGET_POLYFILL_VERSION }}/ + polyfill-libraries/${{ steps.polyfillConfig.outputs.TARGET_POLYFILL_VERSION }}.json + sparse-checkout-cone-mode: false + - name: Move polyfill.io + id: polyfill + run: | + POLYFILL_PATH="${{ runner.temp }}/$(uuidgen)" + echo "POLYFILL_PATH=$POLYFILL_PATH" >> $GITHUB_OUTPUT + cat $GITHUB_OUTPUT + mv polyfill-service/polyfill-libraries/${{ steps.polyfillConfig.outputs.TARGET_POLYFILL_VERSION }}.json $POLYFILL_PATH/main.json + mv polyfill-service/polyfill-libraries/${{ steps.polyfillConfig.outputs.TARGET_POLYFILL_VERSION }}/ $POLYFILL_PATH/library + rm -rf polyfill-service + - name: Use Node.js + uses: actions/setup-node@v4 + with: + node-version: lts/* + check-latest: true + cache: npm + - name: Installing the dependencies + uses: AnnAngela/cached_node-modules@v2 + with: + command: npm run ci + - name: Git config + run: node scripts/postCommit/prepareGit.js + - name: Gadget-polyfill generator + run: node scripts/generatePolyfill/index.js + env: + POLYFILL_PATH: ${{ steps.polyfill.outputs.POLYFILL_PATH }} + - name: Show git status & push + id: output + run: node scripts/postCommit/push.js diff --git a/.github/workflows/postCommit.yaml b/.github/workflows/postCommit.yaml index 62b2ee13..ef2663db 100644 --- a/.github/workflows/postCommit.yaml +++ b/.github/workflows/postCommit.yaml @@ -92,6 +92,7 @@ jobs: if: always() && needs.skipCI.result == 'success' && needs.skipCI.outputs.skip != 'true' steps: - uses: actions/checkout@v4 + name: Checkout main repo with: fetch-depth: 0 show-progress: false @@ -113,8 +114,6 @@ jobs: run: node scripts/browserify/index.js - name: Auto prefetch run: node scripts/prefetch/index.js - - name: Gadget-polyfill generator - run: node scripts/generatePolyfill/index.js - name: Gadgets-definition Generator run: node scripts/generateGadgetsDefinition/index.js - name: Conventional Commits scopes generator diff --git a/eslint.config.js b/eslint.config.js index ba633db9..28fd66a1 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -11,6 +11,7 @@ const ignores = [ "**/dist/**", "**/.*/**", "node_modules", + "src/gadgets/libPolyfill/MediaWiki:Gadget-libPolyfill.*.js", ]; const srcESlintrcFiles = (await readDir("./src")).filter((n) => path.basename(n) === ".eslintrc.yaml"); @@ -34,7 +35,6 @@ const fileSpec = { browser: { files: [ "src/**/*", - "scripts/generatePolyfill/template.js", ], ignores, }, @@ -43,10 +43,7 @@ const fileSpec = { "scripts/**/*", "eslint.config.js", ], - ignores: [ - ...ignores, - "scripts/generatePolyfill/template.js", - ], + ignores, }, }; diff --git a/scripts/generatePolyfill/config.yaml b/scripts/generatePolyfill/config.yaml new file mode 100644 index 00000000..d7e310d2 --- /dev/null +++ b/scripts/generatePolyfill/config.yaml @@ -0,0 +1,15 @@ +TARGET_CHROMIUM_VERSION: 86 + +TARGET_POLYFILL_VERSION: 3.111.0 + +TARGET_ALIASES: + - default + - dom4 + - es2015 + - es2016 + - es2017 + - es2018 + - es2019 + - es2020 + - es2021 + - es2022 diff --git a/scripts/generatePolyfill/index.js b/scripts/generatePolyfill/index.js index 8fcaa443..507d06c2 100644 --- a/scripts/generatePolyfill/index.js +++ b/scripts/generatePolyfill/index.js @@ -1,30 +1,44 @@ import console from "../modules/console.js"; console.info("Initialization done."); -import exec from "../modules/exec.js"; -import mkdtmp from "../modules/mkdtmp.js"; -import createCommit from "../modules/createCommit.js"; -import fs from "fs"; -import path from "path"; +import fs from "node:fs"; +import path from "node:path"; +import semver from "semver"; import jsonModule from "../modules/jsonModule.js"; import yamlModule from "../modules/yamlModule.js"; -import { exportVariable, startGroup, endGroup } from "@actions/core"; -import { createIssue, isInGithubActions } from "../modules/octokit.js"; -import artifactClient from "../modules/artifact.js"; +import { startGroup, endGroup } from "@actions/core"; -exportVariable("linguist-generated-generatePolyfill", JSON.stringify(["src/gadgets/libPolyfill/MediaWiki:Gadget-libPolyfill.js"])); +const polyfillGadgetDefinitionPath = "src/gadgets/libPolyfill/definition.yaml"; +const polyfillGadgetDefinition = await yamlModule.readFile(polyfillGadgetDefinitionPath); +const getPolyfillGadgetFiles = async () => (await fs.promises.readdir("src/gadgets/libPolyfill/")).filter((file) => file.startsWith("MediaWiki:Gadget-libPolyfill") && file.endsWith(".js")); -const unrecognizableFeatures = await jsonModule.readFile("scripts/generatePolyfill/unrecognizableFeatures.json"); +/** + * @type { { TARGET_CHROMIUM_VERSION: string | number, TARGET_ALIASES: string[] } } + */ +const { TARGET_CHROMIUM_VERSION, TARGET_ALIASES } = await yamlModule.readFile("./scripts/generatePolyfill/config.yaml"); -const TARGET_CHROMIUM_VERSION = "70.0.3538.0"; -const TARGET_UA = `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${TARGET_CHROMIUM_VERSION} Safari/537.36`; -const labels = ["ci:generatePolyfill"]; +const TARGET_VERSION = `${TARGET_CHROMIUM_VERSION}.0.0`; +const { POLYFILL_PATH } = process.env; -// const findPolyfillFiles = async () => (await fs.promises.readdir("src/gadgets/libPolyfill/")).filter((file) => file.startsWith("MediaWiki:Gadget-libPolyfill")); -const polyfillFiles = ["MediaWiki:Gadget-libPolyfill.js"]; +if (!POLYFILL_PATH) { + throw new Error("No POLYFILL_PATH env variable."); +} + +startGroup("Config:"); +console.info("TARGET_CHROMIUM_VERSION:", TARGET_CHROMIUM_VERSION); +console.info("TARGET_ALIASES:", TARGET_ALIASES); +console.info("TARGET_VERSION:", TARGET_VERSION); +console.info("POLYFILL_PATH:", POLYFILL_PATH); +endGroup(); + +const polyfillGadgetFiles = await getPolyfillGadgetFiles(); +const polyfillMainJSONPath = path.join(POLYFILL_PATH, "main.json"); +const polyfillLibraryPath = path.join(POLYFILL_PATH, "library"); console.info("Start to delete old polyfill files:"); -const tempPath = await mkdtmp(); -for (const file of polyfillFiles) { +for (const file of polyfillGadgetFiles) { + if (file.startsWith("MediaWiki:Gadget-libPolyfill-")) { + continue; + } console.info("\tDeleteting", file); await fs.promises.rm(path.join("src/gadgets/libPolyfill/", file), { force: true, @@ -32,157 +46,92 @@ for (const file of polyfillFiles) { }); console.info("\tDeleteting", file, "done."); } -console.info("Start to compile src/ to temporary bundle file..."); -const bundlePath = path.join(tempPath, "bundle.js"); -console.log("bundlePath:", bundlePath); -await exec(`npx tsc --project tsconfig.production.json --outFile ${bundlePath}`); -console.info("\tDone."); -console.info("Start to analyse the temporary bundle file..."); -const analysisReport = [...new Set(JSON.parse(await exec(`npx @financial-times/js-features-analyser analyse --file ${path.relative(".", bundlePath)}`)))].sort(); -const features = analysisReport.filter((feature) => !unrecognizableFeatures.includes(feature)); -console.info("\tDone."); -console.info("\tfeatures:"); -startGroup("features:"); -console.info(JSON.stringify(features, null, 4)); -endGroup(); -const newUnrecognizableFeatures = []; -console.info("Start to download polyfill file..."); -const url = new URL("https://polyfill.io/v3/polyfill.js"); -url.searchParams.set("features", features.join(",")); -url.searchParams.set("ua", TARGET_UA); -const dataResponse = await fetch(url, { - method: "GET", - headers: { - "user-agent": TARGET_UA, - }, -}); -const data = await dataResponse.text(); -const codeFilePath = path.join(tempPath, "polyfillGeneratedCode.js"); -await fs.promises.writeFile(codeFilePath, data, { - encoding: "utf-8", -}); -console.info("\tDone, upload it as a artifact..."); -if (isInGithubActions) { - await artifactClient.uploadArtifact("polyfillGeneratedCode.js", [codeFilePath], tempPath); -} -console.info("\tDone."); -console.info("Start to find unrecognizable features..."); -let hasUnparsableUnrecognizableFeatures = false; -if (data.includes("These features were not recognised")) { - const match = data.match(/(?<=\n \* These features were not recognised:\n \* - )[^\n]+?(?=\s*\*\/)/)?.[0]?.split?.(/,-\s*/); - if (Array.isArray(match)) { - newUnrecognizableFeatures.push(...match); - } else { - hasUnparsableUnrecognizableFeatures = true; - } -} +console.info("Start to read polyfill JSON..."); +const polyfillMainJSONArray = Object.entries(await jsonModule.readFile(polyfillMainJSONPath)).map(([id, v]) => ({ + id, + ...JSON.parse(v), +})); +const polyfillMainJSON = Object.fromEntries(polyfillMainJSONArray.map((v) => [v.id, v])); +console.info("Get", polyfillMainJSONArray.length, "polyfill entries."); +const polyfillList = polyfillMainJSONArray.filter(({ aliases }) => Array.isArray(aliases) && TARGET_ALIASES.some((targetAliases) => aliases.includes(targetAliases))); +console.info("Get", polyfillList.length, "polyfill entries with aliases."); +const polyfillListAllowed = polyfillList.filter(({ browsers }) => browsers?.chrome && semver.satisfies(TARGET_VERSION, browsers?.chrome)); +console.info("Get", polyfillListAllowed.length, "polyfill entries with aliases and target browsers."); -if (newUnrecognizableFeatures.length === 0 && !hasUnparsableUnrecognizableFeatures) { - console.info("\tNone, done."); -} else { - if (newUnrecognizableFeatures.length > 0) { - console.info("New unrecognizable features found:", newUnrecognizableFeatures); - await createIssue( - "[generatePolyfill] New unrecognizable features detected from polyfill.io", - "These new unrecognizable features detected from polyfill.io:", - labels, - `newUnrecognizableFeatures:\n\`\`\`json\n${JSON.stringify(newUnrecognizableFeatures, null, 4)}\n\`\`\``, - ); +const readPolyfillRawJS = async (dir) => { + console.info("\t[readPolyfillRawJS]", "Testing", dir); + if (await fs.promises.access(dir).then(() => true).catch(() => false)) { + console.info("\t[readPolyfillRawJS]", dir, "exist, reading raw js."); + return (await fs.promises.readFile(path.join(dir, "raw.js"), { encoding: "utf-8" })).split("\n"); } - if (hasUnparsableUnrecognizableFeatures) { - console.info("New unparsable unrecognizable features found."); - await createIssue( - "[generatePolyfill] New unparsable unrecognizable features detected from polyfill.io", - "Found new unparsable unrecognizable features detected from polyfill.io, please check it manually.", - labels, - ); + console.info("\t[readPolyfillRawJS]", dir, "not exist, return false."); + return false; +}; +const polyfillAlreadyInjected = {}; +const getPolyfillContent = async (polyfill, _rootPolyfillID = false) => { + const rootPolyfillID = _rootPolyfillID || polyfill.id; + if (!Array.isArray(polyfillAlreadyInjected[rootPolyfillID])) { + polyfillAlreadyInjected[rootPolyfillID] = []; } -} -console.info("Start to write polyfill file to gadget-libPolyfill ..."); -const flaggableFeatures = features.filter((feature) => !newUnrecognizableFeatures.includes(feature)); -const code = `${await fs.promises.readFile("scripts/generatePolyfill/template.js")}`.replace("$$$TARGET_CHROMIUM_VERSION$$$", TARGET_CHROMIUM_VERSION).replace("$$$TARGET_UA$$$", TARGET_UA).replace("$$$FLAGGABLE_FEATURES$$$", JSON.stringify(flaggableFeatures, null, 1).replace(/\n */g, " ")).replace("$$$FEATURES$$$", flaggableFeatures.join(",")); -await fs.promises.writeFile("src/gadgets/libPolyfill/MediaWiki:Gadget-libPolyfill.js", code); -console.info("\tDone."); -console.info("Start to generate .eslintrc.yaml ..."); -const eslintrc = await yamlModule.readFile("src/gadgets/libPolyfill/.eslintrc.yaml").catch(() => ({})); -eslintrc.ignorePatterns = polyfillFiles; -console.info("New .eslintrc.yaml:", eslintrc); -await yamlModule.writeFile("src/gadgets/libPolyfill/.eslintrc.yaml", eslintrc); -await createCommit("auto(Gadget-libPolyfill): new polyfill generated by generatePolyfill"); -console.info("Done."); -console.info("Start to test the generated url..."); -const generatedUrl = code.match(/(?<=script.src = ")[^"]+/)?.[0]; -if (typeof generatedUrl !== "string") { - await createIssue( - "[generatePolyfill] Unable to retrieve the generated url", - "Unable to retrieve the generated url via `/(?<=script.src = \")[^\"]+/`, please check [`src/gadgets/libPolyfill/MediaWiki:Gadget-libPolyfill.js`](src/gadgets/libPolyfill/MediaWiki:Gadget-libPolyfill.js)", - labels, - ); - process.exit(0); -} -console.info("generatedUrl:"); -startGroup("generatedUrl:"); -console.info(generatedUrl); -endGroup(); -const polyfillIOUrl = new URL(generatedUrl); -polyfillIOUrl.hostname = "polyfill.io"; -console.info("polyfillIOUrl:"); -startGroup("polyfillIOUrl:"); -console.info(polyfillIOUrl); -endGroup(); -/** - * @type {(Response | TypeError)[]} - */ -const [generatedUrlResponse, polyfillIOUrlResponse] = await Promise.all([ - ["generatedUrl", generatedUrl], - ["polyfillIOUrl", polyfillIOUrl], -].map(([type, url]) => fetch(url, { - method: "HEAD", - headers: { - "user-agent": TARGET_UA, - }, -}).catch((e) => { - console.error("Unable to fetch", type, ":", e); - return e; -}))); -if (generatedUrlResponse instanceof TypeError && polyfillIOUrlResponse instanceof TypeError) { - console.error("Both generatedUrl and polyfillIOUrl is not able to be fetched!"); - await createIssue( - "[generatePolyfill] Unable to fetch the generated url", - `Unable to fetch the generated url \`${generatedUrl}\` and polyfill.io's one, please check it manually.`, - labels, - `Reason:\n* generatedUrl: ${generatedUrlResponse.name} - ${generatedUrlResponse.message}\n* polyfillIOUrl: ${polyfillIOUrlResponse.name} - ${polyfillIOUrlResponse.message}`, - ); - process.exit(0); -} -if (generatedUrlResponse?.status >= 400 && polyfillIOUrlResponse?.status >= 400) { - console.error("Unable to fetch generatedUrl: network failed -", generatedUrlResponse.status, generatedUrlResponse.statusText); - console.error("Unable to fetch polyfillIOUrl: network failed -", polyfillIOUrlResponse.status, polyfillIOUrlResponse.statusText); - await createIssue( - "[generatePolyfill] Unable to fetch the generated url", - `Unable to fetch the generated url \`${generatedUrl}\` and polyfill.io's one, please check it manually.`, - labels, - `Status:\n* generatedUrl: ${generatedUrlResponse.status} - ${generatedUrlResponse.statusText}\n* polyfillIOUrl: ${polyfillIOUrlResponse.status} - ${polyfillIOUrlResponse.statusText}`, - ); - process.exit(0); -} -console.info("Success:"); -/** - * @type {[string, Response | TypeError][]} - */ -const results = [ - ["generatedUrl", generatedUrlResponse], - ["polyfillIOUrl", polyfillIOUrlResponse], -]; -for (const [type, response] of results) { - const msg = []; - if (response instanceof TypeError) { - msg.push("network failed -", response.name, response.message); - } else if (response.status >= 400) { - msg.push("backend failed -", response.status, response.statusText); + if (polyfillAlreadyInjected[rootPolyfillID].includes(polyfill.id)) { + console.info("\t[getPolyfillContent]", `[${polyfill.id}@${rootPolyfillID}]`, "Already injected, skip."); + return []; + } + polyfillAlreadyInjected[rootPolyfillID].push(polyfill.id); + console.info("\t[getPolyfillContent]", `[${polyfill.id}@${rootPolyfillID}]`, "Processing", polyfill.id); + const content = []; + const detectSource = polyfill.detectSource?.trim(); + console.info("\t[getPolyfillContent]", `[${polyfill.id}@${rootPolyfillID}]`, "detectSource:", detectSource); + if (detectSource) { + content.push(`if (!(${detectSource})) {`); + } + console.info("\t[getPolyfillContent]", `[${polyfill.id}@${rootPolyfillID}]`, "dependencies:", polyfill.dependencies); + if (Array.isArray(polyfill.dependencies)) { + for (const dependency of polyfill.dependencies) { + content.push(...await getPolyfillContent(polyfillMainJSON[dependency], rootPolyfillID)); + } + } + const polyfillRawJSFromBaseDir = await readPolyfillRawJS(path.join(polyfillLibraryPath, polyfill.baseDir)); + if (Array.isArray(polyfillRawJSFromBaseDir)) { + console.info("\t[getPolyfillContent]", `[${polyfill.id}@${rootPolyfillID}]`, "polyfillRawJSFromBaseDir exist."); + content.push(...polyfillRawJSFromBaseDir); } else { - msg.push("success -", response.status, response.statusText, "Content-Length:", response.headers.get("content-length")); + const polyfillRawJSFromID = await readPolyfillRawJS(path.join(polyfillLibraryPath, polyfill.id)); + if (Array.isArray(polyfillRawJSFromID)) { + console.info("\t[getPolyfillContent]", `[${polyfill.id}@${rootPolyfillID}]`, "polyfillRawJSFromID exist."); + content.push(...polyfillRawJSFromID); + } else { + throw new Error(`No raw.js found in ${path.join(polyfillLibraryPath, polyfill.baseDir)} or ${path.join(polyfillLibraryPath, polyfill.id)}`); + } + } + if (detectSource) { + content.push("}"); } - console.info(`\t${type}`, ...msg); + console.info("\t[getPolyfillContent]", `[${polyfill.id}@${rootPolyfillID}]`, "Done."); + return content; +}; +for (const polyfill of polyfillListAllowed) { + startGroup(`Parsing polyfill: ${polyfill.id}`); + const content = [ + "\"use strict\";", + "/**", + " * Generated by scripts/generatePolyfill/index.js", + " * Options:", + ` * polyfillFeature: ${polyfill.id}`, + ` * polyfillAliases: ${Array.isArray(polyfill.aliases) ? polyfill.aliases.join(", ") : null}`, + ` * targetChromiumVersion: ${TARGET_VERSION}`, + ` * polyfillVersionRange: ${polyfill.browsers?.chrome ? `${semver.validRange(polyfill.browsers.chrome)} (${polyfill.browsers.chrome})` : null}`, + " */", + "(() => {", + ...await getPolyfillContent(polyfill), + "})();", + ]; + const gadgetFilePath = path.join("src/gadgets/libPolyfill/", `MediaWiki:Gadget-libPolyfill.${polyfill.id}.js`); + console.info("Start to write polyfill file:", polyfill.id, "@", gadgetFilePath); + await fs.promises.writeFile(gadgetFilePath, content.join("\n")); + console.info("Done."); + endGroup(); } +polyfillGadgetDefinition._files = await getPolyfillGadgetFiles(); +await yamlModule.writeFile(polyfillGadgetDefinitionPath, polyfillGadgetDefinition); console.info("Done."); diff --git a/scripts/generatePolyfill/template.js b/scripts/generatePolyfill/template.js deleted file mode 100644 index 5ca3f0e6..00000000 --- a/scripts/generatePolyfill/template.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; -/** - * Generated by scripts/generatePolyfill/index.js - * Options: - * targetChromiumVersion: "$$$TARGET_CHROMIUM_VERSION$$$" - * targetUA: "$$$TARGET_UA$$$" - * unrecognizableFeaturesFeatures: "scripts/generatePolyfill/unrecognizableFeatures.json" - * flaggableFeatures: $$$FLAGGABLE_FEATURES$$$ - */ -(() => { - const script = document.createElement("script"); - const url = new URL("https://polyfill.alicdn.com/v3/polyfill.js"); - url.searchParams.set("features", "$$$FEATURES$$$"); - url.searchParams.set("_", btoa(navigator.userAgent)); - script.src = url.toString(); - script.async = false; - const polyfillPromise = new Promise((res) => { - script.addEventListener("load", () => res(), { - once: true, - }); - script.addEventListener("error", () => res(), { - once: true, - }); - }); - Reflect.defineProperty(window, "polyfillPromise", { - configurable: false, - enumerable: true, - writable: false, - value: polyfillPromise, - }); - document.head.appendChild(script); -})(); diff --git a/scripts/generatePolyfill/unrecognizableFeatures.json b/scripts/generatePolyfill/unrecognizableFeatures.json deleted file mode 100644 index 2fa3e6ab..00000000 --- a/scripts/generatePolyfill/unrecognizableFeatures.json +++ /dev/null @@ -1,2425 +0,0 @@ -[ - "AbortController.prototype.abort", - "AbortController.prototype.constructor", - "AbortSignal.prototype.aborted", - "AbortSignal.prototype.constructor", - "AbsoluteOrientationSensor.prototype.constructor", - "Accelerometer.prototype.constructor", - "Accelerometer.prototype.x", - "Accelerometer.prototype.y", - "AnalyserNode.prototype.constructor", - "Animation.prototype.cancel", - "Animation.prototype.constructor", - "Animation.prototype.finish", - "Animation.prototype.id", - "Animation.prototype.reverse", - "AnimationEffect.prototype.constructor", - "AnimationEvent.prototype.constructor", - "ApplicationCache.prototype.abort", - "ApplicationCache.prototype.constructor", - "ApplicationCache.prototype.status", - "ApplicationCache.prototype.update", - "ApplicationCacheErrorEvent.prototype.constructor", - "ApplicationCacheErrorEvent.prototype.message", - "ApplicationCacheErrorEvent.prototype.reason", - "ApplicationCacheErrorEvent.prototype.status", - "ApplicationCacheErrorEvent.prototype.url", - "Array", - "Array.prototype", - "Array.prototype.concat", - "Array.prototype.constructor", - "Array.prototype.join", - "Array.prototype.length", - "Array.prototype.pop", - "Array.prototype.push", - "Array.prototype.reverse", - "Array.prototype.shift", - "Array.prototype.slice", - "Array.prototype.splice", - "Array.prototype.toLocaleString", - "Array.prototype.toString", - "Array.prototype.unshift", - "ArrayBuffer.prototype.byteLength", - "ArrayBuffer.prototype.constructor", - "ArrayBuffer.prototype.slice", - "Attr.prototype.constructor", - "Attr.prototype.name", - "Attr.prototype.prefix", - "Attr.prototype.value", - "Audio.prototype.constructor", - "AudioBuffer.prototype.constructor", - "AudioBuffer.prototype.duration", - "AudioBuffer.prototype.length", - "AudioBufferSourceNode.prototype.buffer", - "AudioBufferSourceNode.prototype.constructor", - "AudioBufferSourceNode.prototype.start", - "AudioContext.prototype.close", - "AudioContext.prototype.constructor", - "AudioDestinationNode.prototype.constructor", - "AudioListener.prototype.constructor", - "AudioListener.prototype.setPosition", - "AudioNode.prototype.connect", - "AudioNode.prototype.constructor", - "AudioNode.prototype.disconnect", - "AudioParam.prototype.constructor", - "AudioParam.prototype.value", - "AudioParamMap.prototype.constructor", - "AudioParamMap.prototype.entries", - "AudioParamMap.prototype.forEach", - "AudioParamMap.prototype.get", - "AudioParamMap.prototype.has", - "AudioParamMap.prototype.keys", - "AudioParamMap.prototype.size", - "AudioParamMap.prototype.values", - "AudioProcessingEvent.prototype.constructor", - "AudioScheduledSourceNode.prototype.constructor", - "AudioScheduledSourceNode.prototype.start", - "AudioScheduledSourceNode.prototype.stop", - "AudioWorklet.prototype.constructor", - "AudioWorkletNode.prototype.constructor", - "AudioWorkletNode.prototype.port", - "AuthenticatorAssertionResponse.prototype.constructor", - "AuthenticatorAttestationResponse.prototype.constructor", - "AuthenticatorResponse.prototype.constructor", - "BackgroundFetchManager.prototype.constructor", - "BackgroundFetchManager.prototype.get", - "BackgroundFetchRecord.prototype.constructor", - "BackgroundFetchRegistration.prototype.abort", - "BackgroundFetchRegistration.prototype.constructor", - "BackgroundFetchRegistration.prototype.id", - "BackgroundFetchRegistration.prototype.match", - "BackgroundFetchRegistration.prototype.result", - "BarProp.prototype.constructor", - "BarProp.prototype.visible", - "BaseAudioContext.prototype.constructor", - "BaseAudioContext.prototype.state", - "BatteryManager.prototype.constructor", - "BeforeUnloadEvent.prototype.constructor", - "BigInt", - "BigInt.prototype.constructor", - "BigInt.prototype.toLocaleString", - "BigInt.prototype.toString", - "BigInt.prototype.valueOf", - "BigInt64Array.prototype.constructor", - "BigUint64Array.prototype.constructor", - "BiquadFilterNode.prototype.constructor", - "BiquadFilterNode.prototype.type", - "Blob.prototype.constructor", - "Blob.prototype.size", - "Blob.prototype.slice", - "Blob.prototype.type", - "BlobEvent.prototype.constructor", - "BlobEvent.prototype.data", - "Boolean", - "Boolean.prototype.constructor", - "Boolean.prototype.toString", - "Boolean.prototype.valueOf", - "BroadcastChannel.prototype.close", - "BroadcastChannel.prototype.constructor", - "BroadcastChannel.prototype.name", - "BroadcastChannel.prototype.postMessage", - "ByteLengthQueuingStrategy.prototype.constructor", - "ByteLengthQueuingStrategy.prototype.size", - "CSS.prototype.constructor", - "CSSConditionRule.prototype.constructor", - "CSSFontFaceRule.prototype.constructor", - "CSSFontFaceRule.prototype.style", - "CSSGroupingRule.prototype.constructor", - "CSSImageValue.prototype.constructor", - "CSSImportRule.prototype.constructor", - "CSSImportRule.prototype.href", - "CSSKeyframeRule.prototype.constructor", - "CSSKeyframeRule.prototype.style", - "CSSKeyframesRule.prototype.constructor", - "CSSKeyframesRule.prototype.name", - "CSSKeywordValue.prototype.constructor", - "CSSKeywordValue.prototype.value", - "CSSMathInvert.prototype.constructor", - "CSSMathInvert.prototype.value", - "CSSMathMax.prototype.constructor", - "CSSMathMax.prototype.values", - "CSSMathMin.prototype.constructor", - "CSSMathMin.prototype.values", - "CSSMathNegate.prototype.constructor", - "CSSMathNegate.prototype.value", - "CSSMathProduct.prototype.constructor", - "CSSMathProduct.prototype.values", - "CSSMathSum.prototype.constructor", - "CSSMathSum.prototype.values", - "CSSMathValue.prototype.constructor", - "CSSMatrixComponent.prototype.constructor", - "CSSMediaRule.prototype.constructor", - "CSSNamespaceRule.prototype.constructor", - "CSSNamespaceRule.prototype.prefix", - "CSSNumericArray.prototype.constructor", - "CSSNumericArray.prototype.entries", - "CSSNumericArray.prototype.forEach", - "CSSNumericArray.prototype.keys", - "CSSNumericArray.prototype.length", - "CSSNumericArray.prototype.values", - "CSSNumericValue.prototype.add", - "CSSNumericValue.prototype.constructor", - "CSSNumericValue.prototype.max", - "CSSNumericValue.prototype.min", - "CSSNumericValue.prototype.to", - "CSSNumericValue.prototype.type", - "CSSPageRule.prototype.constructor", - "CSSPageRule.prototype.style", - "CSSPerspective.prototype.constructor", - "CSSPerspective.prototype.length", - "CSSPositionValue.prototype.constructor", - "CSSPositionValue.prototype.x", - "CSSPositionValue.prototype.y", - "CSSRotate.prototype.constructor", - "CSSRotate.prototype.x", - "CSSRotate.prototype.y", - "CSSRule.prototype.constructor", - "CSSRule.prototype.type", - "CSSRuleList.prototype.constructor", - "CSSRuleList.prototype.item", - "CSSRuleList.prototype.length", - "CSSScale.prototype.constructor", - "CSSScale.prototype.x", - "CSSScale.prototype.y", - "CSSSkew.prototype.constructor", - "CSSSkewX.prototype.constructor", - "CSSSkewY.prototype.constructor", - "CSSStyleDeclaration.prototype.constructor", - "CSSStyleDeclaration.prototype.getPropertyValue", - "CSSStyleDeclaration.prototype.item", - "CSSStyleDeclaration.prototype.length", - "CSSStyleRule.prototype.constructor", - "CSSStyleRule.prototype.style", - "CSSStyleSheet.prototype.constructor", - "CSSStyleSheet.prototype.replace", - "CSSStyleValue.prototype.constructor", - "CSSStyleValue.prototype.toString", - "CSSSupportsRule.prototype.constructor", - "CSSTransformComponent.prototype.constructor", - "CSSTransformComponent.prototype.toString", - "CSSTransformValue.prototype.constructor", - "CSSTransformValue.prototype.entries", - "CSSTransformValue.prototype.forEach", - "CSSTransformValue.prototype.keys", - "CSSTransformValue.prototype.length", - "CSSTransformValue.prototype.values", - "CSSTranslate.prototype.constructor", - "CSSTranslate.prototype.x", - "CSSTranslate.prototype.y", - "CSSUnitValue.prototype.constructor", - "CSSUnitValue.prototype.value", - "CSSUnparsedValue.prototype.constructor", - "CSSUnparsedValue.prototype.entries", - "CSSUnparsedValue.prototype.forEach", - "CSSUnparsedValue.prototype.keys", - "CSSUnparsedValue.prototype.length", - "CSSUnparsedValue.prototype.values", - "CSSVariableReferenceValue.prototype.constructor", - "Cache.prototype.add", - "Cache.prototype.constructor", - "Cache.prototype.delete", - "Cache.prototype.keys", - "Cache.prototype.match", - "Cache.prototype.put", - "CacheStorage.prototype.constructor", - "CacheStorage.prototype.delete", - "CacheStorage.prototype.has", - "CacheStorage.prototype.keys", - "CacheStorage.prototype.match", - "CacheStorage.prototype.open", - "CanvasCaptureMediaStreamTrack.prototype.constructor", - "CanvasGradient.prototype.constructor", - "CanvasPattern.prototype.constructor", - "CanvasRenderingContext2D.prototype.clip", - "CanvasRenderingContext2D.prototype.constructor", - "CanvasRenderingContext2D.prototype.fill", - "CanvasRenderingContext2D.prototype.filter", - "CanvasRenderingContext2D.prototype.rect", - "CanvasRenderingContext2D.prototype.restore", - "CanvasRenderingContext2D.prototype.save", - "ChannelMergerNode.prototype.constructor", - "ChannelSplitterNode.prototype.constructor", - "CharacterData.prototype.after", - "CharacterData.prototype.before", - "CharacterData.prototype.constructor", - "CharacterData.prototype.data", - "CharacterData.prototype.length", - "CharacterData.prototype.nextElementSibling", - "CharacterData.prototype.remove", - "CharacterData.prototype.replaceWith", - "Clipboard.prototype.constructor", - "Clipboard.prototype.writeText", - "ClipboardEvent.prototype.constructor", - "CloseEvent.prototype.code", - "CloseEvent.prototype.constructor", - "CloseEvent.prototype.reason", - "Comment.prototype.constructor", - "CompositionEvent.prototype.constructor", - "CompositionEvent.prototype.data", - "ConstantSourceNode.prototype.constructor", - "ConstantSourceNode.prototype.offset", - "ConvolverNode.prototype.buffer", - "ConvolverNode.prototype.constructor", - "CountQueuingStrategy.prototype.constructor", - "CountQueuingStrategy.prototype.size", - "Credential.prototype.constructor", - "Credential.prototype.id", - "Credential.prototype.type", - "CredentialsContainer.prototype.constructor", - "CredentialsContainer.prototype.create", - "CredentialsContainer.prototype.get", - "Crypto.prototype.constructor", - "Crypto.prototype.getRandomValues", - "CryptoKey.prototype.constructor", - "CryptoKey.prototype.type", - "CustomElementRegistry.prototype.constructor", - "CustomElementRegistry.prototype.get", - "CustomEvent.prototype.constructor", - "CustomEvent.prototype.detail", - "DOMError.prototype.constructor", - "DOMError.prototype.message", - "DOMError.prototype.name", - "DOMException.prototype.SYNTAX_ERR", - "DOMException.prototype.code", - "DOMException.prototype.constructor", - "DOMException.prototype.message", - "DOMException.prototype.name", - "DOMImplementation.prototype.constructor", - "DOMMatrix.prototype.a", - "DOMMatrix.prototype.b", - "DOMMatrix.prototype.c", - "DOMMatrix.prototype.constructor", - "DOMMatrix.prototype.f", - "DOMMatrixReadOnly.prototype.a", - "DOMMatrixReadOnly.prototype.b", - "DOMMatrixReadOnly.prototype.c", - "DOMMatrixReadOnly.prototype.constructor", - "DOMMatrixReadOnly.prototype.f", - "DOMMatrixReadOnly.prototype.toJSON", - "DOMMatrixReadOnly.prototype.toString", - "DOMParser", - "DOMParser.prototype.constructor", - "DOMParser.prototype.parseFromString", - "DOMPoint.prototype.constructor", - "DOMPoint.prototype.x", - "DOMPoint.prototype.y", - "DOMPointReadOnly.prototype.constructor", - "DOMPointReadOnly.prototype.toJSON", - "DOMPointReadOnly.prototype.x", - "DOMPointReadOnly.prototype.y", - "DOMQuad.prototype.constructor", - "DOMQuad.prototype.toJSON", - "DOMRect.prototype.constructor", - "DOMRect.prototype.height", - "DOMRect.prototype.width", - "DOMRect.prototype.x", - "DOMRect.prototype.y", - "DOMRectList.prototype.constructor", - "DOMRectList.prototype.item", - "DOMRectList.prototype.length", - "DOMRectReadOnly.prototype.bottom", - "DOMRectReadOnly.prototype.constructor", - "DOMRectReadOnly.prototype.height", - "DOMRectReadOnly.prototype.left", - "DOMRectReadOnly.prototype.right", - "DOMRectReadOnly.prototype.toJSON", - "DOMRectReadOnly.prototype.top", - "DOMRectReadOnly.prototype.width", - "DOMRectReadOnly.prototype.x", - "DOMRectReadOnly.prototype.y", - "DOMStringList.prototype.constructor", - "DOMStringList.prototype.contains", - "DOMStringList.prototype.item", - "DOMStringList.prototype.length", - "DOMStringMap.prototype.constructor", - "DOMTokenList.prototype.add", - "DOMTokenList.prototype.constructor", - "DOMTokenList.prototype.contains", - "DOMTokenList.prototype.entries", - "DOMTokenList.prototype.item", - "DOMTokenList.prototype.keys", - "DOMTokenList.prototype.length", - "DOMTokenList.prototype.remove", - "DOMTokenList.prototype.supports", - "DOMTokenList.prototype.toString", - "DOMTokenList.prototype.toggle", - "DOMTokenList.prototype.value", - "DOMTokenList.prototype.values", - "DataTransfer.prototype.constructor", - "DataTransfer.prototype.getData", - "DataTransfer.prototype.setData", - "DataTransfer.prototype.types", - "DataTransferItem.prototype.constructor", - "DataTransferItem.prototype.type", - "DataTransferItemList.prototype.add", - "DataTransferItemList.prototype.clear", - "DataTransferItemList.prototype.constructor", - "DataTransferItemList.prototype.length", - "DataTransferItemList.prototype.remove", - "DataView.prototype.buffer", - "DataView.prototype.byteLength", - "DataView.prototype.byteOffset", - "DataView.prototype.constructor", - "DataView.prototype.getUint32", - "Date", - "Date.prototype.constructor", - "Date.prototype.getDate", - "Date.prototype.getFullYear", - "Date.prototype.getHours", - "Date.prototype.getMilliseconds", - "Date.prototype.getMinutes", - "Date.prototype.getMonth", - "Date.prototype.getSeconds", - "Date.prototype.getTime", - "Date.prototype.getUTCDate", - "Date.prototype.getUTCFullYear", - "Date.prototype.getUTCHours", - "Date.prototype.getUTCMinutes", - "Date.prototype.getUTCMonth", - "Date.prototype.getUTCSeconds", - "Date.prototype.toJSON", - "Date.prototype.toLocaleDateString", - "Date.prototype.toLocaleString", - "Date.prototype.toLocaleTimeString", - "Date.prototype.toString", - "Date.prototype.valueOf", - "DelayNode.prototype.constructor", - "DeviceMotionEvent.prototype.constructor", - "DeviceMotionEventAcceleration.prototype.constructor", - "DeviceMotionEventAcceleration.prototype.x", - "DeviceMotionEventAcceleration.prototype.y", - "DeviceMotionEventRotationRate.prototype.constructor", - "DeviceOrientationEvent.prototype.constructor", - "Document.prototype.activeElement", - "Document.prototype.all", - "Document.prototype.append", - "Document.prototype.body", - "Document.prototype.children", - "Document.prototype.clear", - "Document.prototype.close", - "Document.prototype.constructor", - "Document.prototype.cookie", - "Document.prototype.createDocumentFragment", - "Document.prototype.createElement", - "Document.prototype.createNodeIterator", - "Document.prototype.createRange", - "Document.prototype.createTextNode", - "Document.prototype.defaultView", - "Document.prototype.dir", - "Document.prototype.documentElement", - "Document.prototype.domain", - "Document.prototype.evaluate", - "Document.prototype.execCommand", - "Document.prototype.getElementById", - "Document.prototype.getElementsByClassName", - "Document.prototype.getElementsByTagName", - "Document.prototype.getSelection", - "Document.prototype.head", - "Document.prototype.hidden", - "Document.prototype.images", - "Document.prototype.lastModified", - "Document.prototype.links", - "Document.prototype.onclick", - "Document.prototype.onkeypress", - "Document.prototype.onmousedown", - "Document.prototype.onmousemove", - "Document.prototype.onmouseover", - "Document.prototype.onsubmit", - "Document.prototype.open", - "Document.prototype.plugins", - "Document.prototype.prepend", - "Document.prototype.querySelector", - "Document.prototype.querySelectorAll", - "Document.prototype.readyState", - "Document.prototype.referrer", - "Document.prototype.title", - "Document.prototype.write", - "DocumentFragment.prototype.children", - "DocumentFragment.prototype.constructor", - "DocumentFragment.prototype.getElementById", - "DocumentFragment.prototype.querySelector", - "DocumentFragment.prototype.querySelectorAll", - "DocumentType.prototype.after", - "DocumentType.prototype.before", - "DocumentType.prototype.constructor", - "DocumentType.prototype.name", - "DocumentType.prototype.remove", - "DocumentType.prototype.replaceWith", - "DragEvent.prototype.constructor", - "DynamicsCompressorNode.prototype.constructor", - "DynamicsCompressorNode.prototype.threshold", - "Element.prototype.children", - "Element.prototype.className", - "Element.prototype.clientWidth", - "Element.prototype.constructor", - "Element.prototype.getAttribute", - "Element.prototype.getBoundingClientRect", - "Element.prototype.getClientRects", - "Element.prototype.getElementsByClassName", - "Element.prototype.getElementsByTagName", - "Element.prototype.id", - "Element.prototype.innerHTML", - "Element.prototype.outerHTML", - "Element.prototype.prefix", - "Element.prototype.querySelector", - "Element.prototype.querySelectorAll", - "Element.prototype.removeAttribute", - "Element.prototype.scrollHeight", - "Element.prototype.scrollLeft", - "Element.prototype.scrollTo", - "Element.prototype.scrollTop", - "Element.prototype.setAttribute", - "Element.prototype.tagName", - "EnterPictureInPictureEvent.prototype.constructor", - "Error", - "Error.prototype", - "Error.prototype.constructor", - "Error.prototype.message", - "Error.prototype.name", - "Error.prototype.toString", - "ErrorEvent.prototype.constructor", - "ErrorEvent.prototype.error", - "ErrorEvent.prototype.message", - "Event.prototype.composedPath", - "Event.prototype.constructor", - "Event.prototype.path", - "Event.prototype.preventDefault", - "Event.prototype.stopImmediatePropagation", - "Event.prototype.stopPropagation", - "Event.prototype.target", - "Event.prototype.type", - "EventSource.prototype.OPEN", - "EventSource.prototype.close", - "EventSource.prototype.constructor", - "EventSource.prototype.readyState", - "EventSource.prototype.url", - "EventTarget.prototype.addEventListener", - "EventTarget.prototype.constructor", - "EventTarget.prototype.removeEventListener", - "External.prototype.constructor", - "FederatedCredential.prototype.constructor", - "FederatedCredential.prototype.name", - "FederatedCredential.prototype.protocol", - "File.prototype.constructor", - "File.prototype.lastModified", - "File.prototype.name", - "FileList.prototype.constructor", - "FileList.prototype.item", - "FileList.prototype.length", - "FileReader", - "FileReader.prototype.abort", - "FileReader.prototype.constructor", - "FileReader.prototype.error", - "FileReader.prototype.readAsArrayBuffer", - "FileReader.prototype.readAsBinaryString", - "FileReader.prototype.readyState", - "FileReader.prototype.result", - "Float32Array.prototype.constructor", - "Float32Array.prototype.copyWithin", - "Float32Array.prototype.entries", - "Float32Array.prototype.fill", - "Float32Array.prototype.filter", - "Float32Array.prototype.find", - "Float32Array.prototype.forEach", - "Float32Array.prototype.includes", - "Float32Array.prototype.indexOf", - "Float32Array.prototype.join", - "Float32Array.prototype.keys", - "Float32Array.prototype.lastIndexOf", - "Float32Array.prototype.map", - "Float32Array.prototype.reduce", - "Float32Array.prototype.reverse", - "Float32Array.prototype.set", - "Float32Array.prototype.slice", - "Float32Array.prototype.some", - "Float32Array.prototype.sort", - "Float32Array.prototype.subarray", - "Float32Array.prototype.toLocaleString", - "Float32Array.prototype.toString", - "Float32Array.prototype.values", - "Float64Array.prototype.constructor", - "Float64Array.prototype.copyWithin", - "Float64Array.prototype.entries", - "Float64Array.prototype.fill", - "Float64Array.prototype.filter", - "Float64Array.prototype.find", - "Float64Array.prototype.forEach", - "Float64Array.prototype.includes", - "Float64Array.prototype.indexOf", - "Float64Array.prototype.join", - "Float64Array.prototype.keys", - "Float64Array.prototype.lastIndexOf", - "Float64Array.prototype.map", - "Float64Array.prototype.reduce", - "Float64Array.prototype.reverse", - "Float64Array.prototype.set", - "Float64Array.prototype.slice", - "Float64Array.prototype.some", - "Float64Array.prototype.sort", - "Float64Array.prototype.subarray", - "Float64Array.prototype.toLocaleString", - "Float64Array.prototype.toString", - "Float64Array.prototype.values", - "FocusEvent.prototype.constructor", - "FocusEvent.prototype.relatedTarget", - "FontFace.prototype.constructor", - "FontFace.prototype.display", - "FontFace.prototype.family", - "FontFace.prototype.load", - "FontFace.prototype.loaded", - "FontFace.prototype.status", - "FontFace.prototype.style", - "FontFaceSetLoadEvent.prototype.constructor", - "FormData", - "FormData.prototype.append", - "FormData.prototype.constructor", - "FormData.prototype.delete", - "FormData.prototype.entries", - "FormData.prototype.forEach", - "FormData.prototype.get", - "FormData.prototype.has", - "FormData.prototype.keys", - "FormData.prototype.set", - "FormData.prototype.values", - "Function", - "Function.prototype", - "Function.prototype.apply", - "Function.prototype.call", - "Function.prototype.constructor", - "Function.prototype.length", - "Function.prototype.toString", - "GainNode.prototype.constructor", - "Gamepad.prototype.constructor", - "Gamepad.prototype.id", - "Gamepad.prototype.index", - "Gamepad.prototype.timestamp", - "GamepadButton.prototype.constructor", - "GamepadButton.prototype.value", - "GamepadEvent.prototype.constructor", - "GamepadHapticActuator.prototype.constructor", - "GamepadHapticActuator.prototype.type", - "Gyroscope.prototype.constructor", - "Gyroscope.prototype.x", - "Gyroscope.prototype.y", - "HTMLAllCollection.prototype.constructor", - "HTMLAllCollection.prototype.item", - "HTMLAllCollection.prototype.length", - "HTMLAnchorElement", - "HTMLAnchorElement.prototype.constructor", - "HTMLAnchorElement.prototype.hash", - "HTMLAnchorElement.prototype.host", - "HTMLAnchorElement.prototype.hostname", - "HTMLAnchorElement.prototype.href", - "HTMLAnchorElement.prototype.name", - "HTMLAnchorElement.prototype.pathname", - "HTMLAnchorElement.prototype.ping", - "HTMLAnchorElement.prototype.port", - "HTMLAnchorElement.prototype.protocol", - "HTMLAnchorElement.prototype.search", - "HTMLAnchorElement.prototype.target", - "HTMLAnchorElement.prototype.text", - "HTMLAnchorElement.prototype.toString", - "HTMLAnchorElement.prototype.type", - "HTMLAnchorElement.prototype.username", - "HTMLAreaElement.prototype.alt", - "HTMLAreaElement.prototype.constructor", - "HTMLAreaElement.prototype.hash", - "HTMLAreaElement.prototype.host", - "HTMLAreaElement.prototype.hostname", - "HTMLAreaElement.prototype.href", - "HTMLAreaElement.prototype.pathname", - "HTMLAreaElement.prototype.ping", - "HTMLAreaElement.prototype.port", - "HTMLAreaElement.prototype.protocol", - "HTMLAreaElement.prototype.search", - "HTMLAreaElement.prototype.target", - "HTMLAreaElement.prototype.toString", - "HTMLAreaElement.prototype.username", - "HTMLAudioElement.prototype.constructor", - "HTMLBRElement.prototype.clear", - "HTMLBRElement.prototype.constructor", - "HTMLBaseElement.prototype.constructor", - "HTMLBaseElement.prototype.href", - "HTMLBaseElement.prototype.target", - "HTMLBodyElement.prototype.constructor", - "HTMLBodyElement.prototype.link", - "HTMLBodyElement.prototype.text", - "HTMLButtonElement.prototype.constructor", - "HTMLButtonElement.prototype.disabled", - "HTMLButtonElement.prototype.form", - "HTMLButtonElement.prototype.name", - "HTMLButtonElement.prototype.type", - "HTMLButtonElement.prototype.value", - "HTMLCanvasElement.prototype.constructor", - "HTMLCanvasElement.prototype.height", - "HTMLCanvasElement.prototype.width", - "HTMLCollection.prototype.constructor", - "HTMLCollection.prototype.item", - "HTMLCollection.prototype.length", - "HTMLContentElement.prototype.constructor", - "HTMLContentElement.prototype.select", - "HTMLDListElement.prototype.constructor", - "HTMLDataElement.prototype.constructor", - "HTMLDataElement.prototype.value", - "HTMLDataListElement.prototype.constructor", - "HTMLDataListElement.prototype.options", - "HTMLDetailsElement.prototype.constructor", - "HTMLDetailsElement.prototype.open", - "HTMLDialogElement.prototype.close", - "HTMLDialogElement.prototype.constructor", - "HTMLDialogElement.prototype.open", - "HTMLDialogElement.prototype.show", - "HTMLDirectoryElement.prototype.constructor", - "HTMLDivElement.prototype.align", - "HTMLDivElement.prototype.constructor", - "HTMLDocument.prototype.constructor", - "HTMLElement", - "HTMLElement.prototype.blur", - "HTMLElement.prototype.click", - "HTMLElement.prototype.constructor", - "HTMLElement.prototype.dataset", - "HTMLElement.prototype.dir", - "HTMLElement.prototype.focus", - "HTMLElement.prototype.hidden", - "HTMLElement.prototype.innerText", - "HTMLElement.prototype.lang", - "HTMLElement.prototype.offsetHeight", - "HTMLElement.prototype.offsetLeft", - "HTMLElement.prototype.offsetParent", - "HTMLElement.prototype.offsetTop", - "HTMLElement.prototype.offsetWidth", - "HTMLElement.prototype.onclick", - "HTMLElement.prototype.onkeypress", - "HTMLElement.prototype.onmousedown", - "HTMLElement.prototype.onmousemove", - "HTMLElement.prototype.onmouseover", - "HTMLElement.prototype.onsubmit", - "HTMLElement.prototype.style", - "HTMLElement.prototype.title", - "HTMLEmbedElement.prototype.align", - "HTMLEmbedElement.prototype.constructor", - "HTMLEmbedElement.prototype.height", - "HTMLEmbedElement.prototype.name", - "HTMLEmbedElement.prototype.src", - "HTMLEmbedElement.prototype.type", - "HTMLEmbedElement.prototype.width", - "HTMLEscape.prototype.constructor", - "HTMLFieldSetElement.prototype.constructor", - "HTMLFieldSetElement.prototype.disabled", - "HTMLFieldSetElement.prototype.form", - "HTMLFieldSetElement.prototype.name", - "HTMLFieldSetElement.prototype.type", - "HTMLFontElement.prototype.constructor", - "HTMLFontElement.prototype.size", - "HTMLFormControlsCollection.prototype.constructor", - "HTMLFormElement.prototype.action", - "HTMLFormElement.prototype.autocomplete", - "HTMLFormElement.prototype.constructor", - "HTMLFormElement.prototype.length", - "HTMLFormElement.prototype.method", - "HTMLFormElement.prototype.name", - "HTMLFormElement.prototype.target", - "HTMLFrameElement.prototype.constructor", - "HTMLFrameElement.prototype.name", - "HTMLFrameElement.prototype.src", - "HTMLFrameSetElement.prototype.constructor", - "HTMLFrameSetElement.prototype.rows", - "HTMLHRElement.prototype.align", - "HTMLHRElement.prototype.constructor", - "HTMLHRElement.prototype.size", - "HTMLHRElement.prototype.width", - "HTMLHeadElement.prototype.constructor", - "HTMLHeadingElement.prototype.align", - "HTMLHeadingElement.prototype.constructor", - "HTMLHtmlElement.prototype.constructor", - "HTMLHtmlElement.prototype.version", - "HTMLIFrameElement.prototype.align", - "HTMLIFrameElement.prototype.allowFullscreen", - "HTMLIFrameElement.prototype.constructor", - "HTMLIFrameElement.prototype.height", - "HTMLIFrameElement.prototype.name", - "HTMLIFrameElement.prototype.src", - "HTMLIFrameElement.prototype.width", - "HTMLImageElement.prototype.align", - "HTMLImageElement.prototype.alt", - "HTMLImageElement.prototype.constructor", - "HTMLImageElement.prototype.decode", - "HTMLImageElement.prototype.height", - "HTMLImageElement.prototype.name", - "HTMLImageElement.prototype.sizes", - "HTMLImageElement.prototype.src", - "HTMLImageElement.prototype.srcset", - "HTMLImageElement.prototype.width", - "HTMLImageElement.prototype.x", - "HTMLImageElement.prototype.y", - "HTMLInputElement.prototype.accept", - "HTMLInputElement.prototype.align", - "HTMLInputElement.prototype.alt", - "HTMLInputElement.prototype.autocomplete", - "HTMLInputElement.prototype.checked", - "HTMLInputElement.prototype.constructor", - "HTMLInputElement.prototype.disabled", - "HTMLInputElement.prototype.form", - "HTMLInputElement.prototype.height", - "HTMLInputElement.prototype.list", - "HTMLInputElement.prototype.max", - "HTMLInputElement.prototype.min", - "HTMLInputElement.prototype.name", - "HTMLInputElement.prototype.pattern", - "HTMLInputElement.prototype.readOnly", - "HTMLInputElement.prototype.required", - "HTMLInputElement.prototype.select", - "HTMLInputElement.prototype.selectionEnd", - "HTMLInputElement.prototype.selectionStart", - "HTMLInputElement.prototype.setSelectionRange", - "HTMLInputElement.prototype.size", - "HTMLInputElement.prototype.src", - "HTMLInputElement.prototype.type", - "HTMLInputElement.prototype.value", - "HTMLInputElement.prototype.width", - "HTMLLIElement.prototype.constructor", - "HTMLLIElement.prototype.type", - "HTMLLIElement.prototype.value", - "HTMLLabelElement.prototype.constructor", - "HTMLLabelElement.prototype.form", - "HTMLLegendElement.prototype.align", - "HTMLLegendElement.prototype.constructor", - "HTMLLegendElement.prototype.form", - "HTMLLinkElement.prototype.constructor", - "HTMLLinkElement.prototype.disabled", - "HTMLLinkElement.prototype.href", - "HTMLLinkElement.prototype.sizes", - "HTMLLinkElement.prototype.target", - "HTMLLinkElement.prototype.type", - "HTMLMapElement.prototype.constructor", - "HTMLMapElement.prototype.name", - "HTMLMarqueeElement.prototype.constructor", - "HTMLMarqueeElement.prototype.direction", - "HTMLMarqueeElement.prototype.height", - "HTMLMarqueeElement.prototype.start", - "HTMLMarqueeElement.prototype.stop", - "HTMLMarqueeElement.prototype.width", - "HTMLMediaElement.prototype.constructor", - "HTMLMediaElement.prototype.duration", - "HTMLMediaElement.prototype.error", - "HTMLMediaElement.prototype.load", - "HTMLMediaElement.prototype.readyState", - "HTMLMediaElement.prototype.src", - "HTMLMenuElement.prototype.constructor", - "HTMLMetaElement.prototype.constructor", - "HTMLMetaElement.prototype.content", - "HTMLMetaElement.prototype.name", - "HTMLMeterElement.prototype.constructor", - "HTMLMeterElement.prototype.max", - "HTMLMeterElement.prototype.min", - "HTMLMeterElement.prototype.value", - "HTMLModElement.prototype.constructor", - "HTMLOListElement.prototype.constructor", - "HTMLOListElement.prototype.start", - "HTMLOListElement.prototype.type", - "HTMLObjectElement.prototype.align", - "HTMLObjectElement.prototype.code", - "HTMLObjectElement.prototype.constructor", - "HTMLObjectElement.prototype.data", - "HTMLObjectElement.prototype.form", - "HTMLObjectElement.prototype.height", - "HTMLObjectElement.prototype.name", - "HTMLObjectElement.prototype.type", - "HTMLObjectElement.prototype.width", - "HTMLOptGroupElement.prototype.constructor", - "HTMLOptGroupElement.prototype.disabled", - "HTMLOptGroupElement.prototype.label", - "HTMLOptionElement.prototype.constructor", - "HTMLOptionElement.prototype.disabled", - "HTMLOptionElement.prototype.form", - "HTMLOptionElement.prototype.index", - "HTMLOptionElement.prototype.label", - "HTMLOptionElement.prototype.text", - "HTMLOptionElement.prototype.value", - "HTMLOptionsCollection.prototype.add", - "HTMLOptionsCollection.prototype.constructor", - "HTMLOptionsCollection.prototype.length", - "HTMLOptionsCollection.prototype.remove", - "HTMLOptionsCollection.prototype.selectedIndex", - "HTMLOutputElement.prototype.constructor", - "HTMLOutputElement.prototype.form", - "HTMLOutputElement.prototype.name", - "HTMLOutputElement.prototype.type", - "HTMLOutputElement.prototype.value", - "HTMLParagraphElement.prototype.align", - "HTMLParagraphElement.prototype.constructor", - "HTMLParamElement.prototype.constructor", - "HTMLParamElement.prototype.name", - "HTMLParamElement.prototype.type", - "HTMLParamElement.prototype.value", - "HTMLPictureElement.prototype.constructor", - "HTMLPreElement.prototype.constructor", - "HTMLPreElement.prototype.width", - "HTMLProgressElement.prototype.constructor", - "HTMLProgressElement.prototype.max", - "HTMLProgressElement.prototype.position", - "HTMLProgressElement.prototype.value", - "HTMLQuoteElement.prototype.constructor", - "HTMLScriptElement.prototype.async", - "HTMLScriptElement.prototype.constructor", - "HTMLScriptElement.prototype.event", - "HTMLScriptElement.prototype.src", - "HTMLScriptElement.prototype.text", - "HTMLScriptElement.prototype.type", - "HTMLSelectElement.prototype.add", - "HTMLSelectElement.prototype.autocomplete", - "HTMLSelectElement.prototype.constructor", - "HTMLSelectElement.prototype.disabled", - "HTMLSelectElement.prototype.form", - "HTMLSelectElement.prototype.item", - "HTMLSelectElement.prototype.length", - "HTMLSelectElement.prototype.name", - "HTMLSelectElement.prototype.options", - "HTMLSelectElement.prototype.remove", - "HTMLSelectElement.prototype.required", - "HTMLSelectElement.prototype.selectedIndex", - "HTMLSelectElement.prototype.size", - "HTMLSelectElement.prototype.type", - "HTMLSelectElement.prototype.value", - "HTMLShadowElement.prototype.constructor", - "HTMLSlotElement.prototype.constructor", - "HTMLSlotElement.prototype.name", - "HTMLSourceElement.prototype.constructor", - "HTMLSourceElement.prototype.sizes", - "HTMLSourceElement.prototype.src", - "HTMLSourceElement.prototype.srcset", - "HTMLSourceElement.prototype.type", - "HTMLSpanElement.prototype.constructor", - "HTMLStyleElement.prototype.constructor", - "HTMLStyleElement.prototype.disabled", - "HTMLStyleElement.prototype.type", - "HTMLTableCaptionElement.prototype.align", - "HTMLTableCaptionElement.prototype.constructor", - "HTMLTableCellElement.prototype.align", - "HTMLTableCellElement.prototype.constructor", - "HTMLTableCellElement.prototype.height", - "HTMLTableCellElement.prototype.width", - "HTMLTableColElement.prototype.align", - "HTMLTableColElement.prototype.constructor", - "HTMLTableColElement.prototype.span", - "HTMLTableColElement.prototype.width", - "HTMLTableElement.prototype.align", - "HTMLTableElement.prototype.constructor", - "HTMLTableElement.prototype.insertRow", - "HTMLTableElement.prototype.rows", - "HTMLTableElement.prototype.summary", - "HTMLTableElement.prototype.width", - "HTMLTableRowElement.prototype.align", - "HTMLTableRowElement.prototype.constructor", - "HTMLTableSectionElement.prototype.align", - "HTMLTableSectionElement.prototype.constructor", - "HTMLTableSectionElement.prototype.insertRow", - "HTMLTableSectionElement.prototype.rows", - "HTMLTemplateElement.prototype.constructor", - "HTMLTemplateElement.prototype.content", - "HTMLTextAreaElement.prototype.autocomplete", - "HTMLTextAreaElement.prototype.constructor", - "HTMLTextAreaElement.prototype.disabled", - "HTMLTextAreaElement.prototype.form", - "HTMLTextAreaElement.prototype.name", - "HTMLTextAreaElement.prototype.readOnly", - "HTMLTextAreaElement.prototype.required", - "HTMLTextAreaElement.prototype.rows", - "HTMLTextAreaElement.prototype.select", - "HTMLTextAreaElement.prototype.selectionEnd", - "HTMLTextAreaElement.prototype.selectionStart", - "HTMLTextAreaElement.prototype.setSelectionRange", - "HTMLTextAreaElement.prototype.type", - "HTMLTextAreaElement.prototype.value", - "HTMLTimeElement.prototype.constructor", - "HTMLTitleElement.prototype.constructor", - "HTMLTitleElement.prototype.text", - "HTMLTrackElement.prototype.constructor", - "HTMLTrackElement.prototype.default", - "HTMLTrackElement.prototype.label", - "HTMLTrackElement.prototype.readyState", - "HTMLTrackElement.prototype.src", - "HTMLTrackElement.prototype.track", - "HTMLUListElement.prototype.constructor", - "HTMLUListElement.prototype.type", - "HTMLUnknownElement.prototype.constructor", - "HTMLVideoElement.prototype.constructor", - "HTMLVideoElement.prototype.height", - "HTMLVideoElement.prototype.width", - "HashChangeEvent.prototype.constructor", - "Headers.prototype.append", - "Headers.prototype.constructor", - "Headers.prototype.delete", - "Headers.prototype.entries", - "Headers.prototype.forEach", - "Headers.prototype.get", - "Headers.prototype.has", - "Headers.prototype.keys", - "Headers.prototype.set", - "Headers.prototype.values", - "History.prototype.constructor", - "History.prototype.go", - "History.prototype.length", - "History.prototype.state", - "IDBCursor.prototype.advance", - "IDBCursor.prototype.constructor", - "IDBCursor.prototype.continue", - "IDBCursor.prototype.delete", - "IDBCursor.prototype.direction", - "IDBCursor.prototype.key", - "IDBCursor.prototype.source", - "IDBCursor.prototype.update", - "IDBCursorWithValue.prototype.constructor", - "IDBCursorWithValue.prototype.value", - "IDBDatabase.prototype.close", - "IDBDatabase.prototype.constructor", - "IDBDatabase.prototype.createObjectStore", - "IDBDatabase.prototype.deleteObjectStore", - "IDBDatabase.prototype.name", - "IDBDatabase.prototype.objectStoreNames", - "IDBDatabase.prototype.transaction", - "IDBDatabase.prototype.version", - "IDBFactory.prototype.constructor", - "IDBFactory.prototype.deleteDatabase", - "IDBFactory.prototype.open", - "IDBIndex.prototype.constructor", - "IDBIndex.prototype.count", - "IDBIndex.prototype.get", - "IDBIndex.prototype.getAllKeys", - "IDBIndex.prototype.name", - "IDBIndex.prototype.objectStore", - "IDBIndex.prototype.openCursor", - "IDBIndex.prototype.openKeyCursor", - "IDBKeyRange", - "IDBKeyRange.prototype.constructor", - "IDBKeyRange.prototype.includes", - "IDBObjectStore.prototype.add", - "IDBObjectStore.prototype.clear", - "IDBObjectStore.prototype.constructor", - "IDBObjectStore.prototype.count", - "IDBObjectStore.prototype.delete", - "IDBObjectStore.prototype.get", - "IDBObjectStore.prototype.getAllKeys", - "IDBObjectStore.prototype.index", - "IDBObjectStore.prototype.name", - "IDBObjectStore.prototype.openCursor", - "IDBObjectStore.prototype.openKeyCursor", - "IDBObjectStore.prototype.put", - "IDBObjectStore.prototype.transaction", - "IDBOpenDBRequest.prototype.constructor", - "IDBRequest.prototype.constructor", - "IDBRequest.prototype.error", - "IDBRequest.prototype.readyState", - "IDBRequest.prototype.result", - "IDBRequest.prototype.source", - "IDBRequest.prototype.transaction", - "IDBTransaction.prototype.abort", - "IDBTransaction.prototype.constructor", - "IDBTransaction.prototype.db", - "IDBTransaction.prototype.error", - "IDBTransaction.prototype.objectStore", - "IDBTransaction.prototype.objectStoreNames", - "IDBVersionChangeEvent.prototype.constructor", - "IDBVersionChangeEvent.prototype.newVersion", - "IDBVersionChangeEvent.prototype.oldVersion", - "IIRFilterNode.prototype.constructor", - "IdleDeadline.prototype.constructor", - "Image", - "Image.prototype.align", - "Image.prototype.alt", - "Image.prototype.constructor", - "Image.prototype.decode", - "Image.prototype.height", - "Image.prototype.name", - "Image.prototype.sizes", - "Image.prototype.src", - "Image.prototype.srcset", - "Image.prototype.width", - "Image.prototype.x", - "Image.prototype.y", - "ImageBitmap.prototype.close", - "ImageBitmap.prototype.constructor", - "ImageBitmap.prototype.height", - "ImageBitmap.prototype.width", - "ImageBitmapRenderingContext.prototype.constructor", - "ImageCapture.prototype.constructor", - "ImageCapture.prototype.track", - "ImageData.prototype.constructor", - "ImageData.prototype.data", - "ImageData.prototype.height", - "ImageData.prototype.width", - "Infinity", - "InputDeviceInfo.prototype.constructor", - "InputEvent.prototype.constructor", - "InputEvent.prototype.data", - "Int16Array.prototype.constructor", - "Int16Array.prototype.copyWithin", - "Int16Array.prototype.entries", - "Int16Array.prototype.fill", - "Int16Array.prototype.filter", - "Int16Array.prototype.find", - "Int16Array.prototype.forEach", - "Int16Array.prototype.includes", - "Int16Array.prototype.indexOf", - "Int16Array.prototype.join", - "Int16Array.prototype.keys", - "Int16Array.prototype.lastIndexOf", - "Int16Array.prototype.map", - "Int16Array.prototype.reduce", - "Int16Array.prototype.reverse", - "Int16Array.prototype.set", - "Int16Array.prototype.slice", - "Int16Array.prototype.some", - "Int16Array.prototype.sort", - "Int16Array.prototype.subarray", - "Int16Array.prototype.toLocaleString", - "Int16Array.prototype.toString", - "Int16Array.prototype.values", - "Int32Array.prototype.constructor", - "Int32Array.prototype.copyWithin", - "Int32Array.prototype.entries", - "Int32Array.prototype.fill", - "Int32Array.prototype.filter", - "Int32Array.prototype.find", - "Int32Array.prototype.forEach", - "Int32Array.prototype.includes", - "Int32Array.prototype.indexOf", - "Int32Array.prototype.join", - "Int32Array.prototype.keys", - "Int32Array.prototype.lastIndexOf", - "Int32Array.prototype.map", - "Int32Array.prototype.reduce", - "Int32Array.prototype.reverse", - "Int32Array.prototype.set", - "Int32Array.prototype.slice", - "Int32Array.prototype.some", - "Int32Array.prototype.sort", - "Int32Array.prototype.subarray", - "Int32Array.prototype.toLocaleString", - "Int32Array.prototype.toString", - "Int32Array.prototype.values", - "Int8Array.prototype.constructor", - "Int8Array.prototype.copyWithin", - "Int8Array.prototype.entries", - "Int8Array.prototype.fill", - "Int8Array.prototype.filter", - "Int8Array.prototype.find", - "Int8Array.prototype.forEach", - "Int8Array.prototype.includes", - "Int8Array.prototype.indexOf", - "Int8Array.prototype.join", - "Int8Array.prototype.keys", - "Int8Array.prototype.lastIndexOf", - "Int8Array.prototype.map", - "Int8Array.prototype.reduce", - "Int8Array.prototype.reverse", - "Int8Array.prototype.set", - "Int8Array.prototype.slice", - "Int8Array.prototype.some", - "Int8Array.prototype.sort", - "Int8Array.prototype.subarray", - "Int8Array.prototype.toLocaleString", - "Int8Array.prototype.toString", - "Int8Array.prototype.values", - "IntersectionObserver.prototype.constructor", - "IntersectionObserver.prototype.delay", - "IntersectionObserver.prototype.disconnect", - "IntersectionObserver.prototype.observe", - "IntersectionObserver.prototype.root", - "IntersectionObserver.prototype.rootMargin", - "IntersectionObserver.prototype.unobserve", - "IntersectionObserverEntry.prototype.constructor", - "IntersectionObserverEntry.prototype.isIntersecting", - "IntersectionObserverEntry.prototype.isVisible", - "IntersectionObserverEntry.prototype.target", - "IntersectionObserverEntry.prototype.time", - "JSON.parse", - "JSON.stringify", - "Keyboard.prototype.constructor", - "Keyboard.prototype.lock", - "KeyboardEvent.prototype.code", - "KeyboardEvent.prototype.constructor", - "KeyboardEvent.prototype.ctrlKey", - "KeyboardEvent.prototype.key", - "KeyboardEvent.prototype.keyCode", - "KeyboardEvent.prototype.location", - "KeyboardEvent.prototype.metaKey", - "KeyboardEvent.prototype.repeat", - "KeyboardEvent.prototype.shiftKey", - "KeyboardLayoutMap.prototype.constructor", - "KeyboardLayoutMap.prototype.entries", - "KeyboardLayoutMap.prototype.forEach", - "KeyboardLayoutMap.prototype.get", - "KeyboardLayoutMap.prototype.has", - "KeyboardLayoutMap.prototype.keys", - "KeyboardLayoutMap.prototype.size", - "KeyboardLayoutMap.prototype.values", - "KeyframeEffect.prototype.constructor", - "KeyframeEffect.prototype.target", - "LinearAccelerationSensor.prototype.constructor", - "Location.prototype.constructor", - "Lock.prototype.constructor", - "Lock.prototype.name", - "LockManager.prototype.constructor", - "LockManager.prototype.query", - "MIDIAccess.prototype.constructor", - "MIDIConnectionEvent.prototype.constructor", - "MIDIConnectionEvent.prototype.port", - "MIDIInput.prototype.constructor", - "MIDIInputMap.prototype.constructor", - "MIDIInputMap.prototype.entries", - "MIDIInputMap.prototype.forEach", - "MIDIInputMap.prototype.get", - "MIDIInputMap.prototype.has", - "MIDIInputMap.prototype.keys", - "MIDIInputMap.prototype.size", - "MIDIInputMap.prototype.values", - "MIDIMessageEvent.prototype.constructor", - "MIDIMessageEvent.prototype.data", - "MIDIOutput.prototype.constructor", - "MIDIOutput.prototype.send", - "MIDIOutputMap.prototype.constructor", - "MIDIOutputMap.prototype.entries", - "MIDIOutputMap.prototype.forEach", - "MIDIOutputMap.prototype.get", - "MIDIOutputMap.prototype.has", - "MIDIOutputMap.prototype.keys", - "MIDIOutputMap.prototype.size", - "MIDIOutputMap.prototype.values", - "MIDIPort.prototype.close", - "MIDIPort.prototype.constructor", - "MIDIPort.prototype.id", - "MIDIPort.prototype.name", - "MIDIPort.prototype.open", - "MIDIPort.prototype.state", - "MIDIPort.prototype.type", - "MIDIPort.prototype.version", - "Map.prototype.clear", - "Map.prototype.constructor", - "Map.prototype.delete", - "Map.prototype.entries", - "Map.prototype.forEach", - "Map.prototype.get", - "Map.prototype.has", - "Map.prototype.keys", - "Map.prototype.set", - "Map.prototype.size", - "Map.prototype.values", - "Math", - "Math.LN2", - "Math.abs", - "Math.ceil", - "Math.floor", - "Math.log", - "Math.max", - "Math.min", - "Math.pow", - "Math.random", - "Math.round", - "MediaCapabilities.prototype.constructor", - "MediaDeviceInfo.prototype.constructor", - "MediaDeviceInfo.prototype.label", - "MediaDeviceInfo.prototype.toJSON", - "MediaDevices.prototype.constructor", - "MediaElementAudioSourceNode.prototype.constructor", - "MediaEncryptedEvent.prototype.constructor", - "MediaError.prototype.code", - "MediaError.prototype.constructor", - "MediaError.prototype.message", - "MediaKeyMessageEvent.prototype.constructor", - "MediaKeyMessageEvent.prototype.message", - "MediaKeySession.prototype.close", - "MediaKeySession.prototype.closed", - "MediaKeySession.prototype.constructor", - "MediaKeySession.prototype.load", - "MediaKeySession.prototype.remove", - "MediaKeySession.prototype.sessionId", - "MediaKeySession.prototype.update", - "MediaKeyStatusMap.prototype.constructor", - "MediaKeyStatusMap.prototype.entries", - "MediaKeyStatusMap.prototype.forEach", - "MediaKeyStatusMap.prototype.get", - "MediaKeyStatusMap.prototype.has", - "MediaKeyStatusMap.prototype.keys", - "MediaKeyStatusMap.prototype.size", - "MediaKeyStatusMap.prototype.values", - "MediaKeySystemAccess.prototype.constructor", - "MediaKeys.prototype.constructor", - "MediaList.prototype.constructor", - "MediaList.prototype.item", - "MediaList.prototype.length", - "MediaList.prototype.toString", - "MediaMetadata.prototype.constructor", - "MediaMetadata.prototype.title", - "MediaQueryList.prototype.addListener", - "MediaQueryList.prototype.constructor", - "MediaQueryList.prototype.matches", - "MediaQueryListEvent.prototype.constructor", - "MediaQueryListEvent.prototype.matches", - "MediaRecorder.prototype.constructor", - "MediaRecorder.prototype.start", - "MediaRecorder.prototype.state", - "MediaRecorder.prototype.stop", - "MediaSession.prototype.constructor", - "MediaSettingsRange.prototype.constructor", - "MediaSettingsRange.prototype.max", - "MediaSettingsRange.prototype.min", - "MediaSource.prototype.constructor", - "MediaSource.prototype.duration", - "MediaSource.prototype.readyState", - "MediaStream.prototype.active", - "MediaStream.prototype.clone", - "MediaStream.prototype.constructor", - "MediaStream.prototype.id", - "MediaStreamAudioDestinationNode.prototype.constructor", - "MediaStreamAudioSourceNode.prototype.constructor", - "MediaStreamEvent.prototype.constructor", - "MediaStreamTrack.prototype.clone", - "MediaStreamTrack.prototype.constructor", - "MediaStreamTrack.prototype.enabled", - "MediaStreamTrack.prototype.id", - "MediaStreamTrack.prototype.label", - "MediaStreamTrack.prototype.readyState", - "MediaStreamTrack.prototype.stop", - "MediaStreamTrackEvent.prototype.constructor", - "MediaStreamTrackEvent.prototype.track", - "MessageChannel.prototype.constructor", - "MessageChannel.prototype.port1", - "MessageChannel.prototype.port2", - "MessageEvent.prototype.constructor", - "MessageEvent.prototype.data", - "MessageEvent.prototype.source", - "MessagePort.prototype.close", - "MessagePort.prototype.constructor", - "MessagePort.prototype.postMessage", - "MessagePort.prototype.start", - "MimeType.prototype.constructor", - "MimeType.prototype.description", - "MimeType.prototype.type", - "MimeTypeArray.prototype.constructor", - "MimeTypeArray.prototype.item", - "MimeTypeArray.prototype.length", - "MouseEvent.prototype.button", - "MouseEvent.prototype.clientX", - "MouseEvent.prototype.clientY", - "MouseEvent.prototype.constructor", - "MouseEvent.prototype.ctrlKey", - "MouseEvent.prototype.layerX", - "MouseEvent.prototype.layerY", - "MouseEvent.prototype.metaKey", - "MouseEvent.prototype.offsetX", - "MouseEvent.prototype.offsetY", - "MouseEvent.prototype.pageX", - "MouseEvent.prototype.pageY", - "MouseEvent.prototype.relatedTarget", - "MouseEvent.prototype.shiftKey", - "MouseEvent.prototype.x", - "MouseEvent.prototype.y", - "MutationEvent.prototype.constructor", - "MutationObserver.prototype.constructor", - "MutationObserver.prototype.disconnect", - "MutationObserver.prototype.observe", - "MutationRecord.prototype.constructor", - "MutationRecord.prototype.nextSibling", - "MutationRecord.prototype.oldValue", - "MutationRecord.prototype.previousSibling", - "MutationRecord.prototype.target", - "MutationRecord.prototype.type", - "NaN", - "NamedNodeMap.prototype.constructor", - "NamedNodeMap.prototype.item", - "NamedNodeMap.prototype.length", - "NavigationPreloadManager.prototype.constructor", - "NavigationPreloadManager.prototype.disable", - "NavigationPreloadManager.prototype.enable", - "NavigationPreloadManager.prototype.getState", - "Navigator.prototype.clipboard", - "Navigator.prototype.constructor", - "Navigator.prototype.language", - "Navigator.prototype.platform", - "Navigator.prototype.plugins", - "Navigator.prototype.storage", - "Navigator.prototype.userAgent", - "NetworkInformation.prototype.constructor", - "Node", - "Node.ELEMENT_NODE", - "Node.TEXT_NODE", - "Node.prototype.ELEMENT_NODE", - "Node.prototype.TEXT_NODE", - "Node.prototype.appendChild", - "Node.prototype.childNodes", - "Node.prototype.cloneNode", - "Node.prototype.constructor", - "Node.prototype.firstChild", - "Node.prototype.insertBefore", - "Node.prototype.nextSibling", - "Node.prototype.nodeName", - "Node.prototype.nodeType", - "Node.prototype.nodeValue", - "Node.prototype.ownerDocument", - "Node.prototype.parentElement", - "Node.prototype.parentNode", - "Node.prototype.previousSibling", - "Node.prototype.removeChild", - "Node.prototype.replaceChild", - "Node.prototype.textContent", - "NodeFilter", - "NodeFilter.FILTER_ACCEPT", - "NodeFilter.FILTER_REJECT", - "NodeFilter.SHOW_TEXT", - "NodeIterator.prototype.constructor", - "NodeIterator.prototype.detach", - "NodeIterator.prototype.filter", - "NodeIterator.prototype.nextNode", - "NodeIterator.prototype.root", - "NodeList.prototype.constructor", - "NodeList.prototype.entries", - "NodeList.prototype.item", - "NodeList.prototype.keys", - "NodeList.prototype.length", - "NodeList.prototype.values", - "Notification.prototype.actions", - "Notification.prototype.body", - "Notification.prototype.close", - "Notification.prototype.constructor", - "Notification.prototype.data", - "Notification.prototype.dir", - "Notification.prototype.icon", - "Notification.prototype.lang", - "Notification.prototype.onclick", - "Notification.prototype.timestamp", - "Notification.prototype.title", - "Number", - "Number.prototype.constructor", - "Number.prototype.toLocaleString", - "Number.prototype.toString", - "Number.prototype.valueOf", - "Object", - "Object.prototype", - "Object.prototype.constructor", - "Object.prototype.hasOwnProperty", - "Object.prototype.toLocaleString", - "Object.prototype.toString", - "Object.prototype.valueOf", - "OfflineAudioCompletionEvent.prototype.constructor", - "OfflineAudioContext.prototype.constructor", - "OfflineAudioContext.prototype.length", - "OffscreenCanvas.prototype.constructor", - "OffscreenCanvas.prototype.height", - "OffscreenCanvas.prototype.width", - "OffscreenCanvasRenderingContext2D.prototype.clip", - "OffscreenCanvasRenderingContext2D.prototype.constructor", - "OffscreenCanvasRenderingContext2D.prototype.direction", - "OffscreenCanvasRenderingContext2D.prototype.fill", - "OffscreenCanvasRenderingContext2D.prototype.filter", - "OffscreenCanvasRenderingContext2D.prototype.rect", - "OffscreenCanvasRenderingContext2D.prototype.restore", - "OffscreenCanvasRenderingContext2D.prototype.save", - "Option", - "Option.prototype.constructor", - "Option.prototype.disabled", - "Option.prototype.form", - "Option.prototype.index", - "Option.prototype.label", - "Option.prototype.text", - "Option.prototype.value", - "OrientationSensor.prototype.constructor", - "OscillatorNode.prototype.constructor", - "OscillatorNode.prototype.type", - "OverconstrainedError.prototype.constructor", - "OverconstrainedError.prototype.message", - "OverconstrainedError.prototype.name", - "PageTransitionEvent.prototype.constructor", - "PannerNode.prototype.constructor", - "PannerNode.prototype.setPosition", - "PasswordCredential.prototype.constructor", - "PasswordCredential.prototype.name", - "Path2D.prototype.constructor", - "Path2D.prototype.rect", - "PaymentAddress.prototype.constructor", - "PaymentAddress.prototype.toJSON", - "PaymentInstruments.prototype.clear", - "PaymentInstruments.prototype.constructor", - "PaymentInstruments.prototype.delete", - "PaymentInstruments.prototype.get", - "PaymentInstruments.prototype.has", - "PaymentInstruments.prototype.keys", - "PaymentInstruments.prototype.set", - "PaymentManager.prototype.constructor", - "PaymentRequest.prototype.abort", - "PaymentRequest.prototype.constructor", - "PaymentRequest.prototype.id", - "PaymentRequest.prototype.show", - "PaymentRequestUpdateEvent.prototype.constructor", - "PaymentResponse.prototype.constructor", - "PaymentResponse.prototype.details", - "PaymentResponse.prototype.toJSON", - "Performance.prototype.constructor", - "Performance.prototype.memory", - "Performance.prototype.now", - "Performance.prototype.toJSON", - "PerformanceEntry.prototype.constructor", - "PerformanceEntry.prototype.duration", - "PerformanceEntry.prototype.name", - "PerformanceEntry.prototype.toJSON", - "PerformanceLongTaskTiming.prototype.constructor", - "PerformanceLongTaskTiming.prototype.toJSON", - "PerformanceMark.prototype.constructor", - "PerformanceMeasure.prototype.constructor", - "PerformanceNavigation.prototype.constructor", - "PerformanceNavigation.prototype.toJSON", - "PerformanceNavigation.prototype.type", - "PerformanceNavigationTiming.prototype.constructor", - "PerformanceNavigationTiming.prototype.toJSON", - "PerformanceNavigationTiming.prototype.type", - "PerformanceObserver.prototype.constructor", - "PerformanceObserver.prototype.disconnect", - "PerformanceObserver.prototype.observe", - "PerformanceObserverEntryList.prototype.constructor", - "PerformancePaintTiming.prototype.constructor", - "PerformanceResourceTiming.prototype.constructor", - "PerformanceResourceTiming.prototype.toJSON", - "PerformanceServerTiming.prototype.constructor", - "PerformanceServerTiming.prototype.description", - "PerformanceServerTiming.prototype.duration", - "PerformanceServerTiming.prototype.name", - "PerformanceServerTiming.prototype.toJSON", - "PerformanceTiming.prototype.constructor", - "PerformanceTiming.prototype.toJSON", - "PeriodicWave.prototype.constructor", - "PermissionStatus.prototype.constructor", - "PermissionStatus.prototype.state", - "Permissions.prototype.constructor", - "Permissions.prototype.query", - "PhotoCapabilities.prototype.constructor", - "PictureInPictureWindow.prototype.constructor", - "PictureInPictureWindow.prototype.height", - "PictureInPictureWindow.prototype.width", - "Plugin.prototype.constructor", - "Plugin.prototype.description", - "Plugin.prototype.item", - "Plugin.prototype.length", - "Plugin.prototype.name", - "PluginArray.prototype.constructor", - "PluginArray.prototype.item", - "PluginArray.prototype.length", - "PointerEvent.prototype.constructor", - "PointerEvent.prototype.height", - "PointerEvent.prototype.width", - "PopStateEvent.prototype.constructor", - "PopStateEvent.prototype.state", - "Presentation.prototype.constructor", - "PresentationAvailability.prototype.constructor", - "PresentationAvailability.prototype.value", - "PresentationConnection.prototype.close", - "PresentationConnection.prototype.constructor", - "PresentationConnection.prototype.id", - "PresentationConnection.prototype.send", - "PresentationConnection.prototype.state", - "PresentationConnection.prototype.url", - "PresentationConnectionAvailableEvent.prototype.constructor", - "PresentationConnectionCloseEvent.prototype.constructor", - "PresentationConnectionCloseEvent.prototype.message", - "PresentationConnectionCloseEvent.prototype.reason", - "PresentationConnectionList.prototype.constructor", - "PresentationReceiver.prototype.constructor", - "PresentationRequest.prototype.constructor", - "PresentationRequest.prototype.start", - "ProcessingInstruction.prototype.constructor", - "ProcessingInstruction.prototype.target", - "ProgressEvent.prototype.constructor", - "ProgressEvent.prototype.loaded", - "Promise.all", - "Promise.prototype", - "Promise.prototype.catch", - "Promise.prototype.constructor", - "Promise.prototype.then", - "Promise.reject", - "Promise.resolve", - "PromiseRejectionEvent.prototype.constructor", - "PromiseRejectionEvent.prototype.promise", - "PromiseRejectionEvent.prototype.reason", - "Proxy", - "PublicKeyCredential.prototype.constructor", - "PushManager.prototype.constructor", - "PushSubscription.prototype.constructor", - "PushSubscription.prototype.options", - "PushSubscription.prototype.toJSON", - "PushSubscriptionOptions.prototype.constructor", - "RTCCertificate.prototype.constructor", - "RTCDTMFSender.prototype.constructor", - "RTCDTMFToneChangeEvent.prototype.constructor", - "RTCDataChannel.prototype.close", - "RTCDataChannel.prototype.constructor", - "RTCDataChannel.prototype.id", - "RTCDataChannel.prototype.label", - "RTCDataChannel.prototype.protocol", - "RTCDataChannel.prototype.readyState", - "RTCDataChannel.prototype.send", - "RTCDataChannelEvent.prototype.constructor", - "RTCDtlsTransport.prototype.constructor", - "RTCDtlsTransport.prototype.state", - "RTCError.prototype.constructor", - "RTCErrorEvent.prototype.constructor", - "RTCErrorEvent.prototype.error", - "RTCIceCandidate.prototype.address", - "RTCIceCandidate.prototype.constructor", - "RTCIceCandidate.prototype.port", - "RTCIceCandidate.prototype.protocol", - "RTCIceCandidate.prototype.toJSON", - "RTCIceCandidate.prototype.type", - "RTCIceTransport.prototype.constructor", - "RTCIceTransport.prototype.state", - "RTCPeerConnection.prototype.close", - "RTCPeerConnection.prototype.constructor", - "RTCPeerConnectionIceEvent.prototype.constructor", - "RTCRtpReceiver.prototype.constructor", - "RTCRtpReceiver.prototype.track", - "RTCRtpSender.prototype.constructor", - "RTCRtpSender.prototype.track", - "RTCRtpTransceiver.prototype.constructor", - "RTCRtpTransceiver.prototype.direction", - "RTCSessionDescription.prototype.constructor", - "RTCSessionDescription.prototype.toJSON", - "RTCSessionDescription.prototype.type", - "RTCStatsReport.prototype.constructor", - "RTCStatsReport.prototype.entries", - "RTCStatsReport.prototype.forEach", - "RTCStatsReport.prototype.get", - "RTCStatsReport.prototype.has", - "RTCStatsReport.prototype.keys", - "RTCStatsReport.prototype.size", - "RTCStatsReport.prototype.values", - "RTCTrackEvent.prototype.constructor", - "RTCTrackEvent.prototype.track", - "RadioNodeList.prototype.constructor", - "RadioNodeList.prototype.value", - "Range.prototype.collapse", - "Range.prototype.constructor", - "Range.prototype.detach", - "Range.prototype.getBoundingClientRect", - "Range.prototype.getClientRects", - "Range.prototype.toString", - "RangeError", - "RangeError.prototype.constructor", - "RangeError.prototype.message", - "RangeError.prototype.name", - "RangeError.prototype.toString", - "ReadableStream.prototype.cancel", - "ReadableStream.prototype.constructor", - "RegExp", - "RegExp.prototype.compile", - "RegExp.prototype.constructor", - "RegExp.prototype.exec", - "RegExp.prototype.global", - "RegExp.prototype.ignoreCase", - "RegExp.prototype.multiline", - "RegExp.prototype.source", - "RegExp.prototype.test", - "RegExp.prototype.toString", - "RelativeOrientationSensor.prototype.constructor", - "RemotePlayback.prototype.constructor", - "RemotePlayback.prototype.prompt", - "RemotePlayback.prototype.state", - "ReportingObserver.prototype.constructor", - "ReportingObserver.prototype.disconnect", - "ReportingObserver.prototype.observe", - "Request.prototype.cache", - "Request.prototype.clone", - "Request.prototype.constructor", - "Request.prototype.method", - "Request.prototype.redirect", - "Request.prototype.referrer", - "Request.prototype.text", - "Request.prototype.url", - "ResizeObserver.prototype.constructor", - "ResizeObserver.prototype.disconnect", - "ResizeObserver.prototype.observe", - "ResizeObserver.prototype.unobserve", - "ResizeObserverEntry.prototype.constructor", - "ResizeObserverEntry.prototype.target", - "Response.prototype.body", - "Response.prototype.clone", - "Response.prototype.constructor", - "Response.prototype.ok", - "Response.prototype.status", - "Response.prototype.statusText", - "Response.prototype.text", - "Response.prototype.type", - "Response.prototype.url", - "SVGAElement.prototype.constructor", - "SVGAElement.prototype.href", - "SVGAElement.prototype.target", - "SVGAngle.prototype.constructor", - "SVGAngle.prototype.value", - "SVGAnimateElement.prototype.constructor", - "SVGAnimateMotionElement.prototype.constructor", - "SVGAnimateTransformElement.prototype.constructor", - "SVGAnimatedAngle.prototype.constructor", - "SVGAnimatedBoolean.prototype.constructor", - "SVGAnimatedEnumeration.prototype.constructor", - "SVGAnimatedInteger.prototype.constructor", - "SVGAnimatedLength.prototype.constructor", - "SVGAnimatedLengthList.prototype.constructor", - "SVGAnimatedNumber.prototype.constructor", - "SVGAnimatedNumberList.prototype.constructor", - "SVGAnimatedPreserveAspectRatio.prototype.constructor", - "SVGAnimatedRect.prototype.constructor", - "SVGAnimatedString.prototype.constructor", - "SVGAnimatedTransformList.prototype.constructor", - "SVGAnimationElement.prototype.constructor", - "SVGCircleElement.prototype.constructor", - "SVGClipPathElement.prototype.constructor", - "SVGComponentTransferFunctionElement.prototype.constructor", - "SVGComponentTransferFunctionElement.prototype.offset", - "SVGComponentTransferFunctionElement.prototype.type", - "SVGDefsElement.prototype.constructor", - "SVGDescElement.prototype.constructor", - "SVGDiscardElement.prototype.constructor", - "SVGElement.prototype.blur", - "SVGElement.prototype.className", - "SVGElement.prototype.constructor", - "SVGElement.prototype.dataset", - "SVGElement.prototype.focus", - "SVGElement.prototype.onclick", - "SVGElement.prototype.onkeypress", - "SVGElement.prototype.onmousedown", - "SVGElement.prototype.onmousemove", - "SVGElement.prototype.onmouseover", - "SVGElement.prototype.onsubmit", - "SVGElement.prototype.style", - "SVGEllipseElement.prototype.constructor", - "SVGFEBlendElement.prototype.constructor", - "SVGFEBlendElement.prototype.height", - "SVGFEBlendElement.prototype.result", - "SVGFEBlendElement.prototype.width", - "SVGFEBlendElement.prototype.x", - "SVGFEBlendElement.prototype.y", - "SVGFEColorMatrixElement.prototype.constructor", - "SVGFEColorMatrixElement.prototype.height", - "SVGFEColorMatrixElement.prototype.result", - "SVGFEColorMatrixElement.prototype.type", - "SVGFEColorMatrixElement.prototype.values", - "SVGFEColorMatrixElement.prototype.width", - "SVGFEColorMatrixElement.prototype.x", - "SVGFEColorMatrixElement.prototype.y", - "SVGFEComponentTransferElement.prototype.constructor", - "SVGFEComponentTransferElement.prototype.height", - "SVGFEComponentTransferElement.prototype.result", - "SVGFEComponentTransferElement.prototype.width", - "SVGFEComponentTransferElement.prototype.x", - "SVGFEComponentTransferElement.prototype.y", - "SVGFECompositeElement.prototype.constructor", - "SVGFECompositeElement.prototype.height", - "SVGFECompositeElement.prototype.result", - "SVGFECompositeElement.prototype.width", - "SVGFECompositeElement.prototype.x", - "SVGFECompositeElement.prototype.y", - "SVGFEConvolveMatrixElement.prototype.constructor", - "SVGFEConvolveMatrixElement.prototype.height", - "SVGFEConvolveMatrixElement.prototype.result", - "SVGFEConvolveMatrixElement.prototype.width", - "SVGFEConvolveMatrixElement.prototype.x", - "SVGFEConvolveMatrixElement.prototype.y", - "SVGFEDiffuseLightingElement.prototype.constructor", - "SVGFEDiffuseLightingElement.prototype.height", - "SVGFEDiffuseLightingElement.prototype.result", - "SVGFEDiffuseLightingElement.prototype.width", - "SVGFEDiffuseLightingElement.prototype.x", - "SVGFEDiffuseLightingElement.prototype.y", - "SVGFEDisplacementMapElement.prototype.constructor", - "SVGFEDisplacementMapElement.prototype.height", - "SVGFEDisplacementMapElement.prototype.result", - "SVGFEDisplacementMapElement.prototype.width", - "SVGFEDisplacementMapElement.prototype.x", - "SVGFEDisplacementMapElement.prototype.y", - "SVGFEDistantLightElement.prototype.constructor", - "SVGFEDropShadowElement.prototype.constructor", - "SVGFEDropShadowElement.prototype.height", - "SVGFEDropShadowElement.prototype.result", - "SVGFEDropShadowElement.prototype.width", - "SVGFEDropShadowElement.prototype.x", - "SVGFEDropShadowElement.prototype.y", - "SVGFEFloodElement.prototype.constructor", - "SVGFEFloodElement.prototype.height", - "SVGFEFloodElement.prototype.result", - "SVGFEFloodElement.prototype.width", - "SVGFEFloodElement.prototype.x", - "SVGFEFloodElement.prototype.y", - "SVGFEFuncAElement.prototype.constructor", - "SVGFEFuncBElement.prototype.constructor", - "SVGFEFuncGElement.prototype.constructor", - "SVGFEFuncRElement.prototype.constructor", - "SVGFEGaussianBlurElement.prototype.constructor", - "SVGFEGaussianBlurElement.prototype.height", - "SVGFEGaussianBlurElement.prototype.result", - "SVGFEGaussianBlurElement.prototype.width", - "SVGFEGaussianBlurElement.prototype.x", - "SVGFEGaussianBlurElement.prototype.y", - "SVGFEImageElement.prototype.constructor", - "SVGFEImageElement.prototype.height", - "SVGFEImageElement.prototype.href", - "SVGFEImageElement.prototype.result", - "SVGFEImageElement.prototype.width", - "SVGFEImageElement.prototype.x", - "SVGFEImageElement.prototype.y", - "SVGFEMergeElement.prototype.constructor", - "SVGFEMergeElement.prototype.height", - "SVGFEMergeElement.prototype.result", - "SVGFEMergeElement.prototype.width", - "SVGFEMergeElement.prototype.x", - "SVGFEMergeElement.prototype.y", - "SVGFEMergeNodeElement.prototype.constructor", - "SVGFEMorphologyElement.prototype.constructor", - "SVGFEMorphologyElement.prototype.height", - "SVGFEMorphologyElement.prototype.result", - "SVGFEMorphologyElement.prototype.width", - "SVGFEMorphologyElement.prototype.x", - "SVGFEMorphologyElement.prototype.y", - "SVGFEOffsetElement.prototype.constructor", - "SVGFEOffsetElement.prototype.height", - "SVGFEOffsetElement.prototype.result", - "SVGFEOffsetElement.prototype.width", - "SVGFEOffsetElement.prototype.x", - "SVGFEOffsetElement.prototype.y", - "SVGFEPointLightElement.prototype.constructor", - "SVGFEPointLightElement.prototype.x", - "SVGFEPointLightElement.prototype.y", - "SVGFESpecularLightingElement.prototype.constructor", - "SVGFESpecularLightingElement.prototype.height", - "SVGFESpecularLightingElement.prototype.result", - "SVGFESpecularLightingElement.prototype.width", - "SVGFESpecularLightingElement.prototype.x", - "SVGFESpecularLightingElement.prototype.y", - "SVGFESpotLightElement.prototype.constructor", - "SVGFESpotLightElement.prototype.x", - "SVGFESpotLightElement.prototype.y", - "SVGFETileElement.prototype.constructor", - "SVGFETileElement.prototype.height", - "SVGFETileElement.prototype.result", - "SVGFETileElement.prototype.width", - "SVGFETileElement.prototype.x", - "SVGFETileElement.prototype.y", - "SVGFETurbulenceElement.prototype.constructor", - "SVGFETurbulenceElement.prototype.height", - "SVGFETurbulenceElement.prototype.result", - "SVGFETurbulenceElement.prototype.type", - "SVGFETurbulenceElement.prototype.width", - "SVGFETurbulenceElement.prototype.x", - "SVGFETurbulenceElement.prototype.y", - "SVGFilterElement.prototype.constructor", - "SVGFilterElement.prototype.height", - "SVGFilterElement.prototype.href", - "SVGFilterElement.prototype.width", - "SVGFilterElement.prototype.x", - "SVGFilterElement.prototype.y", - "SVGForeignObjectElement.prototype.constructor", - "SVGForeignObjectElement.prototype.height", - "SVGForeignObjectElement.prototype.width", - "SVGForeignObjectElement.prototype.x", - "SVGForeignObjectElement.prototype.y", - "SVGGElement.prototype.constructor", - "SVGGeometryElement.prototype.constructor", - "SVGGradientElement.prototype.constructor", - "SVGGradientElement.prototype.href", - "SVGGraphicsElement.prototype.constructor", - "SVGImageElement.prototype.constructor", - "SVGImageElement.prototype.decode", - "SVGImageElement.prototype.height", - "SVGImageElement.prototype.href", - "SVGImageElement.prototype.width", - "SVGImageElement.prototype.x", - "SVGImageElement.prototype.y", - "SVGLength.prototype.constructor", - "SVGLength.prototype.value", - "SVGLengthList.prototype.clear", - "SVGLengthList.prototype.constructor", - "SVGLengthList.prototype.getItem", - "SVGLengthList.prototype.initialize", - "SVGLengthList.prototype.length", - "SVGLengthList.prototype.removeItem", - "SVGLineElement.prototype.constructor", - "SVGLinearGradientElement.prototype.constructor", - "SVGMPathElement.prototype.constructor", - "SVGMPathElement.prototype.href", - "SVGMarkerElement.prototype.constructor", - "SVGMaskElement.prototype.constructor", - "SVGMaskElement.prototype.height", - "SVGMaskElement.prototype.width", - "SVGMaskElement.prototype.x", - "SVGMaskElement.prototype.y", - "SVGMatrix.prototype.a", - "SVGMatrix.prototype.b", - "SVGMatrix.prototype.c", - "SVGMatrix.prototype.constructor", - "SVGMatrix.prototype.f", - "SVGMetadataElement.prototype.constructor", - "SVGNumber.prototype.constructor", - "SVGNumber.prototype.value", - "SVGNumberList.prototype.clear", - "SVGNumberList.prototype.constructor", - "SVGNumberList.prototype.getItem", - "SVGNumberList.prototype.initialize", - "SVGNumberList.prototype.length", - "SVGNumberList.prototype.removeItem", - "SVGPathElement.prototype.constructor", - "SVGPatternElement.prototype.constructor", - "SVGPatternElement.prototype.height", - "SVGPatternElement.prototype.href", - "SVGPatternElement.prototype.width", - "SVGPatternElement.prototype.x", - "SVGPatternElement.prototype.y", - "SVGPoint.prototype.constructor", - "SVGPoint.prototype.x", - "SVGPoint.prototype.y", - "SVGPointList.prototype.clear", - "SVGPointList.prototype.constructor", - "SVGPointList.prototype.getItem", - "SVGPointList.prototype.initialize", - "SVGPointList.prototype.length", - "SVGPointList.prototype.removeItem", - "SVGPolygonElement.prototype.constructor", - "SVGPolylineElement.prototype.constructor", - "SVGPreserveAspectRatio.prototype.align", - "SVGPreserveAspectRatio.prototype.constructor", - "SVGRadialGradientElement.prototype.constructor", - "SVGRect.prototype.constructor", - "SVGRect.prototype.height", - "SVGRect.prototype.width", - "SVGRect.prototype.x", - "SVGRect.prototype.y", - "SVGRectElement.prototype.constructor", - "SVGRectElement.prototype.height", - "SVGRectElement.prototype.width", - "SVGRectElement.prototype.x", - "SVGRectElement.prototype.y", - "SVGSVGElement.prototype.constructor", - "SVGSVGElement.prototype.getElementById", - "SVGSVGElement.prototype.height", - "SVGSVGElement.prototype.width", - "SVGSVGElement.prototype.x", - "SVGSVGElement.prototype.y", - "SVGScriptElement.prototype.constructor", - "SVGScriptElement.prototype.href", - "SVGScriptElement.prototype.type", - "SVGSetElement.prototype.constructor", - "SVGStopElement.prototype.constructor", - "SVGStopElement.prototype.offset", - "SVGStringList.prototype.clear", - "SVGStringList.prototype.constructor", - "SVGStringList.prototype.getItem", - "SVGStringList.prototype.initialize", - "SVGStringList.prototype.length", - "SVGStringList.prototype.removeItem", - "SVGStyleElement.prototype.constructor", - "SVGStyleElement.prototype.disabled", - "SVGStyleElement.prototype.title", - "SVGStyleElement.prototype.type", - "SVGSwitchElement.prototype.constructor", - "SVGSymbolElement.prototype.constructor", - "SVGTSpanElement.prototype.constructor", - "SVGTextContentElement.prototype.constructor", - "SVGTextElement.prototype.constructor", - "SVGTextPathElement.prototype.constructor", - "SVGTextPathElement.prototype.href", - "SVGTextPathElement.prototype.method", - "SVGTextPositioningElement.prototype.constructor", - "SVGTextPositioningElement.prototype.x", - "SVGTextPositioningElement.prototype.y", - "SVGTitleElement.prototype.constructor", - "SVGTransform.prototype.constructor", - "SVGTransform.prototype.type", - "SVGTransformList.prototype.clear", - "SVGTransformList.prototype.constructor", - "SVGTransformList.prototype.getItem", - "SVGTransformList.prototype.initialize", - "SVGTransformList.prototype.length", - "SVGTransformList.prototype.removeItem", - "SVGUnitTypes.prototype.constructor", - "SVGUseElement.prototype.constructor", - "SVGUseElement.prototype.height", - "SVGUseElement.prototype.href", - "SVGUseElement.prototype.width", - "SVGUseElement.prototype.x", - "SVGUseElement.prototype.y", - "SVGViewElement.prototype.constructor", - "Screen.prototype.constructor", - "Screen.prototype.height", - "Screen.prototype.orientation", - "Screen.prototype.width", - "ScreenOrientation.prototype.constructor", - "ScreenOrientation.prototype.lock", - "ScreenOrientation.prototype.type", - "ScriptProcessorNode.prototype.constructor", - "SecurityPolicyViolationEvent.prototype.constructor", - "SecurityPolicyViolationEvent.prototype.lineNumber", - "SecurityPolicyViolationEvent.prototype.referrer", - "Selection.prototype.addRange", - "Selection.prototype.anchorNode", - "Selection.prototype.collapse", - "Selection.prototype.constructor", - "Selection.prototype.empty", - "Selection.prototype.extend", - "Selection.prototype.focusNode", - "Selection.prototype.getRangeAt", - "Selection.prototype.rangeCount", - "Selection.prototype.removeAllRanges", - "Selection.prototype.selectAllChildren", - "Selection.prototype.setPosition", - "Selection.prototype.toString", - "Selection.prototype.type", - "Sensor.prototype.constructor", - "Sensor.prototype.start", - "Sensor.prototype.stop", - "Sensor.prototype.timestamp", - "SensorErrorEvent.prototype.constructor", - "SensorErrorEvent.prototype.error", - "ServiceWorker.prototype.constructor", - "ServiceWorker.prototype.postMessage", - "ServiceWorker.prototype.state", - "ServiceWorkerContainer.prototype.constructor", - "ServiceWorkerContainer.prototype.ready", - "ServiceWorkerContainer.prototype.register", - "ServiceWorkerRegistration.prototype.active", - "ServiceWorkerRegistration.prototype.constructor", - "ServiceWorkerRegistration.prototype.update", - "Set.prototype.add", - "Set.prototype.clear", - "Set.prototype.constructor", - "Set.prototype.delete", - "Set.prototype.entries", - "Set.prototype.forEach", - "Set.prototype.has", - "Set.prototype.keys", - "Set.prototype.size", - "Set.prototype.values", - "ShadowRoot.prototype.activeElement", - "ShadowRoot.prototype.constructor", - "ShadowRoot.prototype.getSelection", - "ShadowRoot.prototype.host", - "ShadowRoot.prototype.innerHTML", - "SharedWorker.prototype.constructor", - "SharedWorker.prototype.port", - "SourceBuffer.prototype.abort", - "SourceBuffer.prototype.constructor", - "SourceBuffer.prototype.remove", - "SourceBufferList.prototype.constructor", - "SourceBufferList.prototype.length", - "SpeechSynthesisErrorEvent.prototype.constructor", - "SpeechSynthesisErrorEvent.prototype.error", - "SpeechSynthesisEvent.prototype.constructor", - "SpeechSynthesisEvent.prototype.name", - "SpeechSynthesisUtterance.prototype.constructor", - "SpeechSynthesisUtterance.prototype.lang", - "SpeechSynthesisUtterance.prototype.text", - "StaticRange.prototype.constructor", - "StereoPannerNode.prototype.constructor", - "Storage.prototype.clear", - "Storage.prototype.constructor", - "Storage.prototype.getItem", - "Storage.prototype.key", - "Storage.prototype.length", - "Storage.prototype.removeItem", - "Storage.prototype.setItem", - "StorageEvent.prototype.constructor", - "StorageEvent.prototype.key", - "StorageEvent.prototype.oldValue", - "StorageEvent.prototype.url", - "StorageManager.prototype.constructor", - "String", - "String.fromCharCode", - "String.prototype", - "String.prototype.charAt", - "String.prototype.charCodeAt", - "String.prototype.concat", - "String.prototype.constructor", - "String.prototype.indexOf", - "String.prototype.lastIndexOf", - "String.prototype.length", - "String.prototype.match", - "String.prototype.replace", - "String.prototype.search", - "String.prototype.slice", - "String.prototype.split", - "String.prototype.substr", - "String.prototype.substring", - "String.prototype.toLowerCase", - "String.prototype.toString", - "String.prototype.toUpperCase", - "String.prototype.valueOf", - "StylePropertyMap.prototype.append", - "StylePropertyMap.prototype.clear", - "StylePropertyMap.prototype.constructor", - "StylePropertyMap.prototype.delete", - "StylePropertyMap.prototype.set", - "StylePropertyMapReadOnly.prototype.constructor", - "StylePropertyMapReadOnly.prototype.entries", - "StylePropertyMapReadOnly.prototype.forEach", - "StylePropertyMapReadOnly.prototype.get", - "StylePropertyMapReadOnly.prototype.has", - "StylePropertyMapReadOnly.prototype.keys", - "StylePropertyMapReadOnly.prototype.size", - "StylePropertyMapReadOnly.prototype.values", - "StyleSheet.prototype.constructor", - "StyleSheet.prototype.disabled", - "StyleSheet.prototype.href", - "StyleSheet.prototype.title", - "StyleSheet.prototype.type", - "StyleSheetList.prototype.constructor", - "StyleSheetList.prototype.item", - "StyleSheetList.prototype.length", - "SubtleCrypto.prototype.constructor", - "SubtleCrypto.prototype.digest", - "Symbol.prototype", - "Symbol.prototype.constructor", - "Symbol.prototype.toString", - "Symbol.prototype.valueOf", - "SyntaxError", - "SyntaxError.prototype.constructor", - "SyntaxError.prototype.message", - "SyntaxError.prototype.name", - "SyntaxError.prototype.toString", - "TaskAttributionTiming.prototype.constructor", - "TaskAttributionTiming.prototype.toJSON", - "Text.prototype.constructor", - "Text.prototype.splitText", - "TextDecoder.prototype.constructor", - "TextDecoder.prototype.decode", - "TextDecoderStream.prototype.constructor", - "TextEncoder.prototype.constructor", - "TextEncoder.prototype.encode", - "TextEncoderStream.prototype.constructor", - "TextEvent.prototype.constructor", - "TextEvent.prototype.data", - "TextMetrics.prototype.constructor", - "TextMetrics.prototype.width", - "TextTrack.prototype.constructor", - "TextTrack.prototype.id", - "TextTrack.prototype.label", - "TextTrack.prototype.language", - "TextTrackCue.prototype.constructor", - "TextTrackCue.prototype.id", - "TextTrackCue.prototype.track", - "TextTrackCueList.prototype.constructor", - "TextTrackCueList.prototype.length", - "TextTrackList.prototype.constructor", - "TextTrackList.prototype.length", - "TimeRanges.prototype.constructor", - "TimeRanges.prototype.end", - "TimeRanges.prototype.length", - "TimeRanges.prototype.start", - "Touch.prototype.clientX", - "Touch.prototype.clientY", - "Touch.prototype.constructor", - "Touch.prototype.pageX", - "Touch.prototype.pageY", - "Touch.prototype.target", - "TouchEvent.prototype.constructor", - "TouchEvent.prototype.ctrlKey", - "TouchEvent.prototype.metaKey", - "TouchEvent.prototype.shiftKey", - "TouchList.prototype.constructor", - "TouchList.prototype.item", - "TouchList.prototype.length", - "TrackEvent.prototype.constructor", - "TrackEvent.prototype.track", - "TransformStream.prototype.constructor", - "TransitionEvent.prototype.constructor", - "TreeWalker.prototype.constructor", - "TreeWalker.prototype.filter", - "TreeWalker.prototype.firstChild", - "TreeWalker.prototype.nextNode", - "TreeWalker.prototype.nextSibling", - "TreeWalker.prototype.parentNode", - "TreeWalker.prototype.previousSibling", - "TreeWalker.prototype.root", - "TypeError", - "TypeError.prototype.constructor", - "TypeError.prototype.message", - "TypeError.prototype.name", - "TypeError.prototype.toString", - "UIEvent.prototype.constructor", - "UIEvent.prototype.detail", - "UIEvent.prototype.which", - "URL.createObjectURL", - "URL.prototype.constructor", - "URL.prototype.hash", - "URL.prototype.host", - "URL.prototype.hostname", - "URL.prototype.href", - "URL.prototype.pathname", - "URL.prototype.port", - "URL.prototype.protocol", - "URL.prototype.search", - "URL.prototype.searchParams", - "URL.prototype.toString", - "URL.prototype.username", - "URLSearchParams.prototype.append", - "URLSearchParams.prototype.constructor", - "URLSearchParams.prototype.delete", - "URLSearchParams.prototype.entries", - "URLSearchParams.prototype.forEach", - "URLSearchParams.prototype.get", - "URLSearchParams.prototype.has", - "URLSearchParams.prototype.keys", - "URLSearchParams.prototype.set", - "URLSearchParams.prototype.sort", - "URLSearchParams.prototype.toString", - "URLSearchParams.prototype.values", - "Uint16Array.prototype.constructor", - "Uint16Array.prototype.copyWithin", - "Uint16Array.prototype.entries", - "Uint16Array.prototype.fill", - "Uint16Array.prototype.filter", - "Uint16Array.prototype.find", - "Uint16Array.prototype.forEach", - "Uint16Array.prototype.includes", - "Uint16Array.prototype.indexOf", - "Uint16Array.prototype.join", - "Uint16Array.prototype.keys", - "Uint16Array.prototype.lastIndexOf", - "Uint16Array.prototype.map", - "Uint16Array.prototype.reduce", - "Uint16Array.prototype.reverse", - "Uint16Array.prototype.set", - "Uint16Array.prototype.slice", - "Uint16Array.prototype.some", - "Uint16Array.prototype.sort", - "Uint16Array.prototype.subarray", - "Uint16Array.prototype.toLocaleString", - "Uint16Array.prototype.toString", - "Uint16Array.prototype.values", - "Uint32Array.prototype.constructor", - "Uint32Array.prototype.copyWithin", - "Uint32Array.prototype.entries", - "Uint32Array.prototype.fill", - "Uint32Array.prototype.filter", - "Uint32Array.prototype.find", - "Uint32Array.prototype.forEach", - "Uint32Array.prototype.includes", - "Uint32Array.prototype.indexOf", - "Uint32Array.prototype.join", - "Uint32Array.prototype.keys", - "Uint32Array.prototype.lastIndexOf", - "Uint32Array.prototype.map", - "Uint32Array.prototype.reduce", - "Uint32Array.prototype.reverse", - "Uint32Array.prototype.set", - "Uint32Array.prototype.slice", - "Uint32Array.prototype.some", - "Uint32Array.prototype.sort", - "Uint32Array.prototype.subarray", - "Uint32Array.prototype.toLocaleString", - "Uint32Array.prototype.toString", - "Uint32Array.prototype.values", - "Uint8Array.prototype", - "Uint8Array.prototype.constructor", - "Uint8Array.prototype.copyWithin", - "Uint8Array.prototype.entries", - "Uint8Array.prototype.fill", - "Uint8Array.prototype.filter", - "Uint8Array.prototype.find", - "Uint8Array.prototype.forEach", - "Uint8Array.prototype.includes", - "Uint8Array.prototype.indexOf", - "Uint8Array.prototype.join", - "Uint8Array.prototype.keys", - "Uint8Array.prototype.lastIndexOf", - "Uint8Array.prototype.map", - "Uint8Array.prototype.reduce", - "Uint8Array.prototype.reverse", - "Uint8Array.prototype.set", - "Uint8Array.prototype.slice", - "Uint8Array.prototype.some", - "Uint8Array.prototype.sort", - "Uint8Array.prototype.subarray", - "Uint8Array.prototype.toLocaleString", - "Uint8Array.prototype.toString", - "Uint8Array.prototype.values", - "Uint8ClampedArray.prototype.constructor", - "Uint8ClampedArray.prototype.copyWithin", - "Uint8ClampedArray.prototype.entries", - "Uint8ClampedArray.prototype.fill", - "Uint8ClampedArray.prototype.filter", - "Uint8ClampedArray.prototype.find", - "Uint8ClampedArray.prototype.forEach", - "Uint8ClampedArray.prototype.includes", - "Uint8ClampedArray.prototype.indexOf", - "Uint8ClampedArray.prototype.join", - "Uint8ClampedArray.prototype.keys", - "Uint8ClampedArray.prototype.lastIndexOf", - "Uint8ClampedArray.prototype.map", - "Uint8ClampedArray.prototype.reduce", - "Uint8ClampedArray.prototype.reverse", - "Uint8ClampedArray.prototype.set", - "Uint8ClampedArray.prototype.slice", - "Uint8ClampedArray.prototype.some", - "Uint8ClampedArray.prototype.sort", - "Uint8ClampedArray.prototype.subarray", - "Uint8ClampedArray.prototype.toLocaleString", - "Uint8ClampedArray.prototype.toString", - "Uint8ClampedArray.prototype.values", - "UserActivation.prototype.constructor", - "VTTCue.prototype.align", - "VTTCue.prototype.constructor", - "VTTCue.prototype.line", - "VTTCue.prototype.position", - "VTTCue.prototype.size", - "VTTCue.prototype.text", - "ValidityState.prototype.constructor", - "VisualViewport.prototype.constructor", - "VisualViewport.prototype.height", - "VisualViewport.prototype.offsetLeft", - "VisualViewport.prototype.offsetTop", - "VisualViewport.prototype.width", - "WaveShaperNode.prototype.constructor", - "WeakMap.prototype.constructor", - "WeakMap.prototype.delete", - "WeakMap.prototype.get", - "WeakMap.prototype.has", - "WeakMap.prototype.set", - "WeakSet.prototype.add", - "WeakSet.prototype.constructor", - "WeakSet.prototype.delete", - "WeakSet.prototype.has", - "WebAssembly", - "WebAssembly.compile", - "WebAssembly.instantiate", - "WebGL2RenderingContext.prototype.clear", - "WebGL2RenderingContext.prototype.constructor", - "WebGL2RenderingContext.prototype.disable", - "WebGL2RenderingContext.prototype.enable", - "WebGL2RenderingContext.prototype.finish", - "WebGL2RenderingContext.prototype.hint", - "WebGL2RenderingContext.prototype.isBuffer", - "WebGLActiveInfo.prototype.constructor", - "WebGLActiveInfo.prototype.name", - "WebGLActiveInfo.prototype.size", - "WebGLActiveInfo.prototype.type", - "WebGLBuffer.prototype.constructor", - "WebGLContextEvent.prototype.constructor", - "WebGLFramebuffer.prototype.constructor", - "WebGLProgram.prototype.constructor", - "WebGLQuery.prototype.constructor", - "WebGLRenderbuffer.prototype.constructor", - "WebGLRenderingContext.prototype.clear", - "WebGLRenderingContext.prototype.constructor", - "WebGLRenderingContext.prototype.disable", - "WebGLRenderingContext.prototype.enable", - "WebGLRenderingContext.prototype.finish", - "WebGLRenderingContext.prototype.hint", - "WebGLRenderingContext.prototype.isBuffer", - "WebGLSampler.prototype.constructor", - "WebGLShader.prototype.constructor", - "WebGLShaderPrecisionFormat.prototype.constructor", - "WebGLSync.prototype.constructor", - "WebGLTexture.prototype.constructor", - "WebGLTransformFeedback.prototype.constructor", - "WebGLUniformLocation.prototype.constructor", - "WebGLVertexArrayObject.prototype.constructor", - "WebSocket.prototype.OPEN", - "WebSocket.prototype.close", - "WebSocket.prototype.constructor", - "WebSocket.prototype.protocol", - "WebSocket.prototype.readyState", - "WebSocket.prototype.send", - "WebSocket.prototype.url", - "WheelEvent.prototype.constructor", - "Window.prototype.constructor", - "Worker.prototype.constructor", - "Worker.prototype.postMessage", - "Worklet.prototype.constructor", - "WritableStream.prototype.abort", - "WritableStream.prototype.constructor", - "XMLDocument.prototype.constructor", - "XMLHttpRequest.prototype", - "XMLHttpRequest.prototype.abort", - "XMLHttpRequest.prototype.constructor", - "XMLHttpRequest.prototype.getAllResponseHeaders", - "XMLHttpRequest.prototype.getResponseHeader", - "XMLHttpRequest.prototype.open", - "XMLHttpRequest.prototype.readyState", - "XMLHttpRequest.prototype.responseText", - "XMLHttpRequest.prototype.send", - "XMLHttpRequest.prototype.setRequestHeader", - "XMLHttpRequest.prototype.status", - "XMLHttpRequest.prototype.statusText", - "XMLHttpRequest.prototype.timeout", - "XMLHttpRequestEventTarget.prototype.constructor", - "XMLHttpRequestUpload.prototype.constructor", - "XMLSerializer.prototype.constructor", - "XPathEvaluator.prototype.constructor", - "XPathEvaluator.prototype.evaluate", - "XPathExpression.prototype.constructor", - "XPathExpression.prototype.evaluate", - "XPathResult.prototype.constructor", - "XSLTProcessor.prototype.constructor", - "alert", - "announceAccessibleMessage.prototype.constructor", - "appendParam.prototype.constructor", - "assert.prototype.constructor", - "assertInstanceof.prototype.constructor", - "assertNotReached.prototype.constructor", - "btoa", - "clearInterval", - "clearTimeout", - "createElementWithClassName.prototype.constructor", - "crypto", - "decodeURI", - "decodeURIComponent", - "disableTextSelectAndDrag.prototype.constructor", - "document.location", - "elide.prototype.constructor", - "encodeURI", - "encodeURIComponent", - "ensureTransitionEndEvent.prototype.constructor", - "eval", - "findAncestor.prototype.constructor", - "findAncestorByClass.prototype.constructor", - "getDeepActiveElement.prototype.constructor", - "getRequiredElement.prototype.constructor", - "getSVGElement.prototype.constructor", - "getUrlForCss.prototype.constructor", - "hasKeyModifiers.prototype.constructor", - "history", - "indexedDB", - "isFinite", - "isNaN", - "isRTL.prototype.constructor", - "isTextInputElement.prototype.constructor", - "listenOnce.prototype.constructor", - "location", - "location.hash", - "location.host", - "location.hostname", - "location.href", - "location.pathname", - "location.port", - "location.protocol", - "location.reload", - "location.replace", - "location.search", - "navigator", - "openDatabase", - "parent", - "parseFloat", - "parseInt", - "parseQueryParams.prototype.constructor", - "prompt", - "queryRequiredElement.prototype.constructor", - "quoteString.prototype.constructor", - "recomputeLayoutWidth.prototype.constructor", - "scrollLeftForDocument.prototype.constructor", - "scrollTopForDocument.prototype.constructor", - "self", - "setInterval", - "setQueryParam.prototype.constructor", - "setScrollLeftForDocument.prototype.constructor", - "setScrollTopForDocument.prototype.constructor", - "setTimeout", - "swapDomNodes.prototype.constructor", - "top", - "undefined", - "unescape", - "window" -] diff --git a/src/gadgets/libPolyfill/.eslintrc.yaml b/src/gadgets/libPolyfill/.eslintrc.yaml deleted file mode 100644 index 9b06323a..00000000 --- a/src/gadgets/libPolyfill/.eslintrc.yaml +++ /dev/null @@ -1,2 +0,0 @@ -ignorePatterns: - - MediaWiki:Gadget-libPolyfill.js