print = console.log
const a = require('./first.node')

// console.log = function () {}
const proxy = function (tt, name) {
    return new Proxy(tt, {
        get(target, p, receiver) {
            let res = Reflect.get(target, p, receiver);
            // if (p !== 'debug' && p !== 'Object') {
            if (!['Array', 'Math', 'Function', 'Object', 'ENV'].includes(p)) console.log(`${name} get`, p, typeof res)

            // }
            // if (p === 'offsetHeight'){
            //   debugger;
            // }
            // console.log(Reflect.get(target, '_cf_chl_ctx', receiver))

            if (!['_registeredHandlers', 'window', '_currentEvent', 'performance', 'debug', '_eventListenerss', 'top', 'prototype'].includes(p) && res && typeof res === 'object' && typeof p !== 'symbol') {
                return proxy(res, p)
            }
            return res;
        },
        // getPrototypeOf(target) {
        //
        // }
    })
}
let con3 = console.log
let con4 = console.log
con3 = function () {
}
con4 = function () {
}
let sortRandom = function () {
    return .5 - _random();
}

function protectProp(target) {
    let r = {}
    Object.keys(Object.getOwnPropertyDescriptors(target.prototype)).forEach(e => {
        r[e] = {}
        if (Object.getOwnPropertyDescriptor(target.prototype, e)['value']) {
            r[e]['value'] = v_saf(Object.getOwnPropertyDescriptor(target.prototype, e)['value'])
        }

        if (Object.getOwnPropertyDescriptor(target.prototype, e)['get']) {
            r[e]['get'] = v_saf(Object.getOwnPropertyDescriptor(target.prototype, e)['get'], undefined, 'get')
        }
        if (Object.getOwnPropertyDescriptor(target.prototype, e)['set']) {
            r[e]['set'] = v_saf(Object.getOwnPropertyDescriptor(target.prototype, e)['set'], undefined, 'set')
        }
        r[e]['enumerable'] = true
    })
    console.log(r)
    Object.defineProperties(target.prototype, r)
    return target;
}

var _random = Math.random
_process = process;
let scales = [0.95, 0.75, 0.85, 0.9, 0.8, 0.7]
let scale = scales[parseInt(_random() * scales.length)]
scale = 1;
const Canvas = require('canvas')
const {
    Worker, isMainThread, parentPort, workerData
} = require('worker_threads');
var v_saf;
!function () {
    var n = Function.toString, t = [], i = [], o = [].indexOf.bind(t), e = [].push.bind(t), r = [].push.bind(i);

    function u(n, t, nn) {
        tt = ''
        if (nn) {
            tt = ' ' + nn
        }
        return -1 == o(n) && (e(n), r(`function${tt} ${t || n.name || ""}() { [native code] }`.replaceAll('get  get', 'get').replaceAll('set  set', 'set'))), n
    }

    Object.defineProperty(Function.prototype, "toString", {
        enumerable: !1,
        configurable: !0,
        writable: !0,
        value: function () {
            let res = "function" == typeof this && i[o(this)] || n.call(this)
            // print('toString', arguments, '|||', 'res', res)

            return res;
        }
    }), u(Function.prototype.toString, "toString"), v_saf = u
}();
const fss = require("fs");
var ENVS = JSON.parse(fss.readFileSync('./src/env.json').toString())
// dc6a639f12738c9276d68c74
let keys = Object.keys(ENVS);
for (let i = 0; i < keys.length; i++) {
    console.log(keys[i], ENVS[keys[i]].navigatorparams.useragent)

}

let timeout = false;
let randomEvent = false;

// let sid = process.argv[2] || keys[parseInt(Math.random() * keys.length)]
let sid = process.argv[2] || 'a74b38e7115cf4d1b1f6976c';
// sid = 'f9755a246dc4bd1e073e0361'
if (process.argv[3]) {
    console.log = function () {
    }
}

// sid = "b93e97591189a5841d0288ba"
let ENV = ENVS[sid]

ENV = {
    "windowparams": {
        "innerheight": 2121,
        "innerwidth": 980,
        "outerheight": 844,
        "outerwidth": 390,
        "screenx": 0,
        "screeny": 0,
        "screentop": 0,
        "screenleft": 0,
        "pageyoffset": 0,
        "devicepixelratio": 3
    },
    "screenparams": {
        "height": 844,
        "width": 390,
        "availheight": 844,
        "availwidth": 390,
        "pixeldepth": 24,
        "colordepth": 24,
        "availtop": 0,
        "availleft": 0
    },
    "navigatorparams": {
        "appname": "Netscape",
        "appncodename": "Mozilla",
        "appversion": "5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1",
        "appcodename": "Mozilla",
        "hardwareconcurrency": 10,
        "maxtouchpoints": 1,
        "platform": "MacIntel",
        "product": "Gecko",
        "productsub": "20030107",
        "useragent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1",
        "vendor": "Google Inc.",
        "vendorsub": "",
        "donottrack": null,
        "oscpu": "",
        "buildid": ""
    },
    "featurepolicy": {
        "features": ["geolocation", "storage-access", "gamepad", "ch-ect", "midi", "display-capture", "usb", "browsing-topics", "local-fonts", "picture-in-picture", "join-ad-interest-group", "publickey-credentials-get", "otp-credentials", "ch-ua-form-factor", "encrypted-media", "ch-save-data", "ch-ua-full-version-list", "ch-ua-wow64", "shared-storage", "ch-downlink", "ch-prefers-color-scheme", "sync-xhr", "ch-ua-model", "ch-prefers-reduced-transparency", "serial", "camera", "ch-prefers-reduced-motion", "private-state-token-issuance", "bluetooth", "identity-credentials-get", "ch-ua-full-version", "fullscreen", "ch-dpr", "unload", "keyboard-map", "ch-ua-platform", "shared-storage-select-url", "gyroscope", "interest-cohort", "ch-ua-mobile", "window-management", "ch-ua", "run-ad-auction", "magnetometer", "accelerometer", "private-state-token-redemption", "ch-ua-arch", "xr-spatial-tracking", "idle-detection", "ch-ua-platform-version", "ch-width", "clipboard-read", "ch-viewport-width", "payment", "ch-viewport-height", "ch-rtt", "autoplay", "cross-origin-isolated", "hid", "ch-ua-bitness", "screen-wake-lock", "private-aggregation", "clipboard-write", "attribution-reporting", "ch-device-memory", "microphone"],
        "allowedfeatures": ["geolocation", "storage-access", "gamepad", "ch-ect", "midi", "display-capture", "usb", "browsing-topics", "local-fonts", "picture-in-picture", "join-ad-interest-group", "publickey-credentials-get", "otp-credentials", "ch-ua-form-factor", "encrypted-media", "ch-save-data", "ch-ua-full-version-list", "ch-ua-wow64", "shared-storage", "ch-downlink", "ch-prefers-color-scheme", "sync-xhr", "ch-ua-model", "ch-prefers-reduced-transparency", "serial", "camera", "ch-prefers-reduced-motion", "private-state-token-issuance", "bluetooth", "identity-credentials-get", "ch-ua-full-version", "fullscreen", "ch-dpr", "unload", "keyboard-map", "ch-ua-platform", "shared-storage-select-url", "gyroscope", "interest-cohort", "ch-ua-mobile", "window-management", "ch-ua", "run-ad-auction", "magnetometer", "accelerometer", "private-state-token-redemption", "ch-ua-arch", "xr-spatial-tracking", "idle-detection", "ch-ua-platform-version", "ch-width", "clipboard-read", "ch-viewport-width", "payment", "ch-viewport-height", "ch-rtt", "autoplay", "cross-origin-isolated", "hid", "ch-ua-bitness", "screen-wake-lock", "private-aggregation", "clipboard-write", "attribution-reporting", "ch-device-memory", "microphone"]
    },
    "plugins": {},
    "mimetypes": [],
    "fontsres": {
        "50px  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'Andale Mono',  sans-serif": {
            "0-_{w.": {
                "width": 180.029296875,
                "actualboundingboxascent": 35.107421875,
                "actualboundingboxleft": -3.5888671875,
                "actualboundingboxright": 167.919921875,
                "fontboundingboxascent": 45,
                "actualboundingboxdescent": 10.888671875
            }
        },
        "50px 'Arial Narrow',  sans-serif": {
            "0-_{w.": {
                "width": 111.6943359375,
                "actualboundingboxascent": 36.4013671875,
                "actualboundingboxleft": -1.6357421875,
                "actualboundingboxright": 108.1787109375,
                "fontboundingboxascent": 47,
                "actualboundingboxdescent": 10.5224609375
            }
        },
        "50px 'Arial Unicode MS',  sans-serif": {
            "0-_{w.": {
                "width": 136.1572265625,
                "actualboundingboxascent": 36.4013671875,
                "actualboundingboxleft": -2.24609375,
                "actualboundingboxright": 131.7138671875,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 10.498046875
            }
        },
        "50px 'Batang',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'Batang',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'Bell MT',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'Bell MT',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'Brush Script',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'Brush Script',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'Brush Script MT',  sans-serif": {
            "0-_{w.": {
                "width": 133.740234375,
                "actualboundingboxascent": 32.958984375,
                "actualboundingboxleft": -0.29296875,
                "actualboundingboxright": 124.4873046875,
                "fontboundingboxascent": 44,
                "actualboundingboxdescent": 13.9892578125
            }
        },
        "50px 'Calibri',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'Calibri',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'Charter',  sans-serif": {
            "0-_{w.": {
                "width": 139.55078125,
                "actualboundingboxascent": 35.15625,
                "actualboundingboxleft": -2.05078125,
                "actualboundingboxright": 135.7666015625,
                "fontboundingboxascent": 49,
                "actualboundingboxdescent": 11.7919921875
            }
        },
        "50px 'Courier',  sans-serif": {
            "0-_{w.": {
                "width": 180.029296875,
                "actualboundingboxascent": 31.640625,
                "actualboundingboxleft": -5.0048828125,
                "actualboundingboxright": 169.82421875,
                "fontboundingboxascent": 46,
                "actualboundingboxdescent": 11.7919921875
            }
        },
        "50px 'Courier New',  sans-serif": {
            "0-_{w.": {
                "width": 180.029296875,
                "actualboundingboxascent": 31.3720703125,
                "actualboundingboxleft": -5.5908203125,
                "actualboundingboxright": 168.798828125,
                "fontboundingboxascent": 42,
                "actualboundingboxdescent": 13.6962890625
            }
        },
        "50px 'Curlz MT',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'Curlz MT',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'DejaVu Sans',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'DejaVu Sans',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'DejaVu Sans Mono',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'DejaVu Sans Mono',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'DejaVu Serif Condensed',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'DejaVu Serif Condensed',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'Droid Sans',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'Droid Sans',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'Droid Sans Fallback',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'Droid Sans Fallback',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'Droid Serif',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'Droid Serif',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'Forte',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'Forte',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'Futura',  sans-serif": {
            "0-_{w.": {
                "width": 139.35546875,
                "actualboundingboxascent": 41.650390625,
                "actualboundingboxleft": -2.1240234375,
                "actualboundingboxright": 135.0341796875,
                "fontboundingboxascent": 52,
                "actualboundingboxdescent": 10.44921875
            }
        },
        "50px 'Geneva',  sans-serif": {
            "0-_{w.": {
                "width": 162.3046875,
                "actualboundingboxascent": 40.1611328125,
                "actualboundingboxleft": -2.83203125,
                "actualboundingboxright": 157.9345703125,
                "fontboundingboxascent": 50,
                "actualboundingboxdescent": 9.08203125
            }
        },
        "50px 'Hei',  sans-serif": {
            "0-_{w.": {
                "width": 153.41796875,
                "actualboundingboxascent": 38.3544921875,
                "actualboundingboxleft": -2.294921875,
                "actualboundingboxright": 150.3662109375,
                "fontboundingboxascent": 40,
                "actualboundingboxdescent": 5.0048828125
            }
        },
        "50px 'Leelawadee',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'Leelawadee',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'Levenim MT',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'Levenim MT',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'Liberation Sans',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'Liberation Sans',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'Liberation Sans Narrow',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'Liberation Sans Narrow',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'Marlett',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'Marlett',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'Meiryo UI',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'Meiryo UI',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'Microsoft Uighur',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'Microsoft Uighur',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'Microsoft YaHei UI',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'Microsoft YaHei UI',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'MS Mincho',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'MS Mincho',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'MS UI Gothic',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'MS UI Gothic',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'NanumGothic',  sans-serif": {
            "0-_{w.": {
                "width": 148.39996337890625,
                "actualboundingboxascent": 38.95000076293945,
                "actualboundingboxleft": -3.049999952316284,
                "actualboundingboxright": 143.64996337890625,
                "fontboundingboxascent": 46,
                "actualboundingboxdescent": 8.800003051757812
            }
        },
        "50px 'Nirmala UI',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'Nirmala UI',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'Palatino',  sans-serif": {
            "0-_{w.": {
                "width": 132.91015625,
                "actualboundingboxascent": 36.3037109375,
                "actualboundingboxleft": -1.513671875,
                "actualboundingboxright": 129.5654296875,
                "fontboundingboxascent": 41,
                "actualboundingboxdescent": 8.69140625
            }
        },
        "50px 'Papyrus',  sans-serif": {
            "0-_{w.": {
                "width": 139.84375,
                "actualboundingboxascent": 34.08203125,
                "actualboundingboxleft": -1.66015625,
                "actualboundingboxright": 136.1572265625,
                "fontboundingboxascent": 47,
                "actualboundingboxdescent": 10.2783203125
            }
        },
        "50px 'PMingLiU',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'PMingLiU',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'PT Serif',  sans-serif": {
            "0-_{w.": {
                "width": 134.0999755859375,
                "actualboundingboxascent": 35.60000228881836,
                "actualboundingboxleft": -1.75,
                "actualboundingboxright": 130.54998779296875,
                "fontboundingboxascent": 51,
                "actualboundingboxdescent": 11.5
            }
        },
        "50px 'SimHei',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'SimHei',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'STIXVariants',  sans-serif": {
            "0-_{w.": {
                "width": 140.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 137.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 12.200000762939453
            }
        },
        "50px 'STSong',  sans-serif": {
            "0-_{w.": {
                "width": 132.94996643066406,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.649999976158142,
                "actualboundingboxright": 130.0999755859375,
                "fontboundingboxascent": 43,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'Traditional Arabic',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'Traditional Arabic',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'Urdu Typesetting',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'Urdu Typesetting',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "50px 'Verdana',  sans-serif": {
            "0-_{w.": {
                "width": 175.4150390625,
                "actualboundingboxascent": 37.98828125,
                "actualboundingboxleft": -3.3447265625,
                "actualboundingboxright": 169.23828125,
                "fontboundingboxascent": 50,
                "actualboundingboxdescent": 9.5703125
            }
        },
        "50px 'Wingdings',  sans-serif": {
            "0-_{w.": {
                "width": 311.5966796875,
                "actualboundingboxascent": 39.5751953125,
                "actualboundingboxleft": -4.2236328125,
                "actualboundingboxright": 307.3974609375,
                "fontboundingboxascent": 45,
                "actualboundingboxdescent": 10.2294921875
            }
        },
        "50px 'Wingdings 3',  sans-serif": {
            "0-_{w.": {
                "width": 244.5068359375,
                "actualboundingboxascent": 38.9404296875,
                "actualboundingboxleft": -4.8095703125,
                "actualboundingboxright": 240.3076171875,
                "fontboundingboxascent": 46,
                "actualboundingboxdescent": 2.783203125
            }
        },
        "50px 'Helkevtrica',  sans-serif": {
            "0-_{w.": {
                "width": 152.84999084472656,
                "actualboundingboxascent": 41.35000228881836,
                "actualboundingboxleft": -2.5,
                "actualboundingboxright": 149.3000030517578,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 7
            }
        },
        "50px 'Helkevtrica',  serif": {
            "0-_{w.": {
                "width": 132.39996337890625,
                "actualboundingboxascent": 38.70000076293945,
                "actualboundingboxleft": -1.600000023841858,
                "actualboundingboxright": 129.59996032714844,
                "fontboundingboxascent": 53,
                "actualboundingboxdescent": 6.950000762939453
            }
        },
        "1000px sans-serif": {
            "₹": {
                "width": 600,
                "actualboundingboxascent": 714,
                "actualboundingboxleft": -64,
                "actualboundingboxright": 537,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "▁": {
                "width": 1000,
                "actualboundingboxascent": -11,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 1000,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 140
            },
            "₺": {
                "width": 556.15234375,
                "actualboundingboxascent": 702.63671875,
                "actualboundingboxleft": -45.8984375,
                "actualboundingboxright": 514.16015625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 2.44140625
            },
            "ꜽ": {
                "width": 739.2578125,
                "actualboundingboxascent": 561.03515625,
                "actualboundingboxleft": -42.96875,
                "actualboundingboxright": 717.28515625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 211.9140625
            },
            "�": {
                "width": 1000,
                "actualboundingboxascent": 875,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 1000,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 125
            },
            "₸": {
                "width": 556.15234375,
                "actualboundingboxascent": 696.77734375,
                "actualboundingboxleft": -22.94921875,
                "actualboundingboxright": 532.2265625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "׆": {
                "width": 401.5927429199219,
                "actualboundingboxascent": 596.1319580078125,
                "actualboundingboxleft": -83.04891967773438,
                "actualboundingboxright": 367.4630126953125,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "ẞ": {
                "width": 679.19921875,
                "actualboundingboxascent": 693.84765625,
                "actualboundingboxleft": -78.61328125,
                "actualboundingboxright": 631.34765625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 12.6953125
            },
            "ॿ": {
                "width": 567,
                "actualboundingboxascent": 642,
                "actualboundingboxleft": 22,
                "actualboundingboxright": 589,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 7
            },
            "": {
                "width": 1000,
                "actualboundingboxascent": 0,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 0,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "᳚": {
                "width": 0,
                "actualboundingboxascent": 809,
                "actualboundingboxleft": 377,
                "actualboundingboxright": -179,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": -598
            },
            "៝": {
                "width": 477.05078125,
                "actualboundingboxascent": 890.13671875,
                "actualboundingboxleft": 17.08984375,
                "actualboundingboxright": 475.09765625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "⎮": {
                "width": 602.05078125,
                "actualboundingboxascent": 769.53125,
                "actualboundingboxleft": -250.48828125,
                "actualboundingboxright": 347.16796875,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 250
            },
            "ം": {
                "width": 385.25390625,
                "actualboundingboxascent": 330.078125,
                "actualboundingboxleft": -31.25,
                "actualboundingboxright": 344.7265625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 5.859375
            },
            "ஂ": {
                "width": 626.953125,
                "actualboundingboxascent": 746.09375,
                "actualboundingboxleft": -55.17578125,
                "actualboundingboxright": 571.77734375,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 11.23046875
            },
            "ᅚ": {
                "width": 1000,
                "actualboundingboxascent": 0,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 0,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "␥": {
                "width": 628.41796875,
                "actualboundingboxascent": 543.45703125,
                "actualboundingboxleft": -62.5,
                "actualboundingboxright": 565.91796875,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": -40.0390625
            },
            "〮": {
                "width": 1600.09765625,
                "actualboundingboxascent": 588.8671875,
                "actualboundingboxleft": -84.9609375,
                "actualboundingboxright": 1514.16015625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": -161.1328125
            },
            "꠰": {
                "width": 237,
                "actualboundingboxascent": 622,
                "actualboundingboxleft": -78,
                "actualboundingboxright": 159,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "⬆": {
                "width": 1000,
                "actualboundingboxascent": 834,
                "actualboundingboxleft": -133,
                "actualboundingboxright": 867,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 62
            },
            "⇤": {
                "width": 1000,
                "actualboundingboxascent": 572.265625,
                "actualboundingboxleft": -84.47265625,
                "actualboundingboxright": 916.015625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": -150.390625
            },
            "₽": {
                "width": 495,
                "actualboundingboxascent": 630,
                "actualboundingboxleft": -26,
                "actualboundingboxright": 470,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "ⱻ": {
                "width": 407.2265625,
                "actualboundingboxascent": 545.41015625,
                "actualboundingboxleft": -24.4140625,
                "actualboundingboxright": 382.8125,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "₰": {
                "width": 901.85546875,
                "actualboundingboxascent": 734.86328125,
                "actualboundingboxleft": -96.19140625,
                "actualboundingboxright": 901.3671875,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 96.19140625
            },
            "ﯮ": {
                "width": 687.1609497070312,
                "actualboundingboxascent": 661.844482421875,
                "actualboundingboxleft": 68.2640380859375,
                "actualboundingboxright": 683.9963989257812,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 181.283935546875
            },
            "": {
                "width": 1000,
                "actualboundingboxascent": 0,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 0,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "": {
                "width": 1000,
                "actualboundingboxascent": 0,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 0,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "": {
                "width": 0,
                "actualboundingboxascent": 0,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 0,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "Ⴀ": {
                "width": 662.109375,
                "actualboundingboxascent": 715.8203125,
                "actualboundingboxleft": -41.9921875,
                "actualboundingboxright": 632.8125,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 15.13671875
            },
            "𝞐": {
                "width": 553,
                "actualboundingboxascent": 657,
                "actualboundingboxleft": 66,
                "actualboundingboxright": 512,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "܀": {
                "width": 591,
                "actualboundingboxascent": 382,
                "actualboundingboxleft": -114,
                "actualboundingboxright": 478,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "ᥐ": {
                "width": 513,
                "actualboundingboxascent": 546,
                "actualboundingboxleft": 10,
                "actualboundingboxright": 469,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 10
            },
            "ゕ": {
                "width": 1000,
                "actualboundingboxascent": 629,
                "actualboundingboxleft": -150,
                "actualboundingboxright": 875,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 44
            },
            "匭": {
                "width": 1000,
                "actualboundingboxascent": 784,
                "actualboundingboxleft": -114,
                "actualboundingboxright": 952,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 86
            },
            "؜": {
                "width": 0,
                "actualboundingboxascent": 0,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 0,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "⃣": {
                "width": 0,
                "actualboundingboxascent": 1010.7421875,
                "actualboundingboxleft": 1015.13671875,
                "actualboundingboxright": 266.6015625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 270.99609375
            },
            "￹": {
                "width": 602.05078125,
                "actualboundingboxascent": 0,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 0,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "Ș": {
                "width": 632,
                "actualboundingboxascent": 728,
                "actualboundingboxleft": -32,
                "actualboundingboxright": 943,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 211
            },
            "֏": {
                "width": 732,
                "actualboundingboxascent": 724,
                "actualboundingboxleft": -59,
                "actualboundingboxright": 708,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "ࣤ": {
                "width": 0,
                "actualboundingboxascent": 619.62890625,
                "actualboundingboxleft": -73.2421875,
                "actualboundingboxright": 285.64453125,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": -469.23828125
            },
            "঳": {
                "width": 1000,
                "actualboundingboxascent": 0,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 0,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "᱐": {
                "width": 572,
                "actualboundingboxascent": 725,
                "actualboundingboxleft": -49,
                "actualboundingboxright": 523,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 10
            },
            "☙": {
                "width": 602.05078125,
                "actualboundingboxascent": 556.640625,
                "actualboundingboxleft": -22.94921875,
                "actualboundingboxright": 579.1015625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": -203.61328125
            }
        },
        "1000px serif": {
            "₹": {
                "width": 568,
                "actualboundingboxascent": 711,
                "actualboundingboxleft": 4,
                "actualboundingboxright": 575,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": -56
            },
            "▁": {
                "width": 1000,
                "actualboundingboxascent": -75,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 1000,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 200
            },
            "₺": {
                "width": 556.15234375,
                "actualboundingboxascent": 702.63671875,
                "actualboundingboxleft": -45.8984375,
                "actualboundingboxright": 514.16015625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 2.44140625
            },
            "ꜽ": {
                "width": 739.2578125,
                "actualboundingboxascent": 561.03515625,
                "actualboundingboxleft": -42.96875,
                "actualboundingboxright": 717.28515625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 211.9140625
            },
            "�": {
                "width": 1000,
                "actualboundingboxascent": 875,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 1000,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 125
            },
            "₸": {
                "width": 556.15234375,
                "actualboundingboxascent": 696.77734375,
                "actualboundingboxleft": -22.94921875,
                "actualboundingboxright": 532.2265625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "׆": {
                "width": 401.5927429199219,
                "actualboundingboxascent": 596.1319580078125,
                "actualboundingboxleft": -83.04891967773438,
                "actualboundingboxright": 367.4630126953125,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "ẞ": {
                "width": 679.19921875,
                "actualboundingboxascent": 693.84765625,
                "actualboundingboxleft": -78.61328125,
                "actualboundingboxright": 631.34765625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 12.6953125
            },
            "ॿ": {
                "width": 560,
                "actualboundingboxascent": 651,
                "actualboundingboxleft": 48,
                "actualboundingboxright": 595,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 5
            },
            "": {
                "width": 1000,
                "actualboundingboxascent": 750,
                "actualboundingboxleft": -125,
                "actualboundingboxright": 875,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "᳚": {
                "width": 0,
                "actualboundingboxascent": 902,
                "actualboundingboxleft": 278,
                "actualboundingboxright": -90,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": -700
            },
            "៝": {
                "width": 600.5859375,
                "actualboundingboxascent": 908.203125,
                "actualboundingboxleft": -64.94140625,
                "actualboundingboxright": 532.71484375,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "⎮": {
                "width": 686.03515625,
                "actualboundingboxascent": 772.94921875,
                "actualboundingboxleft": -290.0390625,
                "actualboundingboxright": 391.11328125,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 246.09375
            },
            "ം": {
                "width": 392.578125,
                "actualboundingboxascent": 268.5546875,
                "actualboundingboxleft": -24.90234375,
                "actualboundingboxright": 321.2890625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 5.859375
            },
            "ஂ": {
                "width": 626.953125,
                "actualboundingboxascent": 746.09375,
                "actualboundingboxleft": -55.17578125,
                "actualboundingboxright": 571.77734375,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 11.23046875
            },
            "ᅚ": {
                "width": 1000,
                "actualboundingboxascent": 750,
                "actualboundingboxleft": -125,
                "actualboundingboxright": 875,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "␥": {
                "width": 628.41796875,
                "actualboundingboxascent": 543.45703125,
                "actualboundingboxleft": -62.5,
                "actualboundingboxright": 565.91796875,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": -40.0390625
            },
            "〮": {
                "width": 1600.09765625,
                "actualboundingboxascent": 588.8671875,
                "actualboundingboxleft": -84.9609375,
                "actualboundingboxright": 1514.16015625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": -161.1328125
            },
            "꠰": {
                "width": 237,
                "actualboundingboxascent": 622,
                "actualboundingboxleft": -78,
                "actualboundingboxright": 159,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "⬆": {
                "width": 1000,
                "actualboundingboxascent": 834,
                "actualboundingboxleft": -133,
                "actualboundingboxright": 867,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 62
            },
            "⇤": {
                "width": 1000,
                "actualboundingboxascent": 572.265625,
                "actualboundingboxleft": -84.47265625,
                "actualboundingboxright": 916.015625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": -150.390625
            },
            "₽": {
                "width": 495,
                "actualboundingboxascent": 630,
                "actualboundingboxleft": -26,
                "actualboundingboxright": 470,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "ⱻ": {
                "width": 407.2265625,
                "actualboundingboxascent": 545.41015625,
                "actualboundingboxleft": -24.4140625,
                "actualboundingboxright": 382.8125,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "₰": {
                "width": 901.85546875,
                "actualboundingboxascent": 734.86328125,
                "actualboundingboxleft": -96.19140625,
                "actualboundingboxright": 901.3671875,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 96.19140625
            },
            "ﯮ": {
                "width": 687.1609497070312,
                "actualboundingboxascent": 661.844482421875,
                "actualboundingboxleft": 68.2640380859375,
                "actualboundingboxright": 683.9963989257812,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 181.283935546875
            },
            "": {
                "width": 1000,
                "actualboundingboxascent": 750,
                "actualboundingboxleft": -125,
                "actualboundingboxright": 875,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "": {
                "width": 1000,
                "actualboundingboxascent": 750,
                "actualboundingboxleft": -125,
                "actualboundingboxright": 875,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "": {
                "width": 501,
                "actualboundingboxascent": 0,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 0,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "Ⴀ": {
                "width": 662.109375,
                "actualboundingboxascent": 715.8203125,
                "actualboundingboxleft": -41.9921875,
                "actualboundingboxright": 632.8125,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 15.13671875
            },
            "𝞐": {
                "width": 553,
                "actualboundingboxascent": 657,
                "actualboundingboxleft": 66,
                "actualboundingboxright": 512,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "܀": {
                "width": 591,
                "actualboundingboxascent": 382,
                "actualboundingboxleft": -114,
                "actualboundingboxright": 478,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "ᥐ": {
                "width": 513,
                "actualboundingboxascent": 546,
                "actualboundingboxleft": 10,
                "actualboundingboxright": 469,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 10
            },
            "ゕ": {
                "width": 1000,
                "actualboundingboxascent": 620,
                "actualboundingboxleft": -175,
                "actualboundingboxright": 867,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 13
            },
            "匭": {
                "width": 1000,
                "actualboundingboxascent": 759,
                "actualboundingboxleft": -63,
                "actualboundingboxright": 936,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 153
            },
            "؜": {
                "width": 0,
                "actualboundingboxascent": 0,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 0,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "⃣": {
                "width": 0,
                "actualboundingboxascent": 1010.7421875,
                "actualboundingboxleft": 1015.13671875,
                "actualboundingboxright": 266.6015625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 270.99609375
            },
            "￹": {
                "width": 602.05078125,
                "actualboundingboxascent": 0,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 0,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "Ș": {
                "width": 477,
                "actualboundingboxascent": 695,
                "actualboundingboxleft": -36,
                "actualboundingboxright": 437,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 189.5
            },
            "֏": {
                "width": 732,
                "actualboundingboxascent": 724,
                "actualboundingboxleft": -59,
                "actualboundingboxright": 708,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "ࣤ": {
                "width": 0,
                "actualboundingboxascent": 619.62890625,
                "actualboundingboxleft": -73.2421875,
                "actualboundingboxright": 285.64453125,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": -469.23828125
            },
            "঳": {
                "width": 1000,
                "actualboundingboxascent": 750,
                "actualboundingboxleft": -125,
                "actualboundingboxright": 875,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "᱐": {
                "width": 572,
                "actualboundingboxascent": 725,
                "actualboundingboxleft": -49,
                "actualboundingboxright": 523,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 10
            },
            "☙": {
                "width": 602.05078125,
                "actualboundingboxascent": 556.640625,
                "actualboundingboxleft": -22.94921875,
                "actualboundingboxright": 579.1015625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": -203.61328125
            }
        },
        "1000px monospace": {
            "₹": {
                "width": 600,
                "actualboundingboxascent": 714,
                "actualboundingboxleft": -64,
                "actualboundingboxright": 537,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 0
            },
            "▁": {
                "width": 602.05078125,
                "actualboundingboxascent": -122.55859375,
                "actualboundingboxleft": 9.765625,
                "actualboundingboxright": 611.81640625,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 250
            },
            "₺": {
                "width": 556.15234375,
                "actualboundingboxascent": 702.63671875,
                "actualboundingboxleft": -45.8984375,
                "actualboundingboxright": 514.16015625,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 2.44140625
            },
            "ꜽ": {
                "width": 739.2578125,
                "actualboundingboxascent": 561.03515625,
                "actualboundingboxleft": -42.96875,
                "actualboundingboxright": 717.28515625,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 211.9140625
            },
            "�": {
                "width": 602.05078125,
                "actualboundingboxascent": 886.71875,
                "actualboundingboxleft": -40.0390625,
                "actualboundingboxright": 561.5234375,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 83.984375
            },
            "₸": {
                "width": 556.15234375,
                "actualboundingboxascent": 696.77734375,
                "actualboundingboxleft": -22.94921875,
                "actualboundingboxright": 532.2265625,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 0
            },
            "׆": {
                "width": 600.09765625,
                "actualboundingboxascent": 478.02734375,
                "actualboundingboxleft": -183.10546875,
                "actualboundingboxright": 417.96875,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 0
            },
            "ẞ": {
                "width": 679.19921875,
                "actualboundingboxascent": 693.84765625,
                "actualboundingboxleft": -78.61328125,
                "actualboundingboxright": 631.34765625,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 12.6953125
            },
            "ॿ": {
                "width": 567,
                "actualboundingboxascent": 642,
                "actualboundingboxleft": 22,
                "actualboundingboxright": 589,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 7
            },
            "": {
                "width": 602.05078125,
                "actualboundingboxascent": 705.078125,
                "actualboundingboxleft": -50.78125,
                "actualboundingboxright": 550.78125,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 176.7578125
            },
            "᳚": {
                "width": 0,
                "actualboundingboxascent": 809,
                "actualboundingboxleft": 377,
                "actualboundingboxright": -179,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": -598
            },
            "៝": {
                "width": 477.05078125,
                "actualboundingboxascent": 890.13671875,
                "actualboundingboxleft": 17.08984375,
                "actualboundingboxright": 475.09765625,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 0
            },
            "⎮": {
                "width": 602.05078125,
                "actualboundingboxascent": 769.53125,
                "actualboundingboxleft": -250.48828125,
                "actualboundingboxright": 347.16796875,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 250
            },
            "ം": {
                "width": 385.25390625,
                "actualboundingboxascent": 330.078125,
                "actualboundingboxleft": -31.25,
                "actualboundingboxright": 344.7265625,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 5.859375
            },
            "ஂ": {
                "width": 626.953125,
                "actualboundingboxascent": 746.09375,
                "actualboundingboxleft": -55.17578125,
                "actualboundingboxright": 571.77734375,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 11.23046875
            },
            "ᅚ": {
                "width": 602.05078125,
                "actualboundingboxascent": 705.078125,
                "actualboundingboxleft": -50.78125,
                "actualboundingboxright": 550.78125,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 176.7578125
            },
            "␥": {
                "width": 628.41796875,
                "actualboundingboxascent": 543.45703125,
                "actualboundingboxleft": -62.5,
                "actualboundingboxright": 565.91796875,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": -40.0390625
            },
            "〮": {
                "width": 1600.09765625,
                "actualboundingboxascent": 588.8671875,
                "actualboundingboxleft": -84.9609375,
                "actualboundingboxright": 1514.16015625,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": -161.1328125
            },
            "꠰": {
                "width": 237,
                "actualboundingboxascent": 622,
                "actualboundingboxleft": -78,
                "actualboundingboxright": 159,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 0
            },
            "⬆": {
                "width": 1000,
                "actualboundingboxascent": 834,
                "actualboundingboxleft": -133,
                "actualboundingboxright": 867,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 62
            },
            "⇤": {
                "width": 602.05078125,
                "actualboundingboxascent": 436.03515625,
                "actualboundingboxleft": -32.2265625,
                "actualboundingboxright": 569.82421875,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": -111.81640625
            },
            "₽": {
                "width": 495,
                "actualboundingboxascent": 630,
                "actualboundingboxleft": -26,
                "actualboundingboxright": 470,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 0
            },
            "ⱻ": {
                "width": 407.2265625,
                "actualboundingboxascent": 545.41015625,
                "actualboundingboxleft": -24.4140625,
                "actualboundingboxright": 382.8125,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 0
            },
            "₰": {
                "width": 602.05078125,
                "actualboundingboxascent": 742.1875,
                "actualboundingboxleft": -22.4609375,
                "actualboundingboxright": 569.3359375,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 14.16015625
            },
            "ﯮ": {
                "width": 687.1609497070312,
                "actualboundingboxascent": 661.844482421875,
                "actualboundingboxleft": 68.2640380859375,
                "actualboundingboxright": 683.9963989257812,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 181.283935546875
            },
            "": {
                "width": 602.05078125,
                "actualboundingboxascent": 705.078125,
                "actualboundingboxleft": -50.78125,
                "actualboundingboxright": 550.78125,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 176.7578125
            },
            "": {
                "width": 602.05078125,
                "actualboundingboxascent": 705.078125,
                "actualboundingboxleft": -50.78125,
                "actualboundingboxright": 550.78125,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 176.7578125
            },
            "": {
                "width": 0,
                "actualboundingboxascent": 0,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 0,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 0
            },
            "Ⴀ": {
                "width": 662.109375,
                "actualboundingboxascent": 715.8203125,
                "actualboundingboxleft": -41.9921875,
                "actualboundingboxright": 632.8125,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 15.13671875
            },
            "𝞐": {
                "width": 553,
                "actualboundingboxascent": 657,
                "actualboundingboxleft": 66,
                "actualboundingboxright": 512,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 0
            },
            "܀": {
                "width": 591,
                "actualboundingboxascent": 382,
                "actualboundingboxleft": -114,
                "actualboundingboxright": 478,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 0
            },
            "ᥐ": {
                "width": 513,
                "actualboundingboxascent": 546,
                "actualboundingboxleft": 10,
                "actualboundingboxright": 469,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 10
            },
            "ゕ": {
                "width": 1000,
                "actualboundingboxascent": 629,
                "actualboundingboxleft": -150,
                "actualboundingboxright": 875,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 44
            },
            "匭": {
                "width": 1000,
                "actualboundingboxascent": 784,
                "actualboundingboxleft": -114,
                "actualboundingboxright": 952,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 86
            },
            "؜": {
                "width": 0,
                "actualboundingboxascent": 0,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 0,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 0
            },
            "⃣": {
                "width": 0,
                "actualboundingboxascent": 1010.7421875,
                "actualboundingboxleft": 1015.13671875,
                "actualboundingboxright": 266.6015625,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 270.99609375
            },
            "￹": {
                "width": 602.05078125,
                "actualboundingboxascent": 0,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 0,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 0
            },
            "Ș": {
                "width": 602.05078125,
                "actualboundingboxascent": 742.1875,
                "actualboundingboxleft": -67.87109375,
                "actualboundingboxright": 536.1328125,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 264.6484375
            },
            "֏": {
                "width": 732,
                "actualboundingboxascent": 724,
                "actualboundingboxleft": -59,
                "actualboundingboxright": 708,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 0
            },
            "ࣤ": {
                "width": 0,
                "actualboundingboxascent": 619.62890625,
                "actualboundingboxleft": -73.2421875,
                "actualboundingboxright": 285.64453125,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": -469.23828125
            },
            "঳": {
                "width": 602.05078125,
                "actualboundingboxascent": 705.078125,
                "actualboundingboxleft": -50.78125,
                "actualboundingboxright": 550.78125,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 176.7578125
            },
            "᱐": {
                "width": 572,
                "actualboundingboxascent": 725,
                "actualboundingboxleft": -49,
                "actualboundingboxright": 523,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": 10
            },
            "☙": {
                "width": 602.05078125,
                "actualboundingboxascent": 556.640625,
                "actualboundingboxleft": -22.94921875,
                "actualboundingboxright": 579.1015625,
                "fontboundingboxascent": 928,
                "actualboundingboxdescent": -203.61328125
            }
        },
        "1000px cursive": {
            "₹": {
                "width": 568,
                "actualboundingboxascent": 708,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 571,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": -59
            },
            "▁": {
                "width": 1000,
                "actualboundingboxascent": -75,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 1000,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 200
            },
            "₺": {
                "width": 556.15234375,
                "actualboundingboxascent": 702.63671875,
                "actualboundingboxleft": -45.8984375,
                "actualboundingboxright": 514.16015625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 2.44140625
            },
            "ꜽ": {
                "width": 739.2578125,
                "actualboundingboxascent": 561.03515625,
                "actualboundingboxleft": -42.96875,
                "actualboundingboxright": 717.28515625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 211.9140625
            },
            "�": {
                "width": 1000,
                "actualboundingboxascent": 875,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 1000,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 125
            },
            "₸": {
                "width": 556.15234375,
                "actualboundingboxascent": 696.77734375,
                "actualboundingboxleft": -22.94921875,
                "actualboundingboxright": 532.2265625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "׆": {
                "width": 401.5927429199219,
                "actualboundingboxascent": 596.1319580078125,
                "actualboundingboxleft": -83.04891967773438,
                "actualboundingboxright": 367.4630126953125,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "ẞ": {
                "width": 679.19921875,
                "actualboundingboxascent": 693.84765625,
                "actualboundingboxleft": -78.61328125,
                "actualboundingboxright": 631.34765625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 12.6953125
            },
            "ॿ": {
                "width": 560,
                "actualboundingboxascent": 651,
                "actualboundingboxleft": 48,
                "actualboundingboxright": 595,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 5
            },
            "": {
                "width": 1000,
                "actualboundingboxascent": 750,
                "actualboundingboxleft": -125,
                "actualboundingboxright": 875,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "᳚": {
                "width": 0,
                "actualboundingboxascent": 902,
                "actualboundingboxleft": 278,
                "actualboundingboxright": -90,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": -700
            },
            "៝": {
                "width": 600.5859375,
                "actualboundingboxascent": 908.203125,
                "actualboundingboxleft": -64.94140625,
                "actualboundingboxright": 532.71484375,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "⎮": {
                "width": 686.03515625,
                "actualboundingboxascent": 772.94921875,
                "actualboundingboxleft": -290.0390625,
                "actualboundingboxright": 391.11328125,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 246.09375
            },
            "ം": {
                "width": 392.578125,
                "actualboundingboxascent": 268.5546875,
                "actualboundingboxleft": -24.90234375,
                "actualboundingboxright": 321.2890625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 5.859375
            },
            "ஂ": {
                "width": 626.953125,
                "actualboundingboxascent": 746.09375,
                "actualboundingboxleft": -55.17578125,
                "actualboundingboxright": 571.77734375,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 11.23046875
            },
            "ᅚ": {
                "width": 1000,
                "actualboundingboxascent": 750,
                "actualboundingboxleft": -125,
                "actualboundingboxright": 875,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "␥": {
                "width": 628.41796875,
                "actualboundingboxascent": 543.45703125,
                "actualboundingboxleft": -62.5,
                "actualboundingboxright": 565.91796875,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": -40.0390625
            },
            "〮": {
                "width": 1600.09765625,
                "actualboundingboxascent": 588.8671875,
                "actualboundingboxleft": -84.9609375,
                "actualboundingboxright": 1514.16015625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": -161.1328125
            },
            "꠰": {
                "width": 237,
                "actualboundingboxascent": 622,
                "actualboundingboxleft": -78,
                "actualboundingboxright": 159,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "⬆": {
                "width": 1000,
                "actualboundingboxascent": 834,
                "actualboundingboxleft": -133,
                "actualboundingboxright": 867,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 62
            },
            "⇤": {
                "width": 1000,
                "actualboundingboxascent": 572.265625,
                "actualboundingboxleft": -84.47265625,
                "actualboundingboxright": 916.015625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": -150.390625
            },
            "₽": {
                "width": 495,
                "actualboundingboxascent": 630,
                "actualboundingboxleft": -26,
                "actualboundingboxright": 470,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "ⱻ": {
                "width": 407.2265625,
                "actualboundingboxascent": 545.41015625,
                "actualboundingboxleft": -24.4140625,
                "actualboundingboxright": 382.8125,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "₰": {
                "width": 901.85546875,
                "actualboundingboxascent": 734.86328125,
                "actualboundingboxleft": -96.19140625,
                "actualboundingboxright": 901.3671875,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 96.19140625
            },
            "ﯮ": {
                "width": 687.1609497070312,
                "actualboundingboxascent": 661.844482421875,
                "actualboundingboxleft": 68.2640380859375,
                "actualboundingboxright": 683.9963989257812,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 181.283935546875
            },
            "": {
                "width": 1000,
                "actualboundingboxascent": 750,
                "actualboundingboxleft": -125,
                "actualboundingboxright": 875,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "": {
                "width": 1000,
                "actualboundingboxascent": 750,
                "actualboundingboxleft": -125,
                "actualboundingboxright": 875,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "": {
                "width": 501,
                "actualboundingboxascent": 0,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 0,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "Ⴀ": {
                "width": 662.109375,
                "actualboundingboxascent": 715.8203125,
                "actualboundingboxleft": -41.9921875,
                "actualboundingboxright": 632.8125,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 15.13671875
            },
            "𝞐": {
                "width": 553,
                "actualboundingboxascent": 657,
                "actualboundingboxleft": 66,
                "actualboundingboxright": 512,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "܀": {
                "width": 591,
                "actualboundingboxascent": 382,
                "actualboundingboxleft": -114,
                "actualboundingboxright": 478,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "ᥐ": {
                "width": 513,
                "actualboundingboxascent": 546,
                "actualboundingboxleft": 10,
                "actualboundingboxright": 469,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 10
            },
            "ゕ": {
                "width": 1000,
                "actualboundingboxascent": 620,
                "actualboundingboxleft": -175,
                "actualboundingboxright": 867,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 13
            },
            "匭": {
                "width": 1000,
                "actualboundingboxascent": 682,
                "actualboundingboxleft": -108,
                "actualboundingboxright": 855,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 107
            },
            "؜": {
                "width": 0,
                "actualboundingboxascent": 0,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 0,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "⃣": {
                "width": 0,
                "actualboundingboxascent": 1010.7421875,
                "actualboundingboxleft": 1015.13671875,
                "actualboundingboxright": 266.6015625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 270.99609375
            },
            "￹": {
                "width": 602.05078125,
                "actualboundingboxascent": 0,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 0,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "Ș": {
                "width": 484,
                "actualboundingboxascent": 695,
                "actualboundingboxleft": -38,
                "actualboundingboxright": 437,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 189.5
            },
            "֏": {
                "width": 732,
                "actualboundingboxascent": 724,
                "actualboundingboxleft": -59,
                "actualboundingboxright": 708,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "ࣤ": {
                "width": 0,
                "actualboundingboxascent": 619.62890625,
                "actualboundingboxleft": -73.2421875,
                "actualboundingboxright": 285.64453125,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": -469.23828125
            },
            "঳": {
                "width": 1000,
                "actualboundingboxascent": 750,
                "actualboundingboxleft": -125,
                "actualboundingboxright": 875,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 0
            },
            "᱐": {
                "width": 572,
                "actualboundingboxascent": 725,
                "actualboundingboxleft": -49,
                "actualboundingboxright": 523,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": 10
            },
            "☙": {
                "width": 602.05078125,
                "actualboundingboxascent": 556.640625,
                "actualboundingboxleft": -22.94921875,
                "actualboundingboxright": 579.1015625,
                "fontboundingboxascent": 1060,
                "actualboundingboxdescent": -203.61328125
            }
        },
        "1000px fantasy": {
            "₹": {
                "width": 600,
                "actualboundingboxascent": 714,
                "actualboundingboxleft": -64,
                "actualboundingboxright": 537,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 0
            },
            "▁": {
                "width": 1000,
                "actualboundingboxascent": -11,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 1000,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 140
            },
            "₺": {
                "width": 556.15234375,
                "actualboundingboxascent": 702.63671875,
                "actualboundingboxleft": -45.8984375,
                "actualboundingboxright": 514.16015625,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 2.44140625
            },
            "ꜽ": {
                "width": 739.2578125,
                "actualboundingboxascent": 561.03515625,
                "actualboundingboxleft": -42.96875,
                "actualboundingboxright": 717.28515625,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 211.9140625
            },
            "�": {
                "width": 1000,
                "actualboundingboxascent": 875,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 1000,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 125
            },
            "₸": {
                "width": 556.15234375,
                "actualboundingboxascent": 696.77734375,
                "actualboundingboxleft": -22.94921875,
                "actualboundingboxright": 532.2265625,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 0
            },
            "׆": {
                "width": 401.5927429199219,
                "actualboundingboxascent": 596.1319580078125,
                "actualboundingboxleft": -83.04891967773438,
                "actualboundingboxright": 367.4630126953125,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 0
            },
            "ẞ": {
                "width": 679.19921875,
                "actualboundingboxascent": 693.84765625,
                "actualboundingboxleft": -78.61328125,
                "actualboundingboxright": 631.34765625,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 12.6953125
            },
            "ॿ": {
                "width": 567,
                "actualboundingboxascent": 642,
                "actualboundingboxleft": 22,
                "actualboundingboxright": 589,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 7
            },
            "": {
                "width": 500,
                "actualboundingboxascent": 750,
                "actualboundingboxleft": -24.90234375,
                "actualboundingboxright": 475.09765625,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 0
            },
            "᳚": {
                "width": 0,
                "actualboundingboxascent": 809,
                "actualboundingboxleft": 377,
                "actualboundingboxright": -179,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": -598
            },
            "៝": {
                "width": 477.05078125,
                "actualboundingboxascent": 890.13671875,
                "actualboundingboxleft": 17.08984375,
                "actualboundingboxright": 475.09765625,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 0
            },
            "⎮": {
                "width": 602.05078125,
                "actualboundingboxascent": 769.53125,
                "actualboundingboxleft": -250.48828125,
                "actualboundingboxright": 347.16796875,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 250
            },
            "ം": {
                "width": 385.25390625,
                "actualboundingboxascent": 330.078125,
                "actualboundingboxleft": -31.25,
                "actualboundingboxright": 344.7265625,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 5.859375
            },
            "ஂ": {
                "width": 626.953125,
                "actualboundingboxascent": 746.09375,
                "actualboundingboxleft": -55.17578125,
                "actualboundingboxright": 571.77734375,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 11.23046875
            },
            "ᅚ": {
                "width": 500,
                "actualboundingboxascent": 750,
                "actualboundingboxleft": -24.90234375,
                "actualboundingboxright": 475.09765625,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 0
            },
            "␥": {
                "width": 628.41796875,
                "actualboundingboxascent": 543.45703125,
                "actualboundingboxleft": -62.5,
                "actualboundingboxright": 565.91796875,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": -40.0390625
            },
            "〮": {
                "width": 1600.09765625,
                "actualboundingboxascent": 588.8671875,
                "actualboundingboxleft": -84.9609375,
                "actualboundingboxright": 1514.16015625,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": -161.1328125
            },
            "꠰": {
                "width": 237,
                "actualboundingboxascent": 622,
                "actualboundingboxleft": -78,
                "actualboundingboxright": 159,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 0
            },
            "⬆": {
                "width": 1000,
                "actualboundingboxascent": 834,
                "actualboundingboxleft": -133,
                "actualboundingboxright": 867,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 62
            },
            "⇤": {
                "width": 1000,
                "actualboundingboxascent": 572.265625,
                "actualboundingboxleft": -84.47265625,
                "actualboundingboxright": 916.015625,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": -150.390625
            },
            "₽": {
                "width": 495,
                "actualboundingboxascent": 630,
                "actualboundingboxleft": -26,
                "actualboundingboxright": 470,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 0
            },
            "ⱻ": {
                "width": 407.2265625,
                "actualboundingboxascent": 545.41015625,
                "actualboundingboxleft": -24.4140625,
                "actualboundingboxright": 382.8125,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 0
            },
            "₰": {
                "width": 901.85546875,
                "actualboundingboxascent": 734.86328125,
                "actualboundingboxleft": -96.19140625,
                "actualboundingboxright": 901.3671875,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 96.19140625
            },
            "ﯮ": {
                "width": 687.1609497070312,
                "actualboundingboxascent": 661.844482421875,
                "actualboundingboxleft": 68.2640380859375,
                "actualboundingboxright": 683.9963989257812,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 181.283935546875
            },
            "": {
                "width": 500,
                "actualboundingboxascent": 750,
                "actualboundingboxleft": -24.90234375,
                "actualboundingboxright": 475.09765625,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 0
            },
            "": {
                "width": 500,
                "actualboundingboxascent": 750,
                "actualboundingboxleft": -24.90234375,
                "actualboundingboxright": 475.09765625,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 0
            },
            "": {
                "width": 0,
                "actualboundingboxascent": 0,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 0,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 0
            },
            "Ⴀ": {
                "width": 662.109375,
                "actualboundingboxascent": 715.8203125,
                "actualboundingboxleft": -41.9921875,
                "actualboundingboxright": 632.8125,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 15.13671875
            },
            "𝞐": {
                "width": 553,
                "actualboundingboxascent": 657,
                "actualboundingboxleft": 66,
                "actualboundingboxright": 512,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 0
            },
            "܀": {
                "width": 591,
                "actualboundingboxascent": 382,
                "actualboundingboxleft": -114,
                "actualboundingboxright": 478,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 0
            },
            "ᥐ": {
                "width": 513,
                "actualboundingboxascent": 546,
                "actualboundingboxleft": 10,
                "actualboundingboxright": 469,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 10
            },
            "ゕ": {
                "width": 1000,
                "actualboundingboxascent": 629,
                "actualboundingboxleft": -150,
                "actualboundingboxright": 875,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 44
            },
            "匭": {
                "width": 1000,
                "actualboundingboxascent": 784,
                "actualboundingboxleft": -114,
                "actualboundingboxright": 952,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 86
            },
            "؜": {
                "width": 0,
                "actualboundingboxascent": 0,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 0,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 0
            },
            "⃣": {
                "width": 0,
                "actualboundingboxascent": 1010.7421875,
                "actualboundingboxleft": 1015.13671875,
                "actualboundingboxright": 266.6015625,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 270.99609375
            },
            "￹": {
                "width": 602.05078125,
                "actualboundingboxascent": 0,
                "actualboundingboxleft": 0,
                "actualboundingboxright": 0,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 0
            },
            "Ș": {
                "width": 651.85546875,
                "actualboundingboxascent": 665.0390625,
                "actualboundingboxleft": -9.765625,
                "actualboundingboxright": 611.81640625,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 282.71484375
            },
            "֏": {
                "width": 732,
                "actualboundingboxascent": 724,
                "actualboundingboxleft": -59,
                "actualboundingboxright": 708,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 0
            },
            "ࣤ": {
                "width": 0,
                "actualboundingboxascent": 619.62890625,
                "actualboundingboxleft": -73.2421875,
                "actualboundingboxright": 285.64453125,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": -469.23828125
            },
            "঳": {
                "width": 500,
                "actualboundingboxascent": 750,
                "actualboundingboxleft": -24.90234375,
                "actualboundingboxright": 475.09765625,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 0
            },
            "᱐": {
                "width": 572,
                "actualboundingboxascent": 725,
                "actualboundingboxleft": -49,
                "actualboundingboxright": 523,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": 10
            },
            "☙": {
                "width": 602.05078125,
                "actualboundingboxascent": 556.640625,
                "actualboundingboxleft": -22.94921875,
                "actualboundingboxright": 579.1015625,
                "fontboundingboxascent": 940,
                "actualboundingboxdescent": -203.61328125
            }
        },
        "72px monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px ARNOPRO, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px ARNOPRO, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px ARNOPRO, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px AgencyFB, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px AgencyFB, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px AgencyFB, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px ArabicTypesetting, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px ArabicTypesetting, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px ArabicTypesetting, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px ArialUnicodeMS, monospace": {
            "mmmmmmmmlli": {
                "width": 527.80078125,
                "actualboundingboxascent": 51.5390625,
                "actualboundingboxleft": -4.67578125,
                "actualboundingboxright": 522.94921875,
                "fontboundingboxascent": 77,
                "actualboundingboxdescent": 0
            }
        },
        "72px ArialUnicodeMS, sans-serif": {
            "mmmmmmmmlli": {
                "width": 527.80078125,
                "actualboundingboxascent": 51.5390625,
                "actualboundingboxleft": -4.67578125,
                "actualboundingboxright": 522.94921875,
                "fontboundingboxascent": 77,
                "actualboundingboxdescent": 0
            }
        },
        "72px ArialUnicodeMS, serif": {
            "mmmmmmmmlli": {
                "width": 527.80078125,
                "actualboundingboxascent": 51.5390625,
                "actualboundingboxleft": -4.67578125,
                "actualboundingboxright": 522.94921875,
                "fontboundingboxascent": 77,
                "actualboundingboxdescent": 0
            }
        },
        "72px AvantGardeBkBT, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px AvantGardeBkBT, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px AvantGardeBkBT, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px BankGothicMdBT, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px BankGothicMdBT, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px BankGothicMdBT, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px Batang, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px Batang, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px Batang, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px BitstreamVeraSansMono, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px BitstreamVeraSansMono, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px BitstreamVeraSansMono, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px Calibri, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px Calibri, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px Calibri, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px Century, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px Century, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px Century, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px CenturyGothic, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px CenturyGothic, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px CenturyGothic, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px Clarendon, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px Clarendon, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px Clarendon, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px EUROSTILE, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px EUROSTILE, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px EUROSTILE, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px FranklinGothic, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px FranklinGothic, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px FranklinGothic, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px FuturaBkBT, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px FuturaBkBT, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px FuturaBkBT, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px FuturaMdBT, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px FuturaMdBT, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px FuturaMdBT, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px GOTHAM, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px GOTHAM, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px GOTHAM, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px GillSans, monospace": {
            "mmmmmmmmlli": {
                "width": 491.44921875,
                "actualboundingboxascent": 49.11328125,
                "actualboundingboxleft": -4.25390625,
                "actualboundingboxright": 487.3359375,
                "fontboundingboxascent": 66,
                "actualboundingboxdescent": 0
            }
        },
        "72px GillSans, sans-serif": {
            "mmmmmmmmlli": {
                "width": 491.44921875,
                "actualboundingboxascent": 49.11328125,
                "actualboundingboxleft": -4.25390625,
                "actualboundingboxright": 487.3359375,
                "fontboundingboxascent": 66,
                "actualboundingboxdescent": 0
            }
        },
        "72px GillSans, serif": {
            "mmmmmmmmlli": {
                "width": 491.44921875,
                "actualboundingboxascent": 49.11328125,
                "actualboundingboxleft": -4.25390625,
                "actualboundingboxright": 487.3359375,
                "fontboundingboxascent": 66,
                "actualboundingboxdescent": 0
            }
        },
        "72px HELV, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px HELV, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px HELV, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px Haettenschweiler, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px Haettenschweiler, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px Haettenschweiler, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px HelveticaNeue, monospace": {
            "mmmmmmmmlli": {
                "width": 539.2800903320312,
                "actualboundingboxascent": 51.407997131347656,
                "actualboundingboxleft": -4.6080002784729,
                "actualboundingboxright": 534.3840942382812,
                "fontboundingboxascent": 69,
                "actualboundingboxdescent": 0
            }
        },
        "72px HelveticaNeue, sans-serif": {
            "mmmmmmmmlli": {
                "width": 539.2800903320312,
                "actualboundingboxascent": 51.407997131347656,
                "actualboundingboxleft": -4.6080002784729,
                "actualboundingboxright": 534.3840942382812,
                "fontboundingboxascent": 69,
                "actualboundingboxdescent": 0
            }
        },
        "72px HelveticaNeue, serif": {
            "mmmmmmmmlli": {
                "width": 539.2800903320312,
                "actualboundingboxascent": 51.407997131347656,
                "actualboundingboxleft": -4.6080002784729,
                "actualboundingboxright": 534.3840942382812,
                "fontboundingboxascent": 69,
                "actualboundingboxdescent": 0
            }
        },
        "72px Humanst521BT, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px Humanst521BT, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px Humanst521BT, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px Leelawadee, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px Leelawadee, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px Leelawadee, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px LetterGothic, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px LetterGothic, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px LetterGothic, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px LevenimMT, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px LevenimMT, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px LevenimMT, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px LucidaBright, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px LucidaBright, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px LucidaBright, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px LucidaSans, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px LucidaSans, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px LucidaSans, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px MSMincho, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px MSMincho, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px MSMincho, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px MSOutlook, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px MSOutlook, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px MSOutlook, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px MSReferenceSpecialty, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px MSReferenceSpecialty, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px MSReferenceSpecialty, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px MSUIGothic, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px MSUIGothic, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px MSUIGothic, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px MTExtra, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px MTExtra, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px MTExtra, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px MYRIADPRO, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px MYRIADPRO, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px MYRIADPRO, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px Marlett, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px Marlett, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px Marlett, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px MeiryoUI, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px MeiryoUI, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px MeiryoUI, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px MicrosoftUighur, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px MicrosoftUighur, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px MicrosoftUighur, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px MinionPro, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px MinionPro, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px MinionPro, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px MonotypeCorsiva, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px MonotypeCorsiva, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px MonotypeCorsiva, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px PMingLiU, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px PMingLiU, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px PMingLiU, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px Pristina, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px Pristina, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px Pristina, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px SCRIPTINA, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px SCRIPTINA, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px SCRIPTINA, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px SegoeUILight, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px SegoeUILight, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px SegoeUILight, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px Serifa, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px Serifa, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px Serifa, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px SimHei, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px SimHei, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px SimHei, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px SmallFonts, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px SmallFonts, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px SmallFonts, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px Staccato222BT, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px Staccato222BT, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px Staccato222BT, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px TRAJANPRO, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px TRAJANPRO, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px TRAJANPRO, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px UniversCE55Medium, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px UniversCE55Medium, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px UniversCE55Medium, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px Vrinda, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px Vrinda, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px Vrinda, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        },
        "72px ZWAdobeF, monospace": {
            "mmmmmmmmlli": {
                "width": 476.82421875,
                "actualboundingboxascent": 54.9140625,
                "actualboundingboxleft": -3.83203125,
                "actualboundingboxright": 473.9765625,
                "fontboundingboxascent": 67,
                "actualboundingboxdescent": 0
            }
        },
        "72px ZWAdobeF, sans-serif": {
            "mmmmmmmmlli": {
                "width": 544.751953125,
                "actualboundingboxascent": 52.41600036621094,
                "actualboundingboxleft": -4.4639997482299805,
                "actualboundingboxright": 539.9279174804688,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": 0
            }
        },
        "72px ZWAdobeF, serif": {
            "mmmmmmmmlli": {
                "width": 510.76788330078125,
                "actualboundingboxascent": 51.840003967285156,
                "actualboundingboxleft": -1.7280000448226929,
                "actualboundingboxright": 509.0398864746094,
                "fontboundingboxascent": 76,
                "actualboundingboxdescent": -4.0319976806640625
            }
        }
    },
    "imgsres": {
        "94px sans-serif": {
            "18,90,1,1": "214,122,6,255",
            "38,77,1,1": "255,255,255,255",
            "48,28,1,1": "0,0,0,0",
            "94,23,1,1": "0,0,0,0",
            "26,46,1,1": "253,243,245,255",
            "47,23,1,1": "0,0,0,0",
            "37,17,1,1": "0,0,0,255",
            "62,28,1,1": "204,131,217,255"
        }
    },
    "glres": {
        "3379": 16384,
        "3410": 8,
        "3411": 8,
        "3412": 8,
        "3413": 8,
        "3414": 24,
        "3415": 0,
        "7936": "WebKit",
        "7937": "WebKit WebGL",
        "7938": "WebGL 1.0 (OpenGL ES 2.0 Chromium)",
        "34024": 16384,
        "34047": 16,
        "34076": 16384,
        "34921": 16,
        "34930": 16,
        "35660": 16,
        "35661": 32,
        "35724": "WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)",
        "36347": 1024,
        "36348": 30,
        "36349": 1024,
        "37445": "Google Inc. (Apple)",
        "37446": "ANGLE (Apple, ANGLE Metal Renderer: Apple M1 Max, Unspecified Version)"
    },
    "jpg": "data:image/png;base64, ",
    "jpg2": {
        "data": "0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255",
        "url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAAXNSR0IArs4c6QAAABNJREFUGFdjZGBg+M+ABhhpIAgAJ4wFAdoS1GgAAAAASUVORK5CYII="
    },
    "canplay": {
        "audio/aac; codecs=\"flac\"": "",
        "audio/flac": "probably",
        "audio/mpeg; codecs=\"mp3\"": "probably",
        "audio/mpeg; codecs=\"vp9\"": "",
        "audio/webm; codecs=\"vp8\"": "",
        "audio/webz": "",
        "audio/x-m4a; codecs=\"mp3\"": "",
        "audio/x-m4a; codecs=\"vp8, mp4a.40\"": "",
        "audio/x-m4a; codecs=\"vp9, mp4a.40.2\"": "",
        "video/mp4": "maybe",
        "video/mp4; codecs=\"ac-3\"": "",
        "video/mp4; codecs=\"avc1.42011E\"": "",
        "video/mp4; codecs=\"avc1.42E009\"": "maybe",
        "video/mp4; codecs=\"avc1.42E034\"": "probably",
        "video/mp4; codecs=\"avc1.42F01E\"": "probably",
        "video/mp4; codecs=\"avc1.4D001E\"": "probably",
        "video/mp4; codecs=\"avc3.42001E\"": "probably",
        "video/mp4; codecs=\"avc3.42E01E, mp4a.40.29\"": "probably",
        "video/mp4; codecs=\"flac\"": "probably",
        "video/mp4; codecs=\"hev1\"": "",
        "video/mp4; codecs=\"hvc1x\"": "",
        "video/mp4; codecs=\"lavc1337\"": "",
        "video/mp4; codecs=\"mp4a.40.02\"": "probably",
        "video/mp4; codecs=\"mp4a.40.5\"": "probably",
        "video/mp4; codecs=\"mp4a.67\"": "probably",
        "video/mp4; codecs=\"opus\"": "probably",
        "video/ogg; codecs=\"flac\"": "probably",
        "video/ogg; codecs=\"opus\"": "probably",
        "video/ogg; codecs=\"vp8\"": "probably",
        "video/webm": "maybe",
        "video/webm; codecs=\"av01.0.04M.08\"": "probably",
        "video/webm; codecs=\"vp09.02.10.08\"": "probably",
        "video/x-dv": "",
        "video/x-m4v; codecs=\"avc1.42AC23\"": "maybe"
    },
    "useragentdata": {
        "highvalue": {
            "architecture": "",
            "bitness": "",
            "brands": [],
            "fullVersionList": [],
            "mobile": false,
            "model": "",
            "platform": "",
            "platformVersion": "",
            "uaFullVersion": "",
            "wow64": false
        }, "brands": [], "mobile": false, "platform": ""
    },
    "webglimg": {
        "strs": "|0-6040|171|1-2|191|170|0|3|191|112|0|4|128|111|0|5|128|55|0|3|64|0-380|170|2|0|191|225|2|3|255|222|2|6|255|220|2|9|255|218|1|12|255|215|1|15|255|160|1|14|191|106|0|11|128|105|0|12|128|52|0|7|64|0-360|57|1|0|64|224|4|2|255|222|4|5|255|219|4|8|255|217|3|11|255|215|3|14|255|212|3|17|255|210|2|20|255|208|2|23|255|205|1|26|255|203|1|29|255|201|1|32|255|149|0|26|191|98|0|19|128|97|0|20|128|48|0|11|64|0-340|223|6|1|255|221|6|4|255|218|6|7|255|216|5|10|255|214|5|13|255|211|4|16|255|209|4|19|255|207|4|22|255|204|3|25|255|202|3|28|255|200|3|31|255|198|2|34|255|195|2|37|255|193|2|40|255|191|1|42|255|188|1|45|255|140|1|36|191|92|0|26|128|91|0|27|128|45|0|14|64|0-320|167|6|0|191|220|8|3|255|218|7|6|255|215|7|9|255|213|7|12|255|211|6|15|255|208|6|18|255|206|6|21|255|204|5|24|255|201|5|27|255|199|5|30|255|197|4|33|255|194|4|36|255|192|4|39|255|190|3|42|255|187|3|45|255|185|3|47|255|183|2|50|255|180|2|53|255|178|1|56|255|176|1|59|255|174|1|62|255|128|0|49|191|85|0|34|128|84|0|36|128|41|0|19|64|0-296|55|3|0|64|219|10|2|255|217|9|5|255|214|9|8|255|212|9|11|255|210|8|14|255|207|8|17|255|205|8|20|255|203|7|23|255|200|7|26|255|198|7|29|255|196|6|32|255|194|6|35|255|191|6|38|255|189|5|41|255|187|5|44|255|184|4|47|255|182|4|50|255|180|4|52|255|177|3|55|255|175|3|58|255|173|3|61|255|170|2|64|255|168|2|67|255|166|2|70|255|163|1|73|255|161|1|76|255|119|1|59|191|78|0|41|128|77|0|43|128|38|0|22|64|0-280|218|12|1|255|216|11|4|255|214|11|7|255|211|11|10|255|209|10|13|255|207|10|16|255|204|10|19|255|202|9|22|255|200|9|25|255|197|9|28|255|195|8|31|255|193|8|34|255|190|7|37|255|188|7|40|255|186|7|43|255|183|6|46|255|181|6|49|255|179|6|52|255|176|5|55|255|174|5|57|255|172|5|60|255|169|4|63|255|167|4|66|255|165|4|69|255|163|3|72|255|160|3|75|255|158|3|78|255|156|2|81|255|153|2|84|255|151|1|87|255|149|1|90|255|146|1|93|255|108|0|72|191|71|0|50|128|70|0|51|128|34|0|26|64|0-256|163|11|1|191|215|13|4|255|213|13|6|255|210|13|9|255|208|12-2|255|206|12|15|255|203|12|18|255|201|11|21|255|199|11|24|255|196|10|27|255|194|10|30|255|192|10|33|255|189|9|36|255|187|9|39|255|185|9|42|255|183|8|45|255|180|8|48|255|178|8|51|255|176|7|54|255|173|7|57|255|171|7|59|255|169|6|62|255|166|6|65|255|164|6|68|255|162|5|71|255|159|5|74|255|157|4|77|255|155|4|80|255|152|4|83|255|150|3|86|255|148|3|89|255|145|3|92|255|143|2|95|255|141|2|98|255|139|2|101|255|136|1|104|255|134|1|107|255|99|1|83|191|65|0|57|128|64|0|58|128|31|0|30|64|0-236|54|4|0|64|214|15|3|255|212|15|6|255|209|15|8|255|207|14|11|255|205|14-2|255|203|13|17|255|200|13|20|255|198|13|23|255|196|12|26|255|193|12|29|255|191|12|32|255|189|11|35|255|186|11|38|255|184|11|41|255|182|10|44|255|179|10|47|255|177|10|50|255|175|9|53|255|172|9|56|255|170|9|59|255|168|8|62|255|165|8|64|255|163|7|67|255|161|7|70|255|159|7|73|255|156|6|76|255|154|6|79|255|152|6|82|255|149|5|85|255|147|5|88|255|145|5|91|255|142|4|94|255|140|4|97|255|138|4|100|255|135|3|103|255|133|3|106|255|131|3|109|255|128|2|112|255|126|2|115|255|124|1|118|255|121|1|120|255|119|1|123|255|88|0|95|191|57|0|65|128|56|0|66|128|28|0|34|64|0-216|213|17|2|255|211|17|5|255|209|16|8|255|206|16|11|255|204|16|13|255|202|15|16|255|199|15|19|255|197|15|22|255|195|14|25|255|192|14|28|255|190|14|31|255|188|13|34|255|185|13|37|255|183|13|40|255|181|12|43|255|178|12|46|255|176|12|49|255|174|11|52|255|172|11|55|255|169|10|58|255|167|10|61|255|165|10|64|255|162|9|67|255|160|9|69|255|158|9|72|255|155|8|75|255|153|8|78|255|151|8|81|255|148|7|84|255|146|7|87|255|144|7|90|255|141|6|93|255|139|6|96|255|137|6|99|255|134|5|102|255|132|5|105|255|130|4|108|255|128|4|111|255|125|4|114|255|123|3|117|255|121|3|120|255|118|3|123|255|116|2|125|255|114|2|128|255|111|2|131|255|109|1|134|255|107|1|137|255|78|1|105|191|51|0|72|128|50|0|73|128|24|0|37|64|0-196|159|14|1|191|210|19|4|255|208|18|7|255|205|18|10|255|203|18|13|255|201|17|16|255|198|17|18|255|196|17|21|255|194|16|24|255|192|16|27|255|189|16|30|255|187|15|33|255|185|15|36|255|182|15|39|255|180|14|42|255|178|14|45|255|175|13|48|255|173|13|51|255|171|13|54|255|168|12|57|255|166|12|60|255|164|12|63|255|161|11|66|255|159|11|69|255|157|11|72|255|154|10|74|255|152|10|77|255|150|10|80|255|148|9|83|255|145|9|86|255|143|9|89|255|141|8|92|255|138|8|95|255|136|7|98|255|134|7|101|255|131|7|104|255|129|6|107|255|127|6|110|255|124|6|113|255|122|5|116|255|120|5|119|255|117|5|122|255|115|4|125|255|113|4|127|255|110|4|130|255|108|3|133|255|106|3|136|255|103|3|139|255|101|2|142|255|99|2|145|255|97|1|148|255|94|1|151|255|92|1|154|255|68|0|118|191|44|0|80|128|43|0|82|128|21|0|42|64|0-172|53|5|0|64|209|21|3|255|207|20|6|255|205|20|9|255|202|20|12|255|200|19|15|255|198|19|18|255|195|19|21|255|193|18|23|255|191|18|26|255|188|18|29|255|186|17|32|255|184|17|35|255|181|16|38|255|179|16|41|255|177|16|44|255|174|15|47|255|172|15|50|255|170|15|53|255|168|14|56|255|165|14|59|255|163|14|62|255|161|13|65|255|158|13|68|255|156|13|71|255|154|12|74|255|151|12|76|255|149|12|79|255|147|11|82|255|144|11|85|255|142|10|88|255|140|10|91|255|137|10|94|255|135|9|97|255|133|9|100|255|130|9|103|255|128|8|106|255|126|8|109|255|123|8|112|255|121|7|115|255|119|7|118|255|117|7|121|255|114|6|124|255|112|6|127|255|110|6|130|255|107|5|132|255|105|5|135|255|103|4|138|255|100|4|141|255|98|4|144|255|96|3|147|255|93|3|150|255|91|3|153|255|89|2|156|255|86|2|159|255|84|2|162|255|82|1|165|255|79|1|168|255|58|1|128|191|38|0|87|128|37|0|89|128|18|0|45|64|0-152|53|6|0|64|208|23|2|255|206|22|5|255|204|22|8|255|201|22|11|255|199|21|14|255|197|21|17|255|194|21|20|255|192|20|23|255|190|20|25|255|188|19|28|255|185|19|31|255|183|19|34|255|181|18|37|255|178|18|40|255|176|18|43|255|174|17|46|255|171|17|49|255|169|17|52|255|167|16|55|255|164|16|58|255|162|16|61|255|160|15|64|255|157|15|67|255|155|15|70|255|153|14|73|255|150|14|76|255|148|13|79|255|146|13|81|255|143|13|84|255|141|12|87|255|139|12|90|255|137|12|93|255|134|11|96|255|132|11|99|255|130|11|102|255|127|10|105|255|125|10|108|255|123|10|111|255|120|9|114|255|118|9|117|255|116|9|120|255|113|8|123|255|111|8|126|255|109|7|129|255|106|7|132|255|104|7|135|255|102|6|137|255|99|6|140|255|97|6|143|255|95|5|146|255|93|5|149|255|90|5|152|255|88|4|155|255|86|4|158|255|83|4|161|255|81|3|164|255|79|3|167|255|76|3|170|255|74|2|173|255|72|2|176|255|69|1|179|255|67|1|182|255|65|1|185|255|47|0|141|191|30|0|96|128|29|0|97|128|14|0|49|64|0-132|156|19|1|191|205|24|4|255|203|24|7|255|201|24|10|255|198|23|13|255|196|23|16|255|194|22|19|255|191|22-2|255|189|22|25|255|187|21|28|255|184|21|30|255|182|21|33|255|180|20|36|255|177|20|39|255|175|20|42|255|173|19|45|255|170|19|48|255|168|19|51|255|166|18|54|255|163|18|57|255|161|18|60|255|159|17|63|255|157|17|66|255|154|16|69|255|152|16|72|255|150|16|75|255|147|15|78|255|145|15|81|255|143|15|84|255|140|14|86|255|138|14|89|255|136|14|92|255|133|13|95|255|131|13|98|255|129|13|101|255|126|12|104|255|124|12|107|255|122|12|110|255|119|11|113|255|117|11|116|255|115|10|119|255|113|10|122|255|110|10|125|255|108|9|128|255|106|9|131|255|103|9|134|255|101|8|137|255|99|8|140|255|96|8|142|255|94|7|145|255|92|7|148|255|89|7|151|255|87|6|154|255|85|6|157|255|82|6|160|255|80|5|163|255|78|5|166|255|75|4|169|255|73|4|172|255|71|4|175|255|68|3|178|255|66|3|181|255|64|3|184|255|62|2|187|255|59|2|190|255|57|2|193|255|55|1|195|255|52|1|198|255|38|1|151|191|24|0|102|128|23|0|104|128|11|0|53|64|0-112|155|20|0|191|204|26|3|255|202|26|6|255|200|25|9|255|197|25|12|255|195|25|15|255|193|24|18|255|190|24|21|255|188|24-2|255|186|23|27|255|183|23|30|255|181|23|33|255|179|22|35|255|177|22|38|255|174|22|41|255|172|21|44|255|170|21|47|255|167|21|50|255|165|20|53|255|163|20|56|255|160|19|59|255|158|19|62|255|156|19|65|255|153|18|68|255|151|18|71|255|149|18|74|255|146|17|77|255|144|17|80|255|142|17|83|255|139|16|86|255|137|16|89|255|135|16|91|255|133|15|94|255|130|15|97|255|128|15|100|255|126|14|103|255|123|14|106|255|121|13|109|255|119|13|112|255|116|13|115|255|114|12|118|255|112|12|121|255|109|12|124|255|107|11|127|255|105|11|130|255|102|11|133|255|100|10|136|255|98|10|139|255|95|10|142|255|93|9|144|255|91|9|147|255|88|9|150|255|86|8|153|255|84|8|156|255|82|7|159|255|79|7|162|255|77|7|165|255|75|6|168|255|72|6|171|255|70|6|174|255|68|5|177|255|65|5|180|255|63|5|183|255|61|4|186|255|58|4|189|255|56|4|192|255|54|3|195|255|51|3|198|255|49|3|200|255|47|2|203|255|44|2|206|255|42|1|209|255|40|1|212|255|38|1|215|255|26|0|164|191|17|0|111|128|16|0|112|128|7|0|57|64|0-88|52|7|0|64|203|28|2|255|201|28|5|255|199|27|8|255|197|27|11|255|194|27|14|255|192|26|17|255|190|26|20|255|187|26|23|255|185|25|26|255|183|25|29|255|180|25|32|255|178|24|35|255|176|24|38|255|173|24|40|255|171|23|43|255|169|23|46|255|166|22|49|255|164|22|52|255|162|22|55|255|159|21|58|255|157|21|61|255|155|21|64|255|153|20|67|255|150|20|70|255|148|20|73|255|146|19|76|255|143|19|79|255|141|19|82|255|139|18|85|255|136|18|88|255|134|18|91|255|132|17|93|255|129|17|96|255|127|16|99|255|125|16|102|255|122|16|105|255|120|15|108|255|118|15|111|255|115|15|114|255|113|14|117|255|111|14|120|255|108|14|123|255|106|13|126|255|104|13|129|255|102|13|132|255|99|12|135|255|97|12|138|255|95|12|141|255|92|11|144|255|90|11|147|255|88|10|149|255|85|10|152|255|83|10|155|255|81|9|158|255|78|9|161|255|76|9|164|255|74|8|167|255|71|8|170|255|69|8|173|255|67|7|176|255|64|7|179|255|62|7|182|255|60|6|185|255|58|6|188|255|55|6|191|255|53|5|194|255|51|5|197|255|48|4|200|255|46|4|203|255|44|4|205|255|41|3|208|255|39|3|211|255|37|3|214|255|34|2|217|255|32|2|220|255|30|2|223|255|27|1|226|255|6|0|57|64|0-88|203|30|1|255|200|30|4|255|198|29|7|255|196|29|10|255|193|29|13|255|191|28|16|255|189|28|19|255|186|28|22|255|184|27|25|255|182|27|28|255|179|27|31|255|177|26|34|255|175|26|37|255|173|25|40|255|170|25|42|255|168|25|45|255|166|24|48|255|163|24|51|255|161|24|54|255|159|23|57|255|156|23|60|255|154|23|63|255|152|22|66|255|149|22|69|255|147|22|72|255|145|21|75|255|142|21|78|255|140|21|81|255|138|20|84|255|135|20|87|255|133|19|90|255|131|19|93|255|128|19|96|255|126|18|98|255|124|18|101|255|122|18|104|255|119|17|107|255|117|17|110|255|115|17|113|255|112|16|116|255|110|16|119|255|108|16|122|255|105|15|125|255|103|15|128|255|101|15|131|255|98|14|134|255|96|14|137|255|94|13|140|255|91|13|143|255|89|13|146|255|87|12|149|255|84|12|152|255|82|12|154|255|80|11|157|255|78|11|160|255|75|11|163|255|73|10|166|255|71|10|169|255|68|10|172|255|66|9|175|255|64|9|178|255|61|9|181|255|59|8|184|255|57|8|187|255|54|7|190|255|52|7|193|255|50|7|196|255|47|6|199|255|45|6|202|255|43|6|205|255|40|5|208|255|38|5|210|255|36|5|213|255|33|4|216|255|31|4|219|255|29|4|222|255|14|2|113|128|0-92|152|24|0|191|199|32|3|255|197|31|6|255|195|31|9|255|193|31|12|255|190|30|15|255|188|30|18|255|186|30|21|255|183|29|24|255|181|29|27|255|179|28|30|255|176|28|33|255|174|28|36|255|172|27|39|255|169|27|42|255|167|27|45|255|165|26|47|255|162|26|50|255|160|26|53|255|158|25|56|255|155|25|59|255|153|25|62|255|151|24|65|255|148|24|68|255|146|24|71|255|144|23|74|255|142|23|77|255|139|22|80|255|137|22|83|255|135|22|86|255|132|21|89|255|130|21|92|255|128|21|95|255|125|20|98|255|123|20|101|255|121|20|103|255|118|19|106|255|116|19|109|255|114|19|112|255|111|18|115|255|109|18|118|255|107|18|121|255|104|17|124|255|102|17|127|255|100|16|130|255|98|16|133|255|95|16|136|255|93|15|139|255|91|15|142|255|88|15|145|255|86|14|148|255|84|14|151|255|81|14|154|255|79|13|157|255|77|13|159|255|74|13|162|255|72|12|165|255|70|12|168|255|67|12|171|255|65|11|174|255|63|11|177|255|60|10|180|255|58|10|183|255|56|10|186|255|53|9|189|255|51|9|192|255|49|9|195|255|47|8|198|255|44|8|201|255|42|8|204|255|40|7|207|255|37|7|210|255|35|7|212|255|33|6|215|255|30|6|218|255|28|6|221|255|0-96|50|9|0|64|199|34|2|255|196|33|5|255|194|33|8|255|192|33|11|255|189|32|14|255|187|32|17|255|185|31|20|255|182|31|23|255|180|31|26|255|178|30|29|255|175|30|32|255|173|30|35|255|171|29|38|255|168|29|41|255|166|29|44|255|164|28|47|255|162|28|50|255|159|28|52|255|157|27|55|255|155|27|58|255|152|27|61|255|150|26|64|255|148|26|67|255|145|25|70|255|143|25|73|255|141|25|76|255|138|24|79|255|136|24|82|255|134|24|85|255|131|23|88|255|129|23|91|255|127|23|94|255|124|22|97|255|122|22|100|255|120|22|103|255|118|21|106|255|115|21|108|255|113|21|111|255|111|20|114|255|108|20|117|255|106|19|120|255|104|19|123|255|101|19|126|255|99|18|129|255|97|18|132|255|94|18|135|255|92|17|138|255|90|17|141|255|87|17|144|255|85|16|147|255|83|16|150|255|80|16|153|255|78|15|156|255|76|15|159|255|73|15|161|255|71|14|164|255|69|14|167|255|67|13|170|255|64|13|173|255|62|13|176|255|60|12|179|255|57|12|182|255|55|12|185|255|53|11|188|255|50|11|191|255|48|11|194|255|46|10|197|255|43|10|200|255|41|10|203|255|39|9|206|255|36|9|209|255|34|9|212|255|32|8|215|255|29|8|217|255|14|4|110|128|0-100|198|36|1|255|195|35|4|255|193|35|7|255|191|34|10|255|188|34|13|255|186|34|16|255|184|33|19|255|182|33|22|255|179|33|25|255|177|32|28|255|175|32|31|255|172|32|34|255|170|31|37|255|168|31|40|255|165|31|43|255|163|30|46|255|161|30|49|255|158|30|52|255|156|29|55|255|154|29|57|255|151|28|60|255|149|28|63|255|147|28|66|255|144|27|69|255|142|27|72|255|140|27|75|255|137|26|78|255|135|26|81|255|133|26|84|255|131|25|87|255|128|25|90|255|126|25|93|255|124|24|96|255|121|24|99|255|119|24|102|255|117|23|105|255|114|23|108|255|112|22|111|255|110|22|113|255|107|22|116|255|105|21|119|255|103|21|122|255|100|21|125|255|98|20|128|255|96|20|131|255|93|20|134|255|91|19|137|255|89|19|140|255|87|19|143|255|84|18|146|255|82|18|149|255|80|18|152|255|77|17|155|255|75|17|158|255|73|16|161|255|70|16|164|255|68|16|166|255|66|15|169|255|63|15|172|255|61|15|175|255|59|14|178|255|56|14|181|255|54|14|184|255|52|13|187|255|49|13|190|255|47|13|193|255|45|12|196|255|43|12|199|255|40|12|202|255|38|11|205|255|36|11|208|255|33|10|211|255|31|10|214|255|15|5|109|128|0-104|148|28|1|191|195|37|4|255|192|37|6|255|190|36|9|255|188|36|12|255|185|36|15|255|183|35|18|255|181|35|21|255|178|35|24|255|176|34|27|255|174|34|30|255|171|34|33|255|169|33|36|255|167|33|39|255|164|33|42|255|162|32|45|255|160|32|48|255|157|31|51|255|155|31|54|255|153|31|57|255|151|30|59|255|148|30|62|255|146|30|65|255|144|29|68|255|141|29|71|255|139|29|74|255|137|28|77|255|134|28|80|255|132|28|83|255|130|27|86|255|127|27|89|255|125|27|92|255|123|26|95|255|120|26|98|255|118|25|101|255|116|25|104|255|113|25|107|255|111|24|110|255|109|24|113|255|107|24|115|255|104|23|118|255|102|23|121|255|100|23|124|255|97|22|127|255|95|22|130|255|93|22|133|255|90|21|136|255|88|21|139|255|86|21|142|255|83|20|145|255|81|20|148|255|79|19|151|255|76|19|154|255|74|19|157|255|72|18|160|255|69|18|163|255|67|18|166|255|65|17|169|255|62|17|171|255|60|17|174|255|58|16|177|255|56|16|180|255|53|16|183|255|51|15|186|255|49|15|189|255|46|15|192|255|44|14|195|255|42|14|198|255|39|13|201|255|37|13|204|255|35|13|207|255|32|12|210|255|30|12|213|255|0-108|49|10|0|64|194|39|3|255|191|39|6|255|189|38|8|255|187|38|11|255|184|38|14|255|182|37|17|255|180|37|20|255|177|37|23|255|175|36|26|255|173|36|29|255|171|36|32|255|168|35-2|255|166|35|38|255|164|34|41|255|161|34|44|255|159|34|47|255|157|33|50|255|154|33|53|255|152|33|56|255|150|32|59|255|147|32|62|255|145|32|64|255|143|31|67|255|140|31|70|255|138|31|73|255|136|30|76|255|133|30|79|255|131|30|82|255|129|29|85|255|127|29|88|255|124|28|91|255|122|28|94|255|120|28|97|255|117|27|100|255|115|27|103|255|113|27|106|255|110|26|109|255|108|26|112|255|106|26|115|255|103|25|118|255|101|25|120|255|99|25|123|255|96|24|126|255|94|24|129|255|92|24|132|255|89|23|135|255|87|23|138|255|85|22|141|255|82|22|144|255|80|22|147|255|78|21|150|255|76|21|153|255|73|21|156|255|71|20|159|255|69|20|162|255|66|20|165|255|64|19|168|255|62|19|171|255|59|19|174|255|57|18|176|255|55|18|179|255|52|18|182|255|50|17|185|255|48|17|188|255|45|16|191|255|43|16|194|255|41|16|197|255|38|15|200|255|36|15|203|255|34|15|206|255|32|14|209|255|15|7|106|128|0-112|193|41|2|255|191|41|5|255|188|40|8|255|186|40|11|255|184|40|13|255|181|39|16|255|179|39|19|255|177|39|22|255|174|38|25|255|172|38|28|255|170|37|31|255|167|37|34|255|165|37-2|255|163|36|40|255|160|36|43|255|158|36|46|255|156|35|49|255|153|35|52|255|151|35|55|255|149|34|58|255|147|34|61|255|144|34|64|255|142|33|67|255|140|33|69|255|137|33|72|255|135|32|75|255|133|32|78|255|130|31|81|255|128|31|84|255|126|31|87|255|123|30|90|255|121|30|93|255|119|30|96|255|116|29|99|255|114|29|102|255|112|29|105|255|109|28|108|255|107|28|111|255|105|28|114|255|102|27|117|255|100|27|120|255|98|27|123|255|96|26|125|255|93|26|128|255|91|25|131|255|89|25|134|255|86|25|137|255|84|24|140|255|82|24|143|255|79|24|146|255|77|23|149|255|75|23|152|255|72|23|155|255|70|22|158|255|68|22|161|255|65|22|164|255|63|21|167|255|61|21|170|255|58|21|173|255|56|20|176|255|54|20|178|255|52|19|181|255|49|19|184|255|47|19|187|255|45|18|190|255|42|18|193|255|40|18|196|255|38|17|199|255|35|17|202|255|33|17|205|255|16|8|104|128|0-116|144|32|1|191|190|43|4|255|187|42|7|255|185|42|10|255|183|42|13|255|180|41|16|255|178|41|18|255|176|40|21|255|173|40|24|255|171|40|27|255|169|39|30|255|167|39|33|255|164|39|36|255|162|38|39|255|160|38|42|255|157|38|45|255|155|37|48|255|153|37|51|255|150|37|54|255|148|36|57|255|146|36|60|255|143|36|63|255|141|35|66|255|139|35|69|255|136|34|72|255|134|34|74|255|132|34|77|255|129|33|80|255|127|33|83|255|125|33|86|255|122|32|89|255|120|32|92|255|118|32|95|255|116|31|98|255|113|31|101|255|111|31|104|255|109|30|107|255|106|30|110|255|104|30|113|255|102|29|116|255|99|29|119|255|97|28|122|255|95|28|125|255|92|28|128|255|90|27|130|255|88|27|133|255|85|27|136|255|83|26|139|255|81|26|142|255|78|26|145|255|76|25|148|255|74|25|151|255|72|25|154|255|69|24|157|255|67|24|160|255|65|24|163|255|62|23|166|255|60|23|169|255|58|22|172|255|55|22|175|255|53|22|178|255|51|21|181|255|48|21|183|255|46|21|186|255|44|20|189|255|41|20|192|255|39|20|195|255|37|19|198|255|34|19|201|255|32|19|204|255|0-120|48|11|0|64|189|45|3|255|187|44|6|255|184|44|9|255|182|43|12|255|180|43|15|255|177|43|18|255|175|42|21|255|173|42|23|255|170|42|26|255|168|41|29|255|166|41|32|255|163|41|35|255|161|40|38|255|159|40|41|255|156|40|44|255|154|39|47|255|152|39|50|255|149|39|53|255|147|38|56|255|145|38|59|255|142|37|62|255|140|37|65|255|138|37|68|255|136|36|71|255|133|36|74|255|131|36|76|255|129|35|79|255|126|35|82|255|124|35|85|255|122|34|88|255|119|34|91|255|117|34|94|255|115|33|97|255|112|33|100|255|110|33|103|255|108|32|106|255|105|32|109|255|103|31|112|255|101|31|115|255|98|31|118|255|96|30|121|255|94|30|124|255|92|30|127|255|89|29|130|255|87|29|132|255|85|29|135|255|82|28|138|255|80|28|141|255|78|28|144|255|75|27|147|255|73|27|150|255|71|27|153|255|68|26|156|255|66|26|159|255|64|25|162|255|61|25|165|255|59|25|168|255|57|24|171|255|54|24|174|255|52|24|177|255|50|23|180|255|47|23|183|255|45|23|186|255|43|22|188|255|41|22|191|255|38|22|194|255|36|21|197|255|34|21|200|255|16|11|102|128|0-120|48|12|0|64|188|46|2|255|186|46|5|255|183|46|8|255|181|45|11|255|179|45|14|255|176|45|17|255|174|44|20|255|172|44|23|255|169|44|25|255|167|43|28|255|165|43|31|255|162|43|34|255|160|42|37|255|158|42|40|255|156|42|43|255|153|41|46|255|151|41|49|255|149|40|52|255|146|40|55|255|144|40|58|255|142|39|61|255|139|39|64|255|137|39|67|255|135|38|70|255|132|38|73|255|130|38|76|255|128|37|79|255|125|37|81|255|123|37|84|255|121|36|87|255|118|36|90|255|116|36|93|255|114|35|96|255|112|35|99|255|109|34|102|255|107|34|105|255|105|34|108|255|102|33|111|255|100|33|114|255|98|33|117|255|95|32|120|255|93|32|123|255|91|32|126|255|88|31|129|255|86|31|132|255|84|31|135|255|81|30|137|255|79|30|140|255|77|30|143|255|74|29|146|255|72|29|149|255|70|28|152|255|67|28|155|255|65|28|158|255|63|27|161|255|61|27|164|255|58|27|167|255|56|26|170|255|54|26|173|255|51|26|176|255|49|25|179|255|47|25|182|255|44|25|185|255|42|24|188|255|40|24|191|255|37|24|193|255|35|23|196|255|25|17|149|191|0-128|140|36|1|191|185|48|4|255|182|48|7|255|180|47|10|255|178|47|13|255|176|47|16|255|173|46|19|255|171|46|22|255|169|46|25|255|166|45|28|255|164|45|30|255|162|45|33|255|159|44|36|255|157|44|39|255|155|43|42|255|152|43|45|255|150|43|48|255|148|42|51|255|145|42|54|255|143|42|57|255|141|41|60|255|138|41|63|255|136|41|66|255|134|40|69|255|132|40|72|255|129|40|75|255|127|39|78|255|125|39|81|255|122|39|84|255|120|38|86|255|118|38|89|255|115|37|92|255|113|37|95|255|111|37|98|255|108|36|101|255|106|36|104|255|104|36|107|255|101|35|110|255|99|35|113|255|97|35|116|255|94|34|119|255|92|34|122|255|90|34|125|255|87|33|128|255|85|33|131|255|83|33|134|255|81|32|137|255|78|32|140|255|76|31|142|255|74|31|145|255|71|31|148|255|69|30|151|255|67|30|154|255|64|30|157|255|62|29|160|255|60|29|163|255|57|29|166|255|55|28|169|255|53|28|172|255|50|28|175|255|48|27|178|255|46|27|181|255|43|27|184|255|41|26|187|255|39|26|190|255|37|25|193|255|34|25|195|255|8|6|50|64|0-128|140|38|0|191|184|50|3|255|182|50|6|255|179|49|9|255|177|49|12|255|175|49|15|255|172|48|18|255|170|48|21|255|168|48|24|255|165|47|27|255|163|47|30|255|161|46|33|255|158|46|35|255|156|46|38|255|154|45|41|255|152|45|44|255|149|45|47|255|147|44|50|255|145|44|53|255|142|44|56|255|140|43|59|255|138|43|62|255|135|43|65|255|133|42|68|255|131|42|71|255|128|42|74|255|126|41|77|255|124|41|80|255|121|40|83|255|119|40|86|255|117|40|89|255|114|39|91|255|112|39|94|255|110|39|97|255|107|38|100|255|105|38|103|255|103|38|106|255|101|37|109|255|98|37|112|255|96|37|115|255|94|36|118|255|91|36|121|255|89|36|124|255|87|35|127|255|84|35|130|255|82|34|133|255|80|34|136|255|77|34|139|255|75|33|142|255|73|33|144|255|70|33|147|255|68|32|150|255|66|32|153|255|63|32|156|255|61|31|159|255|59|31|162|255|57|31|165|255|54|30|168|255|52|30|171|255|50|30|174|255|47|29|177|255|45|29|180|255|43|28|183|255|40|28|186|255|38|28|189|255|36|27|192|255|17|14|98|128|0-132|46|13|0|64|183|52|2|255|181|52|5|255|178|51|8|255|176|51|11|255|174|51|14|255|171|50|17|255|169|50|20|255|167|49|23|255|165|49|26|255|162|49|29|255|160|48|32|255|158|48|35|255|155|48|38|255|153|47|40|255|151|47|43|255|148|47|46|255|146|46|49|255|144|46|52|255|141|46|55|255|139|45|58|255|137|45|61|255|134|45|64|255|132|44|67|255|130|44|70|255|127|43|73|255|125|43|76|255|123|43|79|255|121|42|82|255|118|42|85|255|116|42|88|255|114|41|91|255|111|41|94|255|109|41|96|255|107|40|99|255|104|40|102|255|102|40|105|255|100|39|108|255|97|39|111|255|95|39|114|255|93|38|117|255|90|38|120|255|88|37|123|255|86|37|126|255|83|37|129|255|81|36|132|255|79|36|135|255|76|36|138|255|74|35|141|255|72|35|144|255|70|35|147|255|67|34|149|255|65|34|152|255|63|34|155|255|60|33|158|255|58|33|161|255|56|33|164|255|53|32|167|255|51|32|170|255|49|31|173|255|46|31|176|255|44|31|179|255|42|30|182|255|39|30|185|255|37|30|188|255|35|29|191|255|0-140|182|54|1|255|180|54|4|255|178|53|7|255|175|53|10|255|173|52|13|255|171|52|16|255|168|52|19|255|166|51|22|255|164|51|25|255|161|51|28|255|159|50|31|255|157|50|34|255|154|50|37|255|152|49|40|255|150|49|42|255|147|49|45|255|145|48-2|255|143|48|51|255|141|48|54|255|138|47|57|255|136|47|60|255|134|46|63|255|131|46|66|255|129|46|69|255|127|45|72|255|124|45|75|255|122|45|78|255|120|44|81|255|117|44|84|255|115|44|87|255|113|43|90|255|110|43|93|255|108|43|96|255|106|42|98|255|103|42|101|255|101|42|104|255|99|41|107|255|96|41|110|255|94|40|113|255|92|40|116|255|90|40|119|255|87|39|122|255|85|39|125|255|83|39|128|255|80|38|131|255|78|38|134|255|76|38|137|255|73|37|140|255|71|37|143|255|69|37|146|255|66|36|149|255|64|36|152|255|62|36|154|255|59|35|157|255|57|35|160|255|55|34|163|255|52|34|166|255|50|34|169|255|48|33|172|255|46|33|175|255|43|33|178|255|41|32|181|255|39|32|184|255|36|32|187|255|17|16|95|128|0-140|136|42|0|191|179|55|3|255|177|55|6|255|174|55|9|255|172|54|12|255|170|54|15|255|167|54|18|255|165|53|21|255|163|53|24|255|161|53|27|255|158|52|30|255|156|52|33|255|154|52|36|255|151|51|39|255|149|51|42|255|147|51|45|255|144|50|47|255|142|50-2|255|140|49|53|255|137|49|56|255|135|49|59|255|133|48|62|255|130|48|65|255|128|48|68|255|126|47|71|255|123|47|74|255|121|47|77|255|119|46|80|255|116|46|83|255|114|46|86|255|112|45|89|255|110|45|92|255|107|45|95|255|105|44|98|255|103|44|101|255|100|43|103|255|98|43|106|255|96|43|109|255|93|42|112|255|91|42|115|255|89|42|118|255|86|41|121|255|84|41|124|255|82|41|127|255|79|40|130|255|77|40|133|255|75|40|136|255|72|39|139|255|70|39|142|255|68|39|145|255|66|38|148|255|63|38|151|255|61|37|154|255|59|37|157|255|56|37|159|255|54|36|162|255|52|36|165|255|49|36|168|255|47|35|171|255|45|35|174|255|42|35|177|255|40|34|180|255|38|34|183|255|18|17|93|128|0-144|45|15|0|64|178|57|2|255|176|57|5|255|174|57|8|255|171|56|11|255|169|56|14|255|167|56|17|255|164|55|20|255|162|55|23|255|160|55|26|255|157|54|29|255|155|54|32|255|153|54|35|255|150|53|38|255|148|53|41|255|146|52|44|255|143|52|47|255|141|52|50|255|139|51|52|255|136|51|55|255|134|51|58|255|132|50|61|255|130|50|64|255|127|50|67|255|125|49|70|255|123|49|73|255|120|49|76|255|118|48|79|255|116|48|82|255|113|48|85|255|111|47|88|255|109|47|91|255|106|46|94|255|104|46|97|255|102|46|100|255|99|45|103|255|97|45|106|255|95|45|108|255|92|44|111|255|90|44|114|255|88|44|117|255|86|43|120|255|83|43|123|255|81|43|126|255|79|42|129|255|76|42|132|255|74|42|135|255|72|41|138|255|69|41|141|255|67|40|144|255|65|40|147|255|62|40|150|255|60|39|153|255|58|39|156|255|55|39|159|255|53|38|161|255|51|38|164|255|48|38|167|255|46|37|170|255|44|37|173|255|41|37|176|255|39|36|179|255|37|36|182|255|0-152|177|59|1|255|175|59|4|255|173|59|7|255|170|58|10|255|168|58|13|255|166|58|16|255|163|57|19|255|161|57|22|255|159|57|25|255|156|56|28|255|154|56|31|255|152|55|34|255|150|55|37|255|147|55|40|255|145|54|43|255|143|54|46|255|140|54|49|255|138|53|52|255|136|53|55|255|133|53|57|255|131|52|60|255|129|52|63|255|126|52|66|255|124|51|69|255|122|51|72|255|119|51|75|255|117|50|78|255|115|50|81|255|112|49|84|255|110|49|87|255|108|49|90|255|106|48|93|255|103|48|96|255|101|48|99|255|99|47|102|255|96|47|105|255|94|47|108|255|92|46|111|255|89|46|113|255|87|46|116|255|85|45|119|255|82|45|122|255|80|45|125|255|78|44|128|255|75|44|131|255|73|43|134|255|71|43|137|255|68|43|140|255|66|42|143|255|64|42|146|255|61|42|149|255|59|41|152|255|57|41|155|255|55|41|158|255|52|40|161|255|50|40|164|255|48|40|166|255|45|39|169|255|43|39|172|255|41|39|175|255|38-2|178|255|18|19|91|128|0-152|132|46|1|191|174|61|4|255|172|61|6|255|170|60|9|255|167|60|12|255|165|59|15|255|163|59|18|255|160|59|21|255|158|58|24|255|156|58|27|255|153|58|30|255|151|57|33|255|149|57|36|255|146|57|39|255|144|56|42|255|142|56|45|255|139|56|48|255|137|55|51|255|135|55|54|255|132|55|57|255|130|54|59|255|128|54|62|255|126|54|65|255|123|53|68|255|121|53|71|255|119|52|74|255|116|52|77|255|114|52|80|255|112|51|83|255|109|51|86|255|107|51|89|255|105|50|92|255|102|50|95|255|100|50|98|255|98|49|101|255|95|49|104|255|93|49|107|255|91|48|110|255|88|48|113|255|86|48|115|255|84|47|118|255|81|47|121|255|79|46|124|255|77|46|127|255|75|46|130|255|72|45|133|255|70|45|136|255|68|45|139|255|65|44|142|255|63|44|145|255|61|44|148|255|58|43|151|255|56|43|154|255|54|43|157|255|51|42|160|255|49|42|163|255|47|42|166|255|44|41|169|255|42|41|171|255|40-2|174|255|19|20|89|128|0-156|44|16|0|64|173|63|3|255|171|62|6|255|169|62|8|255|166|62|11|255|164|61|14|255|162|61|17|255|159|61|20|255|157|60|23|255|155|60|26|255|152|60|29|255|150|59|32|255|148|59|35|255|146|59|38|255|143|58|41|255|141|58|44|255|139|58|47|255|136|57|50|255|134|57|53|255|132|57|56|255|129|56|59|255|127|56|62|255|125|55|64|255|122|55|67|255|120|55|70|255|118|54|73|255|115|54|76|255|113|54|79|255|111|53|82|255|108|53|85|255|106|53|88|255|104|52|91|255|101|52|94|255|99|52|97|255|97|51|100|255|95|51|103|255|92|51|106|255|90|50|109|255|88|50|112|255|85|49|115|255|83|49|118|255|81|49|120|255|78|48|123|255|76|48|126|255|74|48|129|255|71|47|132|255|69|47|135|255|67|47|138|255|64|46|141|255|62|46|144|255|60|46|147|255|57|45|150|255|55|45|153|255|53|45|156|255|51|44|159|255|48|44|162|255|46|43|165|255|44|43|168|255|41|43|171|255|39|42|174|255|0-164|172|65|2|255|170|64|5|255|168|64|8|255|166|64|11|255|163|63|13|255|161|63|16|255|159|63|19|255|156|62|22|255|154|62|25|255|152|62|28|255|149|61|31|255|147|61|34|255|145|61|37|255|142|60|40|255|140|60|43|255|138|59|46|255|135|59|49|255|133|59|52|255|131|58|55|255|128|58-2|255|126|58|61|255|124|57|64|255|121|57|67|255|119|57|69|255|117|56|72|255|115|56|75|255|112|56|78|255|110|55|81|255|108|55|84|255|105|55|87|255|103|54|90|255|101|54|93|255|98|54|96|255|96|53|99|255|94|53|102|255|91|52|105|255|89|52|108|255|87|52|111|255|84|51|114|255|82|51|117|255|80|51|120|255|77|50|123|255|75|50|125|255|73|50|128|255|71|49|131|255|68|49|134|255|66|49|137|255|64|48|140|255|61|48|143|255|59|48|146|255|57|47|149|255|54|47|152|255|52|46|155|255|50|46|158|255|47|46|161|255|45-2|164|255|43|45|167|255|40|45|170|255|19|22|87|128|0-164|129|50|1|191|169|66|4|255|167|66|7|255|165|66|10|255|162|65|13|255|160|65|16|255|158|65|18|255|155|64|21|255|153|64|24|255|151|64|27|255|148|63|30|255|146|63|33|255|144|62|36|255|141|62|39|255|139|62|42|255|137|61|45|255|135|61|48|255|132|61|51|255|130|60|54|255|128|60|57|255|125|60-2|255|123|59|63|255|121|59|66|255|118|59|69|255|116|58|72|255|114|58|74|255|111|58|77|255|109|57|80|255|107|57|83|255|104|57|86|255|102|56|89|255|100|56|92|255|97|55|95|255|95|55|98|255|93|55|101|255|91|54|104|255|88|54|107|255|86|54|110|255|84|53|113|255|81|53|116|255|79|53|119|255|77|52|122|255|74|52|125|255|72|52|128|255|70|51|130|255|67|51|133|255|65|51|136|255|63|50|139|255|60|50|142|255|58|49|145|255|56|49|148|255|53|49|151|255|51|48|154|255|49|48|157|255|46|48|160|255|44|47|163|255|42|47|166|255|30|35|127|191|0-168|43|17|0|64|168|68|3|255|166|68|6|255|164|68|9|255|161|67|12|255|159|67|15|255|157|67|18|255|155|66|21|255|152|66|23|255|150|65|26|255|148|65|29|255|145|65|32|255|143|64|35|255|141|64|38|255|138|64|41|255|136|63|44|255|134|63|47|255|131|63|50|255|129|62|53|255|127|62|56|255|124|62|59|255|122|61|62|255|120|61|65|255|117|61|68|255|115|60|71|255|113|60|74|255|110|59|77|255|108|59|79|255|106|59|82|255|104|58|85|255|101|58|88|255|99|58|91|255|97|57|94|255|94|57|97|255|92|57|100|255|90|56|103|255|87|56|106|255|85|56|109|255|83|55|112|255|80|55|115|255|78|55|118|255|76|54|121|255|73|54|124|255|71|54|127|255|69|53|130|255|66|53|132|255|64|52|135|255|62|52|138|255|60|52|141|255|57|51|144|255|55|51|147|255|53|51|150|255|50-2|153|255|48|50|156|255|46|50|159|255|43|49|162|255|41|49|165|255|10|12|42|64|0-168|43|18|0|64|168|70|2|255|165|70|5|255|163|70|8|255|161|69|11|255|158|69|14|255|156|68|17|255|154|68|20|255|151|68|23|255|149|67|25|255|147|67|28|255|144|67|31|255|142|66|34|255|140|66|37|255|137|66|40|255|135|65|43|255|133|65|46|255|130|65|49|255|128|64|52|255|126|64|55|255|124|64|58|255|121|63|61|255|119|63|64|255|117|62|67|255|114|62|70|255|112|62|73|255|110|61|76|255|107|61|79|255|105|61|81|255|103|60|84|255|100|60|87|255|98|60|90|255|96|59|93|255|93|59|96|255|91|59|99|255|89|58|102|255|86|58|105|255|84|58|108|255|82|57|111|255|80|57|114|255|77|57|117|255|75|56|120|255|73|56|123|255|70|55|126|255|68|55|129|255|66|55|132|255|63|54|135|255|61|54|137|255|59|54|140|255|56|53|143|255|54|53|146|255|52|53|149|255|49|52|152|255|47|52|155|255|45|52|158|255|42|51|161|255|20|26|82|128|0-176|125|54|1|191|164|72|4|255|162|71|7|255|160|71|10|255|157|71|13|255|155|70|16|255|153|70|19|255|150|70|22|255|148|69|25|255|146|69|28|255|144|69|30|255|141|68|33|255|139|68|36|255|137|68|39|255|134|67|42|255|132|67|45|255|130|67|48|255|127|66|51|255|125|66|54|255|123|65|57|255|120|65|60|255|118|65|63|255|116|64|66|255|113|64|69|255|111|64|72|255|109|63|75|255|106|63|78|255|104|63|81|255|102|62|84|255|100|62|86|255|97|62|89|255|95|61|92|255|93|61|95|255|90|61|98|255|88|60|101|255|86|60|104|255|83|59|107|255|81|59|110|255|79|59|113|255|76|58|116|255|74|58|119|255|72|58|122|255|69|57|125|255|67|57|128|255|65|57|131|255|62|56|134|255|60|56|137|255|58|56|140|255|55-2|142|255|53|55|145|255|51|55|148|255|49|54|151|255|46|54|154|255|44|54|157|255|42|53|160|255|0-180|125|56|0|191|164|74|3|255|161|73|6|255|159|73|9|255|157|73|12|255|154|72|15|255|152|72|18|255|150|72|21|255|147|71|24|255|145|71|27|255|143|71|30|255|140|70|33|255|138|70|35|255|136|70|38|255|133|69|41|255|131|69|44|255|129|68|47|255|126|68|50|255|124|68|53|255|122|67|56|255|120|67|59|255|117|67|62|255|115|66|65|255|113|66|68|255|110|66|71|255|108|65|74|255|106|65|77|255|103|65|80|255|101|64|83|255|99|64|86|255|96|64|89|255|94|63|91|255|92|63|94|255|89|62|97|255|87|62|100|255|85|62|103|255|82|61|106|255|80|61|109|255|78|61|112|255|75|60|115|255|73|60|118|255|71|60|121|255|69|59|124|255|66|59|127|255|64|59|130|255|62|58|133|255|59|58|136|255|57|58|139|255|55|57|142|255|52|57|144|255|50|57|147|255|48|56|150|255|45|56|153|255|43|55|156|255|21|28|80|128|0-180|41|19|0|64|163|76|2|255|160|75|5|255|158|75|8|255|156|75|11|255|153|74|14|255|151|74|17|255|149|74|20|255|146|73|23|255|144|73|26|255|142|73|29|255|140|72|32|255|137|72|35|255|135|71|38|255|133|71|40|255|130|71|43|255|128|70|46|255|126|70|49|255|123|70|52|255|121|69|55|255|119|69|58|255|116|69|61|255|114|68|64|255|112|68|67|255|109|68|70|255|107|67|73|255|105|67|76|255|102|67|79|255|100|66|82|255|98|66|85|255|95|65|88|255|93|65|91|255|91|65|94|255|89|64|96|255|86|64|99|255|84|64|102|255|82|63|105|255|79|63|108|255|77|63|111|255|75|62|114|255|72|62|117|255|70|62|120|255|68|61|123|255|65|61|126|255|63|61|129|255|61|60|132|255|58|60|135|255|56|59|138|255|54|59|141|255|51|59|144|255|49|58|147|255|47|58|149|255|45|58|152|255|21|29|78|128|0-188|162|78|1|255|160|77|4|255|157|77|7|255|155|77|10|255|153|76|13|255|150|76|16|255|148|76|19|255|146|75|22|255|143|75|25|255|141|74|28|255|139|74|31|255|136|74|34|255|134|73|37|255|132|73|40|255|129|73|42|255|127|72|45|255|125|72|48|255|122|72|51|255|120|71|54|255|118|71|57|255|115|71|60|255|113|70|63|255|111|70|66|255|109|70|69|255|106|69|72|255|104|69|75|255|102|68|78|255|99|68|81|255|97|68|84|255|95|67|87|255|92|67|90|255|90|67|93|255|88|66|96|255|85|66|98|255|83|66|101|255|81|65|104|255|78|65|107|255|76|65|110|255|74|64|113|255|71|64|116|255|69|64|119|255|67|63|122|255|65|63|125|255|62-2|128|255|60|62|131|255|58|62|134|255|55|61|137|255|53|61|140|255|51|61|143|255|48|60|146|255|46|60|149|255|44|60|152|255|0-192|121|60|0|191|159|79|3|255|156|79|6|255|154|79|9|255|152|78|12|255|149|78|15|255|147|77|18|255|145|77|21|255|142|77|24|255|140|76|27|255|138|76|30|255|135|76|33|255|133|75|36|255|131|75|39|255|129|75|42|255|126|74|45|255|124|74|47|255|122|74|50|255|119|73|53|255|117|73|56|255|115|73|59|255|112|72|62|255|110|72|65|255|108|71|68|255|105|71-2|255|103|71|74|255|101|70|77|255|98|70|80|255|96|70|83|255|94|69|86|255|91|69|89|255|89|69|92|255|87|68|95|255|85|68|98|255|82|68|101|255|80|67|103|255|78|67|106|255|75|67|109|255|73|66|112|255|71|66|115|255|68|65|118|255|66|65|121|255|64|65|124|255|61|64|127|255|59|64|130|255|57|64|133|255|54|63|136|255|52|63|139|255|50|63|142|255|47|62|145|255|45|62|148|255|22|31|76|128|0-192|40|21|0|64|158|81|2|255|155|81|5|255|153|80|8|255|151|80|11|255|149|80|14|255|146|79|17|255|144|79|20|255|142|79|23|255|139|78|26|255|137|78|29|255|135|78|32|255|132|77|35|255|130|77|38|255|128|77|41|255|125|76|44|255|123|76|47|255|121|76|50|255|118|75|52|255|116|75|55|255|114|74|58|255|111|74|61|255|109|74|64|255|107|73|67|255|105|73|70|255|102|73-2|255|100|72|76|255|98|72|79|255|95|72|82|255|93|71|85|255|91|71|88|255|88|71|91|255|86|70|94|255|84|70|97|255|81|70|100|255|79|69|103|255|77|69|106|255|74|68|108|255|72|68|111|255|70|68|114|255|67-2|117|255|65|67|120|255|63|67|123|255|60|66|126|255|58|66|129|255|56|66|132|255|54|65|135|255|51|65|138|255|49|65|141|255|47|64|144|255|22|32|74|128|0-200|157|83|1|255|155|83|4|255|152|82|7|255|150|82|10|255|148|82|13|255|145|81|16|255|143|81|19|255|141|81|22|255|138|80|25|255|136|80|28|255|134|80|31|255|131|79|34|255|129|79|37|255|127|79|40|255|125|78|43|255|122|78|46|255|120|77|49|255|118|77|52|255|115|77|55|255|113|76|57|255|111|76|60|255|108|76|63|255|106|75|66|255|104|75|69|255|101|75|72|255|99|74|75|255|97|74|78|255|94|74|81|255|92|73|84|255|90|73|87|255|87|73|90|255|85|72|93|255|83|72|96|255|80|71|99|255|78|71|102|255|76|71|105|255|74|70|108|255|71|70|111|255|69|70|113|255|67|69|116|255|64|69|119|255|62|69|122|255|60|68|125|255|57|68|128|255|55|68|131|255|53|67|134|255|50|67|137|255|48|67|140|255|46|66|143|255|0-204|117|64|1|191|154|85|4|255|151|84|6|255|149|84|9|255|147|84|12|255|144|83|15|255|142|83|18|255|140|83|21|255|138|82|24|255|135|82|27|255|133|82|30|255|131|81|33|255|128|81|36|255|126|80|39|255|124|80|42|255|121|80|45|255|119|79|48|255|117|79|51|255|114|79|54|255|112|78|57|255|110|78|59|255|107|78|62|255|105|77|65|255|103|77|68|255|100|77|71|255|98|76|74|255|96|76|77|255|94|76|80|255|91|75|83|255|89|75|86|255|87|74|89|255|84|74|92|255|82|74|95|255|80|73|98|255|77|73|101|255|75|73|104|255|73|72|107|255|70|72|110|255|68|72|113|255|66|71|115|255|63|71|118|255|61|71|121|255|59|70|124|255|56|70|127|255|54|70|130|255|52|69|133|255|50|69|136|255|47|68|139|255|23|34|71|128|0-204|39|22|0|64|153|87|3|255|151|86|6|255|148|86|9|255|146|86|11|255|144|85|14|255|141|85|17|255|139|85|20|255|137|84|23|255|134|84|26|255|132|83|29|255|130|83|32|255|127|83|35|255|125|82|38|255|123|82|41|255|120|82|44|255|118|81|47|255|116|81|50|255|114|81|53|255|111|80|56|255|109|80|59|255|107|80|62|255|104|79|64|255|102|79|67|255|100|79|70|255|97|78|73|255|95|78|76|255|93|77|79|255|90|77|82|255|88|77|85|255|86|76|88|255|83|76|91|255|81|76|94|255|79|75|97|255|76|75|100|255|74|75|103|255|72|74|106|255|69|74|109|255|67|74|112|255|65|73|115|255|63|73|118|255|60|73|120|255|58|72|123|255|56|72|126|255|53|71|129|255|51|71|132|255|49|71|135|255|35|53|104|191|0-212|152|89|2|255|150|88|5|255|147|88|8|255|145|88|11|255|143|87|13|255|140|87|16|255|138|86|19|255|136|86|22|255|134|86|25|255|131|85|28|255|129|85|31|255|127|85|34|255|124|84|37|255|122|84|40|255|120|84|43|255|117|83|46|255|115|83|49|255|113|83|52|255|110|82|55|255|108|82|58|255|106|82|61|255|103|81|64|255|101|81|67|255|99|80|69|255|96|80|72|255|94|80|75|255|92|79|78|255|89|79|81|255|87|79|84|255|85|78|87|255|83|78|90|255|80|78|93|255|78|77|96|255|76|77|99|255|73|77|102|255|71|76|105|255|69|76|108|255|66|76|111|255|64|75|114|255|62|75|117|255|59|74|120|255|57|74|123|255|55|74|125|255|52|73|128|255|50|73|131|255|48|73|134|255|11|18|34|64|0-212|113|68|1|191|149|90|4|255|147|90|7|255|144|89|10|255|142|89|13|255|140|89|16|255|137|88|18|255|135|88|21|255|133|88|24|255|130|87|27|255|128|87|30|255|126|87|33|255|123|86|36|255|121|86|39|255|119|86|42|255|116|85|45|255|114|85|48|255|112|85|51|255|109|84|54|255|107|84|57|255|105|83|60|255|103|83|63|255|100|83|66|255|98|82|69|255|96|82|72|255|93|82|74|255|91|81|77|255|89|81|80|255|86|81|83|255|84|80|86|255|82|80|89|255|79|80|92|255|77|79|95|255|75|79|98|255|72|79|101|255|70|78|104|255|68|78|107|255|65|77|110|255|63|77|113|255|61|77|116|255|59|76|119|255|56|76|122|255|54|76|125|255|52|75|127|255|49|75|130|255|24|38|67|128|0-216|38|23|0|64|148|92|3|255|146|92|6|255|143|91|9|255|141|91|12|255|139|91|15|255|136|90|18|255|134|90|21|255|132|90|23|255|129|89|26|255|127|89|29|255|125|89|32|255|123|88|35|255|120|88|38|255|118|88|41|255|116|87|44|255|113|87|47|255|111|86|50|255|109|86|53|255|106|86|56|255|104|85|59|255|102|85|62|255|99|85|65|255|97|84|68|255|95|84|71|255|92|84|74|255|90|83|76|255|88|83|79|255|85|83|82|255|83|82|85|255|81|82|88|255|79|82|91|255|76|81|94|255|74|81|97|255|72|80|100|255|69|80|103|255|67|80|106|255|65|79|109|255|62|79|112|255|60|79|115|255|58|78|118|255|55|78|121|255|53|78|124|255|51|77|127|255|48|77|130|255|0-220|37|24|0|64|147|94|2|255|145|94|5|255|143|93|8|255|140|93|11|255|138|93|14|255|136|92|17|255|133|92|20|255|131|92|23|255|129|91|26|255|126|91|28|255|124|91|31|255|122|90|34|255|119|90|37|255|117|89|40|255|115|89|43|255|112|89|46|255|110|88|49|255|108|88|52|255|105|88|55|255|103|87|58|255|101|87|61|255|99|87|64|255|96|86|67|255|94|86|70|255|92|86|73|255|89|85|76|255|87|85|79|255|85-2|81|255|82|84-2|255|80|84|87|255|78|83|90|255|75|83|93|255|73|83|96|255|71|82|99|255|68|82|102|255|66|82|105|255|64|81|108|255|61|81|111|255|59|81|114|255|57|80|117|255|54|80|120|255|52|80|123|255|50|79|126|255|24|40|65|128|0-224|110|72|1|191|144|96|4|255|142|95|7|255|139|95|10|255|137|95|13|255|135|94|16|255|132|94|19|255|130|94|22|255|128|93|25|255|125|93|28|255|123|92|30|255|121|92|33|255|119|92|36|255|116|91|39|255|114|91|42|255|112|91|45|255|109|90|48|255|107|90|51|255|105|90|54|255|102|89|57|255|100|89|60|255|98|89|63|255|95|88|66|255|93|88|69|255|91|88|72|255|88|87|75|255|86|87|78|255|84|86|81|255|81|86|84|255|79|86-2|255|77|85|89|255|74|85|92|255|72|85|95|255|70|84|98|255|68|84|101|255|65|84|104|255|63|83|107|255|61|83|110|255|58|83|113|255|56|82|116|255|54|82|119|255|51|82|122|255|25|41|63|128|0-228|109|74|0|191|143|98|3|255|141|97|6|255|139|97|9|255|136|97|12|255|134|96|15|255|132|96|18|255|129|95|21|255|127|95|24|255|125|95|27|255|122|94|30|255|120|94|33|255|118|94|35|255|115|93|38|255|113|93|41|255|111|93|44|255|108|92|47|255|106|92|50|255|104|92|53|255|101|91|56|255|99|91|59|255|97|91|62|255|94|90|65|255|92|90|68|255|90|89|71|255|88|89|74|255|85|89|77|255|83|88|80|255|81|88|83|255|78|88|86|255|76|87|89|255|74|87|91|255|71|87|94|255|69|86|97|255|67|86|100|255|64|86|103|255|62|85|106|255|60|85|109|255|57|85|112|255|55|84|115|255|53|84|118|255|50|83|121|255|0-232|36|25|0|64|142|100|2|255|140|99|5|255|138|99|8|255|135|98|11|255|133|98|14|255|131|98|17|255|128|97|20|255|126|97|23|255|124|97|26|255|121|96|29|255|119|96|32|255|117|96|35|255|114|95|38|255|112|95|40|255|110|95|43|255|108|94|46|255|105|94|49|255|103|94|52|255|101|93|55|255|98|93|58|255|96|92|61|255|94|92|64|255|91|92|67|255|89|91|70|255|87|91|73|255|84|91|76|255|82|90|79|255|80|90|82|255|77|90|85|255|75|89|88|255|73|89|91|255|70|89|93|255|68|88|96|255|66|88|99|255|64|88|102|255|61|87|105|255|59|87|108|255|57|86|111|255|54|86|114|255|52|86|117|255|25|43|60|128|0-236|141|101|1|255|139|101|4|255|137|101|7|255|134|100|10|255|132|100|13|255|130|100|16|255|128|99|19|255|125|99|22|255|123|99|25|255|121|98|28|255|118|98|31|255|116|98|34|255|114|97|37|255|111|97|40|255|109|97|42|255|107|96|45|255|104|96|48|255|102|95|51|255|100|95|54|255|97|95|57|255|95|94|60|255|93|94|63|255|90|94|66|255|88|93|69|255|86|93|72|255|84|93|75|255|81|92|78|255|79|92|81|255|77|92|84|255|74|91|87|255|72|91|90|255|70|91|93|255|67|90|96|255|65|90|98|255|63|89|101|255|60|89|104|255|58|89|107|255|56|88|110|255|53|88|113|255|26|44|58|128|0-240|106|77|0|191|138|103|3|255|136|103|6|255|134|102|9|255|131|102|12|255|129|102|15|255|127|101|18|255|124|101|21|255|122|101|24|255|120|100|27|255|117|100|30|255|115|100|33|255|113|99|36|255|110|99|39|255|108|98|42|255|106|98|45|255|103|98|47|255|101|97|50|255|99|97|53|255|97-2|56|255|94|96|59|255|92|96|62|255|90|96|65|255|87|95|68|255|85|95|71|255|83|95|74|255|80|94|77|255|78|94|80|255|76|94|83|255|73|93|86|255|71|93|89|255|69|92-2|255|66|92|95|255|64|92|98|255|62|91|101|255|59|91|103|255|57|91|106|255|55|90|109|255|53|90|112|255|0-244|35|26|0|64|137|105|2|255|135|105|5|255|133|104|8|255|130|104|11|255|128|104|14|255|126|103|17|255|123|103|20|255|121|103|23|255|119|102|26|255|117|102|29|255|114|101|32|255|112|101|35|255|110|101|38|255|107|100|41|255|105|100|44|255|103|100|47|255|100|99|50|255|98|99|52|255|96|99|55|255|93|98|58|255|91|98|61|255|89|98|64|255|86|97|67|255|84|97|70|255|82|97|73|255|79|96|76|255|77|96|79|255|75|95|82|255|73|95|85|255|70|95|88|255|68|94|91|255|66|94-2|255|63|94|97|255|61|93|100|255|59|93|103|255|56|93|106|255|54|92|108|255|26|46|56|128|0-248|137|107|1|255|134|107|4|255|132|106|7|255|130|106|10|255|127|106|13|255|125|105|16|255|123|105|19|255|120|104|22|255|118|104|25|255|116|104|28|255|113|103|31|255|111|103|34|255|109|103|37|255|106|102|40|255|104|102|43|255|102-2|46|255|99|101|49|255|97|101|52|255|95|101|55|255|93|100|57|255|90|100|60|255|88|100|63|255|86|99|66|255|83|99|69|255|81|98|72|255|79|98|75|255|76|98|78|255|74|97|81|255|72|97|84|255|69|97|87|255|67|96|90|255|65|96|93|255|62|96-2|255|60|95|99|255|58|95|102|255|55|95|105|255|40|71|81|191|0-252|102|82|1|191|133|109|4|255|131|108|6|255|129|108|9|255|126|107|12|255|124|107|15|255|122|107|18|255|119|106|21|255|117|106|24|255|115|106|27|255|113|105|30|255|110|105|33|255|108|105|36|255|106|104|39|255|103|104|42|255|101|104|45|255|99|103|48|255|96|103|51|255|94|103|54|255|92|102|57|255|89|102|60|255|87|101|62|255|85|101|65|255|82|101|68|255|80|100|71|255|78|100|74|255|75|100|77|255|73|99|80|255|71|99|83|255|68|99|86|255|66|98|89|255|64|98|92|255|62|98|95|255|59|97|98|255|57|97|101|255|55|97|104|255|13|24|27|64|0-252|34|28|0|64|133|110|3|255|130|110|6|255|128|110|9|255|126|109|11|255|123|109|14|255|121|109|17|255|119|108|20|255|116|108|23|255|114|108|26|255|112|107|29|255|109|107|32|255|107-2|35|255|105|106|38|255|102|106|41|255|100|106|44|255|98|105|47|255|95|105|50|255|93|104|53|255|91|104|56|255|88|104|59|255|86|103|62|255|84|103|64|255|82|103|67|255|79|102|70|255|77|102|73|255|75|102|76|255|72|101|79|255|70|101|82|255|68|101|85|255|65|100|88|255|63|100|91|255|61|100|94|255|58|99|97|255|56|99|100|255|27|49|52|128|0-260|132|112|2|255|129|112|5|255|127|112|8|255|125|111|11|255|122|111|13|255|120|111|16|255|118|110|19|255|115|110|22|255|113|110|25|255|111|109|28|255|108|109|31|255|106|109|34|255|104|108|37|255|102|108|40|255|99|107|43|255|97|107|46|255|95|107|49|255|92|106|52|255|90|106|55|255|88|106|58|255|85|105|61|255|83|105|64|255|81|105|67|255|78|104|69|255|76|104|72|255|74|104|75|255|71|103|78|255|69|103|81|255|67|103|84|255|64|102|87|255|62|102|90|255|60|101|93|255|58|101|96|255|55|101|99|255|0-264|98|86|1|191|128|114|4|255|126|114|7|255|124|113|10|255|122|113|13|255|119|113|16|255|117|112|18|255|115|112|21|255|112-2|24|255|110|111|27|255|108|111|30|255|105|110|33|255|103|110|36|255|101|110|39|255|98|109|42|255|96|109|45|255|94|109|48|255|91|108|51|255|89|108|54|255|87|108|57|255|84|107|60|255|82|107|63|255|80|107|66|255|78|106|69|255|75|106|72|255|73|106|74|255|71|105|77|255|68|105|80|255|66|104|83|255|64|104|86|255|61|104|89|255|59|103|92|255|57|103|95|255|27|52|49|128|0-264|33|29|0|64|128|116|3|255|125|116|6|255|123|115|9|255|121|115|12|255|118|115|15|255|116|114|18|255|114-2|21|255|111|113|23|255|109|113|26|255|107|113|29|255|104|112|32|255|102|112|35|255|100|112|38|255|98|111|41|255|95|111|44|255|93|111|47|255|91|110|50|255|88|110|53|255|86|110|56|255|84|109|59|255|81|109|62|255|79|109|65|255|77|108|68|255|74|108|71|255|72|107|74|255|70|107|76|255|67|107|79|255|65|106|82|255|63|106|85|255|60|106|88|255|58|105|91|255|28|53|47|128|0-268|32|30|0|64|127|118|2|255|124|118|5|255|122|117|8|255|120|117|11|255|118|116|14|255|115|116|17|255|113|116|20|255|111|115|23|255|108|115|26|255|106|115|28|255|104|114|31|255|101|114|34|255|99|114|37|255|97|113|40|255|94|113|43|255|92|113|46|255|90|112|49|255|87|112|52|255|85|112|55|255|83|111|58|255|80|111|61|255|78|110|64|255|76|110|67|255|73|110|70|255|71|109|73|255|69|109|76|255|67|109|79|255|64|108|81|255|62|108|84|255|60|108|87|255|57|107|90|255|0-276|95|90|1|191|124|119|4|255|121|119|7|255|119-2|10|255|117|118|13|255|114|118|16|255|112|118|19|255|110|117|22|255|107|117|25|255|105|117|28|255|103|116|30|255|100|116|33|255|98|116|36|255|96|115|39|255|93|115|42|255|91|115|45|255|89|114|48|255|87|114|51|255|84|113|54|255|82|113|57|255|80|113|60|255|77|112|63|255|75|112|66|255|73|112|69|255|70|111|72|255|68|111|75|255|66|111|78|255|63|110|81|255|61|110|84|255|59|110|86|255|28|55|45|128|0-276|94|92|0|191|123|121|3|255|120|121|6|255|118|121|9|255|116|120|12|255|113|120|15|255|111|120|18|255|109|119|21|255|107|119|24|255|104|119|27|255|102|118|30|255|100|118|33|255|97|118|35|255|95|117|38|255|93|117|41|255|90|116|44|255|88|116|47|255|86|116|50|255|83|115|53|255|81|115|56|255|79|115|59|255|76|114|62|255|74|114|65|255|72|114|68|255|69|113|71|255|67|113|74|255|65|113|77|255|62|112|80|255|60|112|83|255|29|56|43|128|0-280|31-2|0|64|122|123|2|255|120|123|5|255|117|123|8|255|115|122|11|255|113|122|14|255|110|122|17|255|108|121|20|255|106|121|23|255|103|120|26|255|101|120|29|255|99|120|32|255|96|119|35|255|94|119|38|255|92|119|40|255|89|118|43|255|87|118|46|255|85|118|49|255|82|117|52|255|80|117|55|255|78|117|58|255|76|116|61|255|73|116|64|255|71|116|67|255|69|115|70|255|66|115|73|255|64|115|76|255|62|114|79|255|59|114|82|255|0-288|121|125|1|255|119|125|4|255|116|125|7|255|114|124|10|255|112|124|13|255|109|123|16|255|107|123|19|255|105|123|22|255|102|122|25|255|100|122|28|255|98|122|31|255|96|121|34|255|93|121|37|255|91|121|40|255|89|120|42|255|86|120|45|255|84|120|48|255|82|119|51|255|79|119|54|255|77|119|57|255|75|118|60|255|72|118|63|255|70|118|66|255|68|117|69|255|65|117|72|255|63|116|75|255|61|116|78|255|29|58|41|128|0-288|90|95|0|191|118|127|3|255|116|126|6|255|113|126|9|255|111|126|12|255|109|125|15|255|106|125|18|255|104|125|21|255|102|124|24|255|99|124|27|255|97|124|30|255|95|123|33|255|92|123|36|255|90|123|39|255|88|122|42|255|85|122|45|255|83|122|47|255|81|121|50|255|78|121|53|255|76|120|56|255|74|120|59|255|72|120|62|255|69|119|65|255|67|119|68|255|65|119|71|255|62|118|74|255|45|89|58|191|0-292|30|32|0|64|117|129|2|255|115|128|5|255|112|128|8|255|110|128|11|255|108|127|14|255|105|127|17|255|103|127|20|255|101|126|23|255|98|126|26|255|96|126|29|255|94|125|32|255|92|125|35|255|89|125|38|255|87|124|41|255|85|124|44|255|82|123|47|255|80|123|50|255|78|123|52|255|75|122|55|255|73|122|58|255|71|122|61|255|68|121|64|255|66|121|67|255|64|121|70|255|61|120|73|255|15|30|19|64|0-296|116|131|1|255|114|130|4|255|112|130|7|255|109|130|10|255|107|129|13|255|105|129|16|255|102|129|19|255|100|128|22|255|98|128|25|255|95|128|28|255|93|127|31|255|91|127|34|255|88|126|37|255|86|126|40|255|84|126|43|255|81|125|46|255|79|125|49|255|77|125|52|255|74|124|55|255|72|124|57|255|70|124|60|255|67|123|63|255|65|123|66|255|63|123|69|255|31|61|36|128|0-300|86|100|1|191|113|132|4|255|111|132|6|255|108|132|9|255|106|131|12|255|104|131|15|255|101|131|18|255|99|130|21|255|97|130|24|255|94|129|27|255|92|129|30|255|90|129|33|255|87|128|36|255|85|128|39|255|83|128|42|255|81|127|45|255|78|127|48|255|76|127|51|255|74|126|54|255|71|126|57|255|69|126|60|255|67|125|62|255|64|125|65|255|62|125|68|255|0-304|29|34|0|64|112|134|3|255|110|134|6|255|107|134|9|255|105|133|11|255|103|133|14|255|101|132|17|255|98|132|20|255|96|132|23|255|94|131|26|255|91|131|29|255|89|131|32|255|87|130|35|255|84|130|38|255|82|130|41|255|80|129|44|255|77|129|47|255|75|129|50|255|73|128|53|255|70|128|56|255|68|128|59|255|66|127|62|255|63|127|64|255|31|63|34|128|0-308|111|136|2|255|109|136|5|255|107|135|8|255|104|135|11|255|102|135|13|255|100|134|16|255|97|134|19|255|95|134|22|255|93|133|25|255|90|133|28|255|88|133|31|255|86|132|34|255|83|132|37|255|81|132|40|255|79|131|43|255|76|131|46|255|74|131|49|255|72|130|52|255|70|130|55|255|67|129|58|255|65|129|61|255|32|65|32|128|0-312|83|104|1|191|108|138|4|255|106|137|7|255|103|137|10|255|101|137|13|255|99|136|16|255|96|136|18|255|94|136|21|255|92|135|24|255|90|135|27|255|87|135|30|255|85|134|33|255|83|134|36|255|80|134|39|255|78|133|42|255|76|133|45|255|73|132|48|255|71|132|51|255|69|132|54|255|66|131|57|255|64|131|60|255|0-316|28|35|0|64|107|140|3|255|105|139|6|255|103|139|9|255|100|139|12|255|98|138|15|255|96|138|18|255|93|138|21|255|91|137|23|255|89|137|26|255|86|137|29|255|84|136|32|255|82|136|35|255|79|135|38|255|77|135|41|255|75|135|44|255|72|134|47|255|70|134|50|255|68|134|53|255|66|133|56|255|32|67|30|128|0-316|27|36|0|64|106|142|2|255|104|141|5|255|102|141|8|255|99|141|11|255|97|140|14|255|95|140|17|255|92|140|20|255|90|139|23|255|88|139|26|255|86|138|28|255|83|138|31|255|81|138|34|255|79|137|37|255|76|137|40|255|74|137|43|255|72|136|46|255|69|136|49|255|67|136|52|255|33|68|28|128|0-324|80|108|1|191|103|143|4|255|101|143|7|255|99|143|10|255|96|142|13|255|94|142|16|255|92|141|19|255|89|141|22|255|87|141|25|255|85|140|28|255|82|140|30|255|80|140|33|255|78|139|36|255|75|139|39|255|73|139|42|255|71|138|45|255|68|138|48|255|66|138|51|255|0-328|79|110|0|191|102|145|3|255|100|145|6|255|98|144|9|255|95|144|12|255|93|144|15|255|91|143|18|255|88|143|21|255|86|143|24|255|84|142|27|255|81|142|30|255|79|142|33|255|77|141|35|255|75|141|38|255|72|141|41|255|70|140|44|255|68|140|47|255|33|70|25|128|0-328|26|37|0|64|101|147|2|255|99|147|5|255|97|146|8|255|95|146|11|255|92|146|14|255|90|145|17|255|88|145|20|255|85|145|23|255|83|144|26|255|81|144|29|255|78|144|32|255|76|143|35|255|74|143|38|255|71|143|40|255|69|142|43|255|50|107|35|191|0-336|101|149|1|255|98|149|4|255|96|148|7|255|94|148|10|255|91|148|13|255|89|147|16|255|87|147|19|255|84|147|22|255|82|146|25|255|80|146|28|255|77|146|31|255|75|145|34|255|73|145|37|255|71|144|40|255|68|144|43|255|17|36|11|64|0-336|75|113|0|191|97|151|3|255|95|150|6|255|93|150|9|255|91|150|12|255|88|149|15|255|86|149|18|255|84|149|21|255|81|148|24|255|79|148|27|255|77|147|30|255|74|147|33|255|72|147|36|255|70|146|39|255|34|73|21|128|0-340|25|38|0|64|97|153|2|255|94|152|5|255|92|152|8|255|90|152|11|255|87|151|14|255|85|151|17|255|83|150|20|255|80|150|23|255|78|150|26|255|76|149|29|255|73|149|32|255|71|149|35|255|69|148|38|255|0-348|96|155|1|255|93|154|4|255|91|154|7|255|89|153|10|255|86|153|13|255|84|153|16|255|82|152|19|255|80|152|22|255|77|152|25|255|75|151|28|255|73|151|31|255|70|151|34|255|34|75|19|128|0-348|71|117|1|191|93|156|4|255|90|156|6|255|88|155|9|255|86|155|12|255|83|155|15|255|81|154|18|255|79|154|21|255|76|154|24|255|74|153|27|255|72|153|30|255|35|77|17|128|0-352|24|40|0|64|92|158|3|255|89|158|6|255|87|157|8|255|85|157|11|255|82|157|14|255|80|156|17|255|78|156|20|255|75|156|23|255|73|155|26|255|71|155|29|255|0-360|91|160|2|255|89|160|5|255|86|159|8|255|84|159|11|255|82|159|13|255|79|158|16|255|77|158|19|255|75|158|22|255|72|157|25|255|35|79|14|128|0-360|68|122|1|191|88|162|4|255|85|161|7|255|83|161|10|255|81|161|13|255|78|160|16|255|76|160|18|255|74|159|21|255|36|80|12|128|0-364|22|41|0|64|87|164|3|255|85|163|6|255|82|163|9|255|80|162|12|255|78|162|15|255|75|162|18|255|73|161|21|255|0-368|22|42|0|64|86|165|2|255|84|165|5|255|81|165|8|255|79|164|11|255|77|164|14|255|74|164|17|255|36|82|10|128|0-372|64|125|1|191|83|167|4|255|80|167|7|255|78|166|10|255|76|166|13|255|56|125|12|191|0-376|63|127|0|191|82|169|3|255|80|169|6|255|77|168|9|255|75|168|12|255|18|42|4|64|0-376|21|43|0|64|81|171|2|255|79|171|5|255|76|170|8|255|37|85|6|128|0-384|80|173|1|255|78|173|4|255|76|172|7|255|0-388|59|131|0|191|77|174|3|255|38|87|3|128|0-388|20|44|0|64|38|88|1|128|0-45436",
        "url": "data:image/png;base64, "
    },
    "matchmedias": {
        "(max-aspect-ratio: 1/1)": true,
        "(max-aspect-ratio: 2/1)": true,
        "(max-aspect-ratio: 3/2)": true,
        "(max-aspect-ratio: 5/4)": true,
        "(max-aspect-ratio: 9/8)": true,
        "(max-aspect-ratio: 17/16)": true,
        "(max-aspect-ratio: 33/32)": true,
        "(max-aspect-ratio: 67/64)": true,
        "(max-aspect-ratio: 133/128)": true,
        "(max-aspect-ratio: 265/256)": true,
        "(max-aspect-ratio: 531/512)": true,
        "(max-aspect-ratio: 1063/1024)": true,
        "(max-aspect-ratio: 2127/2048)": true,
        "(max-aspect-ratio: 4255/4096)": true,
        "(max-aspect-ratio: 8511/8192)": true,
        "(max-aspect-ratio: 17023/16384)": true,
        "(max-aspect-ratio: 34047/32768)": true,
        "(max-aspect-ratio: 68095/65536)": true,
        "(max-aspect-ratio: 136191/131072)": true,
        "(max-aspect-ratio: 272383/262144)": true,
        "(max-aspect-ratio: 544767/524288)": true,
        "(max-aspect-ratio: 1089535/1048576)": true,
        "(max-aspect-ratio: 2179071/2097152)": true,
        "(max-aspect-ratio: 4358143/4194304)": true,
        "(max-aspect-ratio: 8716287/8388608)": true,
        "(max-aspect-ratio: 17432575/16777216)": true,
        "(max-aspect-ratio: 34865151/33554432)": true,
        "(max-aspect-ratio: 69730303/67108864)": true,
        "(max-aspect-ratio: 139460607/134217728)": true,
        "(max-aspect-ratio: 278921215/268435456)": true,
        "(max-aspect-ratio: 557842431/536870912)": true,
        "(max-aspect-ratio: 1115684863/1073741824)": true,
        "(max-aspect-ratio: 2231369727/2147483648)": true,
        "(max-aspect-ratio: 4462739455/4294967296)": true,
        "(max-aspect-ratio: 8925478911/8589934592)": true,
        "(max-aspect-ratio: 17850957823/17179869184)": true,
        "(max-aspect-ratio: 35701915647/34359738368)": true,
        "(max-aspect-ratio: 71403831295/68719476736)": true,
        "(max-aspect-ratio: 142807662591/137438953472)": true,
        "(max-aspect-ratio: 285615325183/274877906944)": true,
        "(max-aspect-ratio: 571230650367/549755813888)": true,
        "(max-aspect-ratio: 1142461300735/1099511627776)": true,
        "(max-aspect-ratio: 2284922601471/2199023255552)": true,
        "(max-aspect-ratio: 4569845202943/4398046511104)": true,
        "(max-aspect-ratio: 9139690405887/8796093022208)": true,
        "(max-aspect-ratio: 18279380811775/17592186044416)": true,
        "(max-aspect-ratio: 36558761623551/35184372088832)": true,
        "(max-aspect-ratio: 73117523247103/70368744177664)": true,
        "(max-aspect-ratio: 146235046494207/140737488355328)": true,
        "(max-aspect-ratio: 292470092988415/281474976710656)": true,
        "(max-aspect-ratio: 584940185976831/562949953421312)": true,
        "(max-aspect-ratio: 1169880371953663/1125899906842624)": true,
        "(min-resolution: 0.0001dpi)": true,
        "(max-resolution: 24dpi)": false,
        "(max-resolution: 48dpi)": false,
        "(max-resolution: 96dpi)": false,
        "(max-resolution: 72dpi)": false,
        "(max-resolution: 84dpi)": false,
        "(max-resolution: 90dpi)": false,
        "(max-resolution: 93dpi)": false,
        "(max-resolution: 95dpi)": false,
        "(any-hover: none)": true,
        "(any-hover: hover)": false,
        "(any-pointer: none)": false,
        "(any-pointer: coarse)": true,
        "(any-pointer: fine)": false,
        "(max-color: 8)": true,
        "(max-color: 4)": false,
        "(max-color: 6)": false,
        "(max-color: 7)": false,
        "(color-gamut: srgb)": true,
        "(color-gamut: p3)": false,
        "(color-gamut: rec2020)": false,
        "(max-color-index: 1000)": true,
        "(max-color-index: 500)": true,
        "(max-color-index: 250)": true,
        "(max-color-index: 125)": true,
        "(max-color-index: 62)": true,
        "(max-color-index: 31)": true,
        "(max-color-index: 15)": true,
        "(max-color-index: 7)": true,
        "(max-color-index: 3)": true,
        "(max-color-index: 1)": true,
        "(max-color-index: 0)": true,
        "(display-mode: fullscreen)": false,
        "(display-mode: standalone)": false,
        "(display-mode: minimal-ui)": false,
        "(display-mode: browser)": true,
        "(forced-colors: none)": true,
        "(forced-colors: active)": false,
        "(grid: 0)": true,
        "(grid: 1)": false,
        "(max-height: 600px)": false,
        "(max-height: 1200px)": false,
        "(max-height: 900px)": false,
        "(max-height: 750px)": false,
        "(max-height: 825px)": false,
        "(max-height: 863px)": false,
        "(max-height: 882px)": false,
        "(max-height: 891px)": false,
        "(max-height: 887px)": false,
        "(max-height: 889px)": false,
        "(max-height: 890px)": false,
        "(hover: none)": true,
        "(hover: hover)": false,
        "(inverted-colors: none)": false,
        "(inverted-colors: inverted)": false,
        "(light-level: normal)": false,
        "(light-level: dim)": false,
        "(light-level: washed)": false,
        "(max-monochrome: 1)": true,
        "(max-monochrome: 0)": true,
        "(orientation: landscape)": false,
        "(orientation: portrait)": true,
        "(pointer: none)": false,
        "(pointer: coarse)": true,
        "(pointer: fine)": false,
        "(overflow-inline: none)": false,
        "(overflow-inline: scroll)": true,
        "(scripting: none)": false,
        "(scripting: initial-only)": false,
        "(scripting: enabled)": true,
        "(max-width: 600px)": false,
        "(max-width: 1200px)": true,
        "(max-width: 900px)": false,
        "(max-width: 1050px)": true,
        "(max-width: 975px)": false,
        "(max-width: 938px)": false,
        "(max-width: 919px)": false,
        "(max-width: 929px)": false,
        "(max-width: 934px)": false,
        "(max-width: 932px)": false,
        "(max-width: 931px)": false,
        "(prefers-contrast: no-preference)": true,
        "(prefers-contrast: high)": false,
        "(prefers-contrast: low)": false,
        "(overflow-block: none)": false,
        "(overflow-block: scroll)": true,
        "(overflow-block: optional-paged)": false,
        "(overflow-block: paged)": false,
        "(update: none)": false,
        "(update: slow)": false,
        "(update: fast)": true,
        "(prefers-reduced-motion: no-preference)": true,
        "(prefers-reduced-motion: reduce)": false,
        "(q: 1)": false,
        "(prefers-reduced-transparency: no-preference)": true,
        "(prefers-reduced-transparency: reduce)": false,
        "(prefers-color-scheme: no-preference)": false,
        "(prefers-color-scheme: light)": false,
        "(prefers-color-scheme: dark)": true,
        "(scan: interlace)": false,
        "(scan: progressive)": false,
        "(max-aspect-ratio: 3/1)": true,
        "(max-aspect-ratio: 4/1)": true,
        "(max-aspect-ratio: 5/1)": true,
        "(max-aspect-ratio: 6/1)": true,
        "(max-aspect-ratio: 7/1)": true,
        "(max-aspect-ratio: 8/1)": true,
        "(max-aspect-ratio: 9/1)": true,
        "(max-aspect-ratio: 10/1)": true,
        "(max-aspect-ratio: 11/1)": true,
        "(max-aspect-ratio: 12/1)": true,
        "(max-aspect-ratio: 13/1)": true,
        "(max-aspect-ratio: 14/1)": true,
        "(max-aspect-ratio: 15/1)": true,
        "(max-aspect-ratio: 16/1)": true,
        "(max-aspect-ratio: 17/1)": true,
        "(max-aspect-ratio: 18/1)": true,
        "(max-aspect-ratio: 19/1)": true,
        "(max-aspect-ratio: 20/1)": true,
        "(max-aspect-ratio: 21/1)": true,
        "(max-aspect-ratio: 22/1)": true,
        "(max-aspect-ratio: 23/1)": true,
        "(max-aspect-ratio: 24/1)": true,
        "(max-aspect-ratio: 25/1)": true,
        "(max-aspect-ratio: 26/1)": true,
        "(max-aspect-ratio: 27/1)": true,
        "(max-aspect-ratio: 28/1)": true,
        "(max-aspect-ratio: 29/1)": true,
        "(max-aspect-ratio: 30/1)": true,
        "(max-aspect-ratio: 31/1)": true,
        "(max-aspect-ratio: 32/1)": true,
        "(max-aspect-ratio: 33/1)": true,
        "(max-aspect-ratio: 34/1)": true,
        "(max-aspect-ratio: 35/1)": true,
        "(max-aspect-ratio: 36/1)": true,
        "(max-aspect-ratio: 37/1)": true,
        "(max-aspect-ratio: 38/1)": true,
        "(max-aspect-ratio: 39/1)": true,
        "(max-aspect-ratio: 40/1)": true,
        "(max-aspect-ratio: 41/1)": true,
        "(max-aspect-ratio: 42/1)": true,
        "(max-aspect-ratio: 43/1)": true,
        "(max-aspect-ratio: 44/1)": true,
        "(max-aspect-ratio: 45/1)": true,
        "(max-aspect-ratio: 46/1)": true,
        "(max-aspect-ratio: 47/1)": true,
        "(max-aspect-ratio: 48/1)": true,
        "(max-aspect-ratio: 49/1)": true,
        "(max-aspect-ratio: 50/1)": true,
        "(max-aspect-ratio: 51/1)": true,
        "(max-aspect-ratio: 101/2)": true,
        "(max-aspect-ratio: 203/4)": true,
        "(max-aspect-ratio: 407/8)": true,
        "(max-aspect-ratio: 815/16)": true,
        "(max-aspect-ratio: 1631/32)": true,
        "(max-aspect-ratio: 3263/64)": true,
        "(max-aspect-ratio: 6527/128)": true,
        "(max-aspect-ratio: 13055/256)": true,
        "(max-aspect-ratio: 26111/512)": true,
        "(max-aspect-ratio: 52223/1024)": true,
        "(max-aspect-ratio: 104447/2048)": true,
        "(max-aspect-ratio: 208895/4096)": true,
        "(max-aspect-ratio: 417791/8192)": true,
        "(max-aspect-ratio: 835583/16384)": true,
        "(max-aspect-ratio: 1671167/32768)": true,
        "(max-aspect-ratio: 3342335/65536)": true,
        "(max-aspect-ratio: 6684671/131072)": true,
        "(max-aspect-ratio: 13369343/262144)": true,
        "(max-aspect-ratio: 26738687/524288)": true,
        "(max-aspect-ratio: 53477375/1048576)": true,
        "(max-aspect-ratio: 106954751/2097152)": true,
        "(max-aspect-ratio: 213909503/4194304)": true,
        "(max-aspect-ratio: 427819007/8388608)": true,
        "(max-aspect-ratio: 855638015/16777216)": true,
        "(max-aspect-ratio: 1711276031/33554432)": true,
        "(max-aspect-ratio: 3422552063/67108864)": true,
        "(max-aspect-ratio: 6845104127/134217728)": true,
        "(max-aspect-ratio: 13690208255/268435456)": true,
        "(max-aspect-ratio: 27380416511/536870912)": true,
        "(max-aspect-ratio: 54760833023/1073741824)": true,
        "(max-aspect-ratio: 109521666047/2147483648)": true,
        "(max-aspect-ratio: 219043332095/4294967296)": true,
        "(max-aspect-ratio: 438086664191/8589934592)": true,
        "(max-aspect-ratio: 876173328383/17179869184)": true,
        "(max-aspect-ratio: 1752346656767/34359738368)": true,
        "(max-aspect-ratio: 3504693313535/68719476736)": true,
        "(max-aspect-ratio: 7009386627071/137438953472)": true,
        "(max-aspect-ratio: 14018773254143/274877906944)": true,
        "(max-aspect-ratio: 28037546508287/549755813888)": true,
        "(max-aspect-ratio: 56075093016575/1099511627776)": true,
        "(max-aspect-ratio: 112150186033151/2199023255552)": true,
        "(max-aspect-ratio: 224300372066303/4398046511104)": true,
        "(max-aspect-ratio: 448600744132607/8796093022208)": true,
        "(max-aspect-ratio: 897201488265215/17592186044416)": true,
        "(max-aspect-ratio: 1794402976530431/35184372088832)": true,
        "(max-aspect-ratio: 3588805953060863/70368744177664)": true,
        "(max-aspect-ratio: 7177611906121727/140737488355328)": true,
        "(max-height: 844px)": false,
        "(max-height: 854px)": false,
        "(max-height: 859px)": false,
        "(max-height: 861px)": false,
        "(max-height: 862px)": false,
        "(max-width: 2400px)": true,
        "(max-width: 4800px)": true,
        "(max-width: 9600px)": true,
        "(max-width: 19200px)": true,
        "(max-width: 38400px)": true,
        "(max-width: 76800px)": true,
        "(max-width: 153600px)": true,
        "(max-width: 307200px)": true,
        "(max-width: 614400px)": true,
        "(max-width: 1228800px)": true,
        "(max-width: 2457600px)": true,
        "(max-width: 4915200px)": true,
        "(max-width: 9830400px)": true,
        "(max-width: 19660800px)": true,
        "(max-width: 39321600px)": true,
        "(max-width: 78643200px)": true,
        "(max-width: 157286400px)": true,
        "(max-width: 314572800px)": true,
        "(max-width: 629145600px)": true,
        "(max-width: 1258291200px)": true,
        "(max-width: 2516582400px)": true,
        "(max-width: 5033164800px)": true,
        "(max-width: 10066329600px)": true,
        "(max-width: 20132659200px)": true,
        "(max-width: 40265318400px)": true,
        "(max-width: 80530636800px)": true,
        "(max-width: 161061273600px)": true,
        "(max-width: 322122547200px)": true,
        "(max-width: 644245094400px)": true,
        "(max-width: 1288490188800px)": true,
        "(max-width: 2576980377600px)": true,
        "(max-width: 5153960755200px)": true,
        "(max-width: 10307921510400px)": true,
        "(max-width: 20615843020800px)": true,
        "(max-width: 41231686041600px)": true,
        "(max-width: 82463372083200px)": true,
        "(max-width: 164926744166400px)": true,
        "(max-width: 329853488332800px)": true,
        "(max-width: 659706976665600px)": true,
        "(max-width: 1319413953331200px)": true,
        "(max-width: 2638827906662400px)": true,
        "(max-width: 5277655813324800px)": true,
        "(max-width: 10555311626649600px)": true,
        "(max-width: 21110623253299200px)": true,
        "(max-width: 42221246506598400px)": true,
        "(max-width: 84442493013196800px)": true,
        "(max-width: 168884986026393600px)": true,
        "(max-width: 337769972052787200px)": true,
        "(max-width: 675539944105574400px)": true,
        "(max-width: 506654958079180800px)": true,
        "(max-width: 591097451092377600px)": true,
        "(max-width: 633318697598976000px)": true,
        "(max-width: 654429320852275200px)": true,
        "(max-width: 664984632478924800px)": true,
        "(max-width: 670262288292249600px)": true,
        "(max-width: 672901116198912000px)": true,
        "(max-width: 674220530152243200px)": true,
        "(max-width: 674880237128908800px)": true,
        "(max-width: 675210090617241600px)": true,
        "(max-width: 675375017361408000px)": true,
        "(max-width: 675457480733491200px)": true,
        "(max-width: 675498712419532800px)": true,
        "(max-width: 675519328262553600px)": true,
        "(max-width: 675529636184064000px)": true,
        "(max-width: 675534790144819200px)": true,
        "(max-width: 675537367125196800px)": true,
        "(max-width: 675538655615385600px)": true,
        "(max-width: 675539299860480000px)": true,
        "(max-width: 675539621983027200px)": true,
        "(max-width: 675539783044300800px)": true,
        "(max-width: 675539863574937600px)": true,
        "(max-width: 675539903840256000px)": true,
        "(max-width: 675539923972915200px)": true,
        "(max-width: 675539934039244800px)": true,
        "(max-width: 675539939072409600px)": true,
        "(max-width: 675539941588992000px)": true,
        "(max-width: 675539942847283200px)": true,
        "(max-width: 675539943476428800px)": true,
        "(max-width: 675539943791001600px)": true,
        "(max-width: 675539943948288000px)": true,
        "(max-width: 675539944026931200px)": true,
        "(max-width: 675539944066252800px)": true,
        "(max-width: 675539944085913600px)": true,
        "(max-width: 675539944095744000px)": true,
        "(max-width: 675539944100659200px)": true,
        "(max-width: 675539944103116800px)": true,
        "(max-width: 675539944104345600px)": true,
        "(max-width: 675539944104960000px)": true,
        "(max-width: 675539944105267200px)": true,
        "(max-width: 675539944105420800px)": true,
        "(max-width: 675539944105497600px)": true,
        "(max-width: 675539944105536000px)": true,
        "(max-width: 675539944105555200px)": true,
        "(max-width: 675539944105564800px)": true,
        "(max-width: 675539944105569500px)": true,
        "(max-width: 675539944105572000px)": true,
        "(max-width: 675539944105573100px)": true,
        "(max-width: 675539944105573800px)": true,
        "(max-width: 675539944105574100px)": true
    },
    "consoleprops": [
    "debug",
    "error",
    "info",
    "log",
    "warn",
    "dir",
    "dirxml",
    "table",
    "trace",
    "group",
    "groupCollapsed",
    "groupEnd",
    "clear",
    "count",
    "countReset",
    "assert",
    "profile",
    "profileEnd",
    "time",
    "timeLog",
    "timeEnd",
    "timeStamp",
    "context",
    "createTask",
    "memory"
],
    "webglprops": ["canvas", "drawingBufferWidth", "drawingBufferHeight", "drawingBufferColorSpace", "unpackColorSpace", "DEPTH_BUFFER_BIT", "STENCIL_BUFFER_BIT", "COLOR_BUFFER_BIT", "POINTS", "LINES", "LINE_LOOP", "LINE_STRIP", "TRIANGLES", "TRIANGLE_STRIP", "TRIANGLE_FAN", "ZERO", "ONE", "SRC_COLOR", "ONE_MINUS_SRC_COLOR", "SRC_ALPHA", "ONE_MINUS_SRC_ALPHA", "DST_ALPHA", "ONE_MINUS_DST_ALPHA", "DST_COLOR", "ONE_MINUS_DST_COLOR", "SRC_ALPHA_SATURATE", "FUNC_ADD", "BLEND_EQUATION", "BLEND_EQUATION_RGB", "BLEND_EQUATION_ALPHA", "FUNC_SUBTRACT", "FUNC_REVERSE_SUBTRACT", "BLEND_DST_RGB", "BLEND_SRC_RGB", "BLEND_DST_ALPHA", "BLEND_SRC_ALPHA", "CONSTANT_COLOR", "ONE_MINUS_CONSTANT_COLOR", "CONSTANT_ALPHA", "ONE_MINUS_CONSTANT_ALPHA", "BLEND_COLOR", "ARRAY_BUFFER", "ELEMENT_ARRAY_BUFFER", "ARRAY_BUFFER_BINDING", "ELEMENT_ARRAY_BUFFER_BINDING", "STREAM_DRAW", "STATIC_DRAW", "DYNAMIC_DRAW", "BUFFER_SIZE", "BUFFER_USAGE", "CURRENT_VERTEX_ATTRIB", "FRONT", "BACK", "FRONT_AND_BACK", "TEXTURE_2D", "CULL_FACE", "BLEND", "DITHER", "STENCIL_TEST", "DEPTH_TEST", "SCISSOR_TEST", "POLYGON_OFFSET_FILL", "SAMPLE_ALPHA_TO_COVERAGE", "SAMPLE_COVERAGE", "NO_ERROR", "INVALID_ENUM", "INVALID_VALUE", "INVALID_OPERATION", "OUT_OF_MEMORY", "CW", "CCW", "LINE_WIDTH", "ALIASED_POINT_SIZE_RANGE", "ALIASED_LINE_WIDTH_RANGE", "CULL_FACE_MODE", "FRONT_FACE", "DEPTH_RANGE", "DEPTH_WRITEMASK", "DEPTH_CLEAR_VALUE", "DEPTH_FUNC", "STENCIL_CLEAR_VALUE", "STENCIL_FUNC", "STENCIL_FAIL", "STENCIL_PASS_DEPTH_FAIL", "STENCIL_PASS_DEPTH_PASS", "STENCIL_REF", "STENCIL_VALUE_MASK", "STENCIL_WRITEMASK", "STENCIL_BACK_FUNC", "STENCIL_BACK_FAIL", "STENCIL_BACK_PASS_DEPTH_FAIL", "STENCIL_BACK_PASS_DEPTH_PASS", "STENCIL_BACK_REF", "STENCIL_BACK_VALUE_MASK", "STENCIL_BACK_WRITEMASK", "VIEWPORT", "SCISSOR_BOX", "COLOR_CLEAR_VALUE", "COLOR_WRITEMASK", "UNPACK_ALIGNMENT", "PACK_ALIGNMENT", "MAX_TEXTURE_SIZE", "MAX_VIEWPORT_DIMS", "SUBPIXEL_BITS", "RED_BITS", "GREEN_BITS", "BLUE_BITS", "ALPHA_BITS", "DEPTH_BITS", "STENCIL_BITS", "POLYGON_OFFSET_UNITS", "POLYGON_OFFSET_FACTOR", "TEXTURE_BINDING_2D", "SAMPLE_BUFFERS", "SAMPLES", "SAMPLE_COVERAGE_VALUE", "SAMPLE_COVERAGE_INVERT", "COMPRESSED_TEXTURE_FORMATS", "DONT_CARE", "FASTEST", "NICEST", "GENERATE_MIPMAP_HINT", "BYTE", "UNSIGNED_BYTE", "SHORT", "UNSIGNED_SHORT", "INT", "UNSIGNED_INT", "FLOAT", "DEPTH_COMPONENT", "ALPHA", "RGB", "RGBA", "LUMINANCE", "LUMINANCE_ALPHA", "UNSIGNED_SHORT_4_4_4_4", "UNSIGNED_SHORT_5_5_5_1", "UNSIGNED_SHORT_5_6_5", "FRAGMENT_SHADER", "VERTEX_SHADER", "MAX_VERTEX_ATTRIBS", "MAX_VERTEX_UNIFORM_VECTORS", "MAX_VARYING_VECTORS", "MAX_COMBINED_TEXTURE_IMAGE_UNITS", "MAX_VERTEX_TEXTURE_IMAGE_UNITS", "MAX_TEXTURE_IMAGE_UNITS", "MAX_FRAGMENT_UNIFORM_VECTORS", "SHADER_TYPE", "DELETE_STATUS", "LINK_STATUS", "VALIDATE_STATUS", "ATTACHED_SHADERS", "ACTIVE_UNIFORMS", "ACTIVE_ATTRIBUTES", "SHADING_LANGUAGE_VERSION", "CURRENT_PROGRAM", "NEVER", "LESS", "EQUAL", "LEQUAL", "GREATER", "NOTEQUAL", "GEQUAL", "ALWAYS", "KEEP", "REPLACE", "INCR", "DECR", "INVERT", "INCR_WRAP", "DECR_WRAP", "VENDOR", "RENDERER", "VERSION", "NEAREST", "LINEAR", "NEAREST_MIPMAP_NEAREST", "LINEAR_MIPMAP_NEAREST", "NEAREST_MIPMAP_LINEAR", "LINEAR_MIPMAP_LINEAR", "TEXTURE_MAG_FILTER", "TEXTURE_MIN_FILTER", "TEXTURE_WRAP_S", "TEXTURE_WRAP_T", "TEXTURE", "TEXTURE_CUBE_MAP", "TEXTURE_BINDING_CUBE_MAP", "TEXTURE_CUBE_MAP_POSITIVE_X", "TEXTURE_CUBE_MAP_NEGATIVE_X", "TEXTURE_CUBE_MAP_POSITIVE_Y", "TEXTURE_CUBE_MAP_NEGATIVE_Y", "TEXTURE_CUBE_MAP_POSITIVE_Z", "TEXTURE_CUBE_MAP_NEGATIVE_Z", "MAX_CUBE_MAP_TEXTURE_SIZE", "TEXTURE0", "TEXTURE1", "TEXTURE2", "TEXTURE3", "TEXTURE4", "TEXTURE5", "TEXTURE6", "TEXTURE7", "TEXTURE8", "TEXTURE9", "TEXTURE10", "TEXTURE11", "TEXTURE12", "TEXTURE13", "TEXTURE14", "TEXTURE15", "TEXTURE16", "TEXTURE17", "TEXTURE18", "TEXTURE19", "TEXTURE20", "TEXTURE21", "TEXTURE22", "TEXTURE23", "TEXTURE24", "TEXTURE25", "TEXTURE26", "TEXTURE27", "TEXTURE28", "TEXTURE29", "TEXTURE30", "TEXTURE31", "ACTIVE_TEXTURE", "REPEAT", "CLAMP_TO_EDGE", "MIRRORED_REPEAT", "FLOAT_VEC2", "FLOAT_VEC3", "FLOAT_VEC4", "INT_VEC2", "INT_VEC3", "INT_VEC4", "BOOL", "BOOL_VEC2", "BOOL_VEC3", "BOOL_VEC4", "FLOAT_MAT2", "FLOAT_MAT3", "FLOAT_MAT4", "SAMPLER_2D", "SAMPLER_CUBE", "VERTEX_ATTRIB_ARRAY_ENABLED", "VERTEX_ATTRIB_ARRAY_SIZE", "VERTEX_ATTRIB_ARRAY_STRIDE", "VERTEX_ATTRIB_ARRAY_TYPE", "VERTEX_ATTRIB_ARRAY_NORMALIZED", "VERTEX_ATTRIB_ARRAY_POINTER", "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", "IMPLEMENTATION_COLOR_READ_TYPE", "IMPLEMENTATION_COLOR_READ_FORMAT", "COMPILE_STATUS", "LOW_FLOAT", "MEDIUM_FLOAT", "HIGH_FLOAT", "LOW_INT", "MEDIUM_INT", "HIGH_INT", "FRAMEBUFFER", "RENDERBUFFER", "RGBA4", "RGB5_A1", "RGB565", "DEPTH_COMPONENT16", "STENCIL_INDEX8", "DEPTH_STENCIL", "RENDERBUFFER_WIDTH", "RENDERBUFFER_HEIGHT", "RENDERBUFFER_INTERNAL_FORMAT", "RENDERBUFFER_RED_SIZE", "RENDERBUFFER_GREEN_SIZE", "RENDERBUFFER_BLUE_SIZE", "RENDERBUFFER_ALPHA_SIZE", "RENDERBUFFER_DEPTH_SIZE", "RENDERBUFFER_STENCIL_SIZE", "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME", "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL", "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE", "COLOR_ATTACHMENT0", "DEPTH_ATTACHMENT", "STENCIL_ATTACHMENT", "DEPTH_STENCIL_ATTACHMENT", "NONE", "FRAMEBUFFER_COMPLETE", "FRAMEBUFFER_INCOMPLETE_ATTACHMENT", "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT", "FRAMEBUFFER_INCOMPLETE_DIMENSIONS", "FRAMEBUFFER_UNSUPPORTED", "FRAMEBUFFER_BINDING", "RENDERBUFFER_BINDING", "MAX_RENDERBUFFER_SIZE", "INVALID_FRAMEBUFFER_OPERATION", "UNPACK_FLIP_Y_WEBGL", "UNPACK_PREMULTIPLY_ALPHA_WEBGL", "CONTEXT_LOST_WEBGL", "UNPACK_COLORSPACE_CONVERSION_WEBGL", "BROWSER_DEFAULT_WEBGL", "activeTexture", "attachShader", "bindAttribLocation", "bindRenderbuffer", "blendColor", "blendEquation", "blendEquationSeparate", "blendFunc", "blendFuncSeparate", "bufferData", "bufferSubData", "checkFramebufferStatus", "compileShader", "compressedTexImage2D", "compressedTexSubImage2D", "copyTexImage2D", "copyTexSubImage2D", "createBuffer", "createFramebuffer", "createProgram", "createRenderbuffer", "createShader", "createTexture", "cullFace", "deleteBuffer", "deleteFramebuffer", "deleteProgram", "deleteRenderbuffer", "deleteShader", "deleteTexture", "depthFunc", "depthMask", "depthRange", "detachShader", "disable", "enable", "finish", "flush", "framebufferRenderbuffer", "framebufferTexture2D", "frontFace", "generateMipmap", "getActiveAttrib", "getActiveUniform", "getAttachedShaders", "getAttribLocation", "getBufferParameter", "getContextAttributes", "getError", "getExtension", "getFramebufferAttachmentParameter", "getParameter", "getProgramInfoLog", "getProgramParameter", "getRenderbufferParameter", "getShaderInfoLog", "getShaderParameter", "getShaderPrecisionFormat", "getShaderSource", "getSupportedExtensions", "getTexParameter", "getUniform", "getUniformLocation", "getVertexAttrib", "getVertexAttribOffset", "hint", "isBuffer", "isContextLost", "isEnabled", "isFramebuffer", "isProgram", "isRenderbuffer", "isShader", "isTexture", "lineWidth", "linkProgram", "pixelStorei", "polygonOffset", "readPixels", "renderbufferStorage", "sampleCoverage", "shaderSource", "stencilFunc", "stencilFuncSeparate", "stencilMask", "stencilMaskSeparate", "stencilOp", "stencilOpSeparate", "texImage2D", "texParameterf", "texParameteri", "texSubImage2D", "useProgram", "validateProgram", "bindBuffer", "bindFramebuffer", "bindTexture", "clear", "clearColor", "clearDepth", "clearStencil", "colorMask", "disableVertexAttribArray", "drawArrays", "drawElements", "enableVertexAttribArray", "scissor", "uniform1f", "uniform1fv", "uniform1i", "uniform1iv", "uniform2f", "uniform2fv", "uniform2i", "uniform2iv", "uniform3f", "uniform3fv", "uniform3i", "uniform3iv", "uniform4f", "uniform4fv", "uniform4i", "uniform4iv", "uniformMatrix2fv", "uniformMatrix3fv", "uniformMatrix4fv", "vertexAttrib1f", "vertexAttrib1fv", "vertexAttrib2f", "vertexAttrib2fv", "vertexAttrib3f", "vertexAttrib3fv", "vertexAttrib4f", "vertexAttrib4fv", "vertexAttribPointer", "viewport", "makeXRCompatible"],
    "windowprops": ["Object", "Function", "Array", "Number", "parseFloat", "parseInt", "Infinity", "NaN", "undefined", "Boolean", "String", "Symbol", "Date", "Promise", "RegExp", "Error", "AggregateError", "EvalError", "RangeError", "ReferenceError", "SyntaxError", "TypeError", "URIError", "globalThis", "JSON", "Math", "Intl", "ArrayBuffer", "Atomics", "Uint8Array", "Int8Array", "Uint16Array", "Int16Array", "Uint32Array", "Int32Array", "Float32Array", "Float64Array", "Uint8ClampedArray", "BigUint64Array", "BigInt64Array", "DataView", "Map", "BigInt", "Set", "WeakMap", "WeakSet", "Proxy", "Reflect", "FinalizationRegistry", "WeakRef", "decodeURI", "decodeURIComponent", "encodeURI", "encodeURIComponent", "escape", "unescape", "eval", "isFinite", "isNaN", "console", "Option", "Image", "Audio", "webkitURL", "webkitRTCPeerConnection", "webkitMediaStream", "WebKitMutationObserver", "WebKitCSSMatrix", "XSLTProcessor", "XPathResult", "XPathExpression", "XPathEvaluator", "XMLSerializer", "XMLHttpRequestUpload", "XMLHttpRequestEventTarget", "XMLHttpRequest", "XMLDocument", "WritableStreamDefaultWriter", "WritableStreamDefaultController", "WritableStream", "Worker", "Window", "WheelEvent", "WebSocket", "WebGLVertexArrayObject", "WebGLUniformLocation", "WebGLTransformFeedback", "WebGLTexture", "WebGLSync", "WebGLShaderPrecisionFormat", "WebGLShader", "WebGLSampler", "WebGLRenderingContext", "WebGLRenderbuffer", "WebGLQuery", "WebGLProgram", "WebGLFramebuffer", "WebGLContextEvent", "WebGLBuffer", "WebGLActiveInfo", "WebGL2RenderingContext", "WaveShaperNode", "VisualViewport", "VirtualKeyboardGeometryChangeEvent", "ViewTransition", "VideoFrame", "VideoColorSpace", "ValidityState", "VTTCue", "UserActivation", "URLSearchParams", "URLPattern", "URL", "UIEvent", "TrustedTypePolicyFactory", "TrustedTypePolicy", "TrustedScriptURL", "TrustedScript", "TrustedHTML", "TreeWalker", "TransitionEvent", "TransformStreamDefaultController", "TransformStream", "TrackEvent", "TouchList", "TouchEvent", "Touch", "ToggleEvent", "TimeRanges", "TextTrackList", "TextTrackCueList", "TextTrackCue", "TextTrack", "TextMetrics", "TextEvent", "TextEncoderStream", "TextEncoder", "TextDecoderStream", "TextDecoder", "Text", "TaskSignal", "TaskPriorityChangeEvent", "TaskController", "TaskAttributionTiming", "SyncManager", "SubmitEvent", "StyleSheetList", "StyleSheet", "StylePropertyMapReadOnly", "StylePropertyMap", "StorageEvent", "Storage", "StereoPannerNode", "StaticRange", "SourceBufferList", "SourceBuffer", "ShadowRoot", "Selection", "SecurityPolicyViolationEvent", "ScriptProcessorNode", "ScreenOrientation", "Screen", "Scheduling", "Scheduler", "SVGViewElement", "SVGUseElement", "SVGUnitTypes", "SVGTransformList", "SVGTransform", "SVGTitleElement", "SVGTextPositioningElement", "SVGTextPathElement", "SVGTextElement", "SVGTextContentElement", "SVGTSpanElement", "SVGSymbolElement", "SVGSwitchElement", "SVGStyleElement", "SVGStringList", "SVGStopElement", "SVGSetElement", "SVGScriptElement", "SVGSVGElement", "SVGRectElement", "SVGRect", "SVGRadialGradientElement", "SVGPreserveAspectRatio", "SVGPolylineElement", "SVGPolygonElement", "SVGPointList", "SVGPoint", "SVGPatternElement", "SVGPathElement", "SVGNumberList", "SVGNumber", "SVGMetadataElement", "SVGMatrix", "SVGMaskElement", "SVGMarkerElement", "SVGMPathElement", "SVGLinearGradientElement", "SVGLineElement", "SVGLengthList", "SVGLength", "SVGImageElement", "SVGGraphicsElement", "SVGGradientElement", "SVGGeometryElement", "SVGGElement", "SVGForeignObjectElement", "SVGFilterElement", "SVGFETurbulenceElement", "SVGFETileElement", "SVGFESpotLightElement", "SVGFESpecularLightingElement", "SVGFEPointLightElement", "SVGFEOffsetElement", "SVGFEMorphologyElement", "SVGFEMergeNodeElement", "SVGFEMergeElement", "SVGFEImageElement", "SVGFEGaussianBlurElement", "SVGFEFuncRElement", "SVGFEFuncGElement", "SVGFEFuncBElement", "SVGFEFuncAElement", "SVGFEFloodElement", "SVGFEDropShadowElement", "SVGFEDistantLightElement", "SVGFEDisplacementMapElement", "SVGFEDiffuseLightingElement", "SVGFEConvolveMatrixElement", "SVGFECompositeElement", "SVGFEComponentTransferElement", "SVGFEColorMatrixElement", "SVGFEBlendElement", "SVGEllipseElement", "SVGElement", "SVGDescElement", "SVGDefsElement", "SVGComponentTransferFunctionElement", "SVGClipPathElement", "SVGCircleElement", "SVGAnimationElement", "SVGAnimatedTransformList", "SVGAnimatedString", "SVGAnimatedRect", "SVGAnimatedPreserveAspectRatio", "SVGAnimatedNumberList", "SVGAnimatedNumber", "SVGAnimatedLengthList", "SVGAnimatedLength", "SVGAnimatedInteger", "SVGAnimatedEnumeration", "SVGAnimatedBoolean", "SVGAnimatedAngle", "SVGAnimateTransformElement", "SVGAnimateMotionElement", "SVGAnimateElement", "SVGAngle", "SVGAElement", "Response", "ResizeObserverSize", "ResizeObserverEntry", "ResizeObserver", "Request", "ReportingObserver", "ReadableStreamDefaultReader", "ReadableStreamDefaultController", "ReadableStreamBYOBRequest", "ReadableStreamBYOBReader", "ReadableStream", "ReadableByteStreamController", "Range", "RadioNodeList", "RTCTrackEvent", "RTCStatsReport", "RTCSessionDescription", "RTCSctpTransport", "RTCRtpTransceiver", "RTCRtpSender", "RTCRtpReceiver", "RTCPeerConnectionIceEvent", "RTCPeerConnectionIceErrorEvent", "RTCPeerConnection", "RTCIceTransport", "RTCIceCandidate", "RTCErrorEvent", "RTCError", "RTCEncodedVideoFrame", "RTCEncodedAudioFrame", "RTCDtlsTransport", "RTCDataChannelEvent", "RTCDataChannel", "RTCDTMFToneChangeEvent", "RTCDTMFSender", "RTCCertificate", "PromiseRejectionEvent", "ProgressEvent", "Profiler", "ProcessingInstruction", "PopStateEvent", "PointerEvent", "PluginArray", "Plugin", "PictureInPictureWindow", "PictureInPictureEvent", "PeriodicWave", "PerformanceTiming", "PerformanceServerTiming", "PerformanceResourceTiming", "PerformancePaintTiming", "PerformanceObserverEntryList", "PerformanceObserver", "PerformanceNavigationTiming", "PerformanceNavigation", "PerformanceMeasure", "PerformanceMark", "PerformanceLongTaskTiming", "PerformanceEventTiming", "PerformanceEntry", "PerformanceElementTiming", "Performance", "Path2D", "PannerNode", "PageTransitionEvent", "OverconstrainedError", "OscillatorNode", "OffscreenCanvasRenderingContext2D", "OffscreenCanvas", "OfflineAudioContext", "OfflineAudioCompletionEvent", "NodeList", "NodeIterator", "NodeFilter", "Node", "NetworkInformation", "Navigator", "NavigationTransition", "NavigationHistoryEntry", "NavigationDestination", "NavigationCurrentEntryChangeEvent", "Navigation", "NavigateEvent", "NamedNodeMap", "MutationRecord", "MutationObserver", "MouseEvent", "MimeTypeArray", "MimeType", "MessagePort", "MessageEvent", "MessageChannel", "MediaStreamTrackVideoStats", "MediaStreamTrackProcessor", "MediaStreamTrackGenerator", "MediaStreamTrackEvent", "MediaStreamTrack", "MediaStreamEvent", "MediaStreamAudioSourceNode", "MediaStreamAudioDestinationNode", "MediaStream", "MediaSourceHandle", "MediaSource", "MediaRecorder", "MediaQueryListEvent", "MediaQueryList", "MediaList", "MediaError", "MediaEncryptedEvent", "MediaElementAudioSourceNode", "MediaCapabilities", "MathMLElement", "Location", "LayoutShiftAttribution", "LayoutShift", "LargestContentfulPaint", "KeyframeEffect", "KeyboardEvent", "IntersectionObserverEntry", "IntersectionObserver", "InputEvent", "InputDeviceInfo", "InputDeviceCapabilities", "ImageTrackList", "ImageTrack", "ImageData", "ImageCapture", "ImageBitmapRenderingContext", "ImageBitmap", "IdleDeadline", "IIRFilterNode", "IDBVersionChangeEvent", "IDBTransaction", "IDBRequest", "IDBOpenDBRequest", "IDBObjectStore", "IDBKeyRange", "IDBIndex", "IDBFactory", "IDBDatabase", "IDBCursorWithValue", "IDBCursor", "History", "Headers", "HashChangeEvent", "HTMLVideoElement", "HTMLUnknownElement", "HTMLUListElement", "HTMLTrackElement", "HTMLTitleElement", "HTMLTimeElement", "HTMLTextAreaElement", "HTMLTemplateElement", "HTMLTableSectionElement", "HTMLTableRowElement", "HTMLTableElement", "HTMLTableColElement", "HTMLTableCellElement", "HTMLTableCaptionElement", "HTMLStyleElement", "HTMLSpanElement", "HTMLSourceElement", "HTMLSlotElement", "HTMLSelectElement", "HTMLScriptElement", "HTMLQuoteElement", "HTMLProgressElement", "HTMLPreElement", "HTMLPictureElement", "HTMLParamElement", "HTMLParagraphElement", "HTMLOutputElement", "HTMLOptionsCollection", "HTMLOptionElement", "HTMLOptGroupElement", "HTMLObjectElement", "HTMLOListElement", "HTMLModElement", "HTMLMeterElement", "HTMLMetaElement", "HTMLMenuElement", "HTMLMediaElement", "HTMLMarqueeElement", "HTMLMapElement", "HTMLLinkElement", "HTMLLegendElement", "HTMLLabelElement", "HTMLLIElement", "HTMLInputElement", "HTMLImageElement", "HTMLIFrameElement", "HTMLHtmlElement", "HTMLHeadingElement", "HTMLHeadElement", "HTMLHRElement", "HTMLFrameSetElement", "HTMLFrameElement", "HTMLFormElement", "HTMLFormControlsCollection", "HTMLFontElement", "HTMLFieldSetElement", "HTMLEmbedElement", "HTMLElement", "HTMLDocument", "HTMLDivElement", "HTMLDirectoryElement", "HTMLDialogElement", "HTMLDetailsElement", "HTMLDataListElement", "HTMLDataElement", "HTMLDListElement", "HTMLCollection", "HTMLCanvasElement", "HTMLButtonElement", "HTMLBodyElement", "HTMLBaseElement", "HTMLBRElement", "HTMLAudioElement", "HTMLAreaElement", "HTMLAnchorElement", "HTMLAllCollection", "GeolocationPositionError", "GeolocationPosition", "GeolocationCoordinates", "Geolocation", "GamepadHapticActuator", "GamepadEvent", "GamepadButton", "Gamepad", "GainNode", "FormDataEvent", "FormData", "FontFaceSetLoadEvent", "FontFace", "FocusEvent", "FileReader", "FileList", "File", "FeaturePolicy", "External", "EventTarget", "EventSource", "EventCounts", "Event", "ErrorEvent", "EncodedVideoChunk", "EncodedAudioChunk", "ElementInternals", "Element", "DynamicsCompressorNode", "DragEvent", "DocumentType", "DocumentFragment", "Document", "DelayNode", "DecompressionStream", "DataTransferItemList", "DataTransferItem", "DataTransfer", "DOMTokenList", "DOMStringMap", "DOMStringList", "DOMRectReadOnly", "DOMRectList", "DOMRect", "DOMQuad", "DOMPointReadOnly", "DOMPoint", "DOMParser", "DOMMatrixReadOnly", "DOMMatrix", "DOMImplementation", "DOMException", "DOMError", "CustomStateSet", "CustomEvent", "CustomElementRegistry", "Crypto", "CountQueuingStrategy", "ConvolverNode", "ConstantSourceNode", "CompressionStream", "CompositionEvent", "Comment", "CloseEvent", "ClipboardEvent", "CharacterData", "ChannelSplitterNode", "ChannelMergerNode", "CanvasRenderingContext2D", "CanvasPattern", "CanvasGradient", "CanvasCaptureMediaStreamTrack", "CSSVariableReferenceValue", "CSSUnparsedValue", "CSSUnitValue", "CSSTranslate", "CSSTransformValue", "CSSTransformComponent", "CSSSupportsRule", "CSSStyleValue", "CSSStyleSheet", "CSSStyleRule", "CSSStyleDeclaration", "CSSSkewY", "CSSSkewX", "CSSSkew", "CSSScale", "CSSRuleList", "CSSRule", "CSSRotate", "CSSPropertyRule", "CSSPositionValue", "CSSPerspective", "CSSPageRule", "CSSNumericValue", "CSSNumericArray", "CSSNamespaceRule", "CSSMediaRule", "CSSMatrixComponent", "CSSMathValue", "CSSMathSum", "CSSMathProduct", "CSSMathNegate", "CSSMathMin", "CSSMathMax", "CSSMathInvert", "CSSMathClamp", "CSSLayerStatementRule", "CSSLayerBlockRule", "CSSKeywordValue", "CSSKeyframesRule", "CSSKeyframeRule", "CSSImportRule", "CSSImageValue", "CSSGroupingRule", "CSSFontPaletteValuesRule", "CSSFontFaceRule", "CSSCounterStyleRule", "CSSContainerRule", "CSSConditionRule", "CSS", "CDATASection", "ByteLengthQueuingStrategy", "BroadcastChannel", "BlobEvent", "Blob", "BiquadFilterNode", "BeforeUnloadEvent", "BeforeInstallPromptEvent", "BaseAudioContext", "BarProp", "AudioWorkletNode", "AudioSinkInfo", "AudioScheduledSourceNode", "AudioProcessingEvent", "AudioParamMap", "AudioParam", "AudioNode", "AudioListener", "AudioDestinationNode", "AudioData", "AudioContext", "AudioBufferSourceNode", "AudioBuffer", "Attr", "AnimationEvent", "AnimationEffect", "Animation", "AnalyserNode", "AbstractRange", "AbortSignal", "AbortController", "window", "self", "document", "name", "location", "customElements", "history", "navigation", "locationbar", "menubar", "personalbar", "scrollbars", "statusbar", "toolbar", "status", "closed", "frames", "length", "top", "opener", "parent", "frameElement", "navigator", "origin", "external", "screen", "innerWidth", "innerHeight", "scrollX", "pageXOffset", "scrollY", "pageYOffset", "visualViewport", "screenX", "screenY", "outerWidth", "outerHeight", "devicePixelRatio", "event", "clientInformation", "offscreenBuffering", "screenLeft", "screenTop", "styleMedia", "onsearch", "isSecureContext", "trustedTypes", "performance", "onappinstalled", "onbeforeinstallprompt", "crypto", "indexedDB", "sessionStorage", "localStorage", "onbeforexrselect", "onabort", "onbeforeinput", "onbeforetoggle", "onblur", "oncancel", "oncanplay", "oncanplaythrough", "onchange", "onclick", "onclose", "oncontextlost", "oncontextmenu", "oncontextrestored", "oncuechange", "ondblclick", "ondrag", "ondragend", "ondragenter", "ondragleave", "ondragover", "ondragstart", "ondrop", "ondurationchange", "onemptied", "onended", "onerror", "onfocus", "onformdata", "oninput", "oninvalid", "onkeydown", "onkeypress", "onkeyup", "onload", "onloadeddata", "onloadedmetadata", "onloadstart", "onmousedown", "onmouseenter", "onmouseleave", "onmousemove", "onmouseout", "onmouseover", "onmouseup", "onmousewheel", "onpause", "onplay", "onplaying", "onprogress", "onratechange", "onreset", "onresize", "onscroll", "onsecuritypolicyviolation", "onseeked", "onseeking", "onselect", "onslotchange", "onstalled", "onsubmit", "onsuspend", "ontimeupdate", "ontoggle", "onvolumechange", "onwaiting", "onwebkitanimationend", "onwebkitanimationiteration", "onwebkitanimationstart", "onwebkittransitionend", "onwheel", "onauxclick", "ongotpointercapture", "onlostpointercapture", "onpointerdown", "onpointermove", "onpointerrawupdate", "onpointerup", "onpointercancel", "onpointerover", "onpointerout", "onpointerenter", "onpointerleave", "onselectstart", "onselectionchange", "onanimationend", "onanimationiteration", "onanimationstart", "ontransitionrun", "ontransitionstart", "ontransitionend", "ontransitioncancel", "onafterprint", "onbeforeprint", "onbeforeunload", "onhashchange", "onlanguagechange", "onmessage", "onmessageerror", "onoffline", "ononline", "onpagehide", "onpageshow", "onpopstate", "onrejectionhandled", "onstorage", "onunhandledrejection", "onunload", "crossOriginIsolated", "scheduler", "alert", "atob", "blur", "btoa", "cancelAnimationFrame", "cancelIdleCallback", "captureEvents", "clearInterval", "clearTimeout", "close", "confirm", "createImageBitmap", "fetch", "find", "focus", "getComputedStyle", "getSelection", "matchMedia", "moveBy", "moveTo", "open", "postMessage", "print", "prompt", "queueMicrotask", "releaseEvents", "reportError", "requestAnimationFrame", "requestIdleCallback", "resizeBy", "resizeTo", "scroll", "scrollBy", "scrollTo", "setInterval", "setTimeout", "stop", "structuredClone", "webkitCancelAnimationFrame", "webkitRequestAnimationFrame", "chrome", "WebAssembly", "fence", "caches", "cookieStore", "ondevicemotion", "ondeviceorientation", "ondeviceorientationabsolute", "launchQueue", "sharedStorage", "documentPictureInPicture", "onbeforematch", "ontouchcancel", "ontouchend", "ontouchmove", "ontouchstart", "AbsoluteOrientationSensor", "Accelerometer", "AudioDecoder", "AudioEncoder", "AudioWorklet", "BatteryManager", "Cache", "CacheStorage", "Clipboard", "ClipboardItem", "CookieChangeEvent", "CookieStore", "CookieStoreManager", "Credential", "CredentialsContainer", "CryptoKey", "DeviceMotionEvent", "DeviceMotionEventAcceleration", "DeviceMotionEventRotationRate", "DeviceOrientationEvent", "FederatedCredential", "GPU", "GPUAdapter", "GPUAdapterInfo", "GPUBindGroup", "GPUBindGroupLayout", "GPUBuffer", "GPUBufferUsage", "GPUCanvasContext", "GPUColorWrite", "GPUCommandBuffer", "GPUCommandEncoder", "GPUCompilationInfo", "GPUCompilationMessage", "GPUComputePassEncoder", "GPUComputePipeline", "GPUDevice", "GPUDeviceLostInfo", "GPUError", "GPUExternalTexture", "GPUInternalError", "GPUMapMode", "GPUOutOfMemoryError", "GPUPipelineError", "GPUPipelineLayout", "GPUQuerySet", "GPUQueue", "GPURenderBundle", "GPURenderBundleEncoder", "GPURenderPassEncoder", "GPURenderPipeline", "GPUSampler", "GPUShaderModule", "GPUShaderStage", "GPUSupportedFeatures", "GPUSupportedLimits", "GPUTexture", "GPUTextureUsage", "GPUTextureView", "GPUUncapturedErrorEvent", "GPUValidationError", "GravitySensor", "Gyroscope", "ImageDecoder", "Keyboard", "KeyboardLayoutMap", "LinearAccelerationSensor", "Lock", "LockManager", "MIDIAccess", "MIDIConnectionEvent", "MIDIInput", "MIDIInputMap", "MIDIMessageEvent", "MIDIOutput", "MIDIOutputMap", "MIDIPort", "MediaDeviceInfo", "MediaDevices", "MediaKeyMessageEvent", "MediaKeySession", "MediaKeyStatusMap", "MediaKeySystemAccess", "MediaKeys", "NavigationPreloadManager", "NavigatorManagedData", "OrientationSensor", "PasswordCredential", "RelativeOrientationSensor", "ScreenDetailed", "ScreenDetails", "Sensor", "SensorErrorEvent", "ServiceWorker", "ServiceWorkerContainer", "ServiceWorkerRegistration", "StorageManager", "SubtleCrypto", "VideoDecoder", "VideoEncoder", "VirtualKeyboard", "WGSLLanguageFeatures", "WebTransport", "WebTransportBidirectionalStream", "WebTransportDatagramDuplexStream", "WebTransportError", "Worklet", "XRDOMOverlayState", "XRLayer", "XRWebGLBinding", "AuthenticatorAssertionResponse", "AuthenticatorAttestationResponse", "AuthenticatorResponse", "PublicKeyCredential", "BarcodeDetector", "Bluetooth", "BluetoothCharacteristicProperties", "BluetoothDevice", "BluetoothRemoteGATTCharacteristic", "BluetoothRemoteGATTDescriptor", "BluetoothRemoteGATTServer", "BluetoothRemoteGATTService", "CaptureController", "DocumentPictureInPicture", "EyeDropper", "Fence", "FencedFrameConfig", "HTMLFencedFrameElement", "FileSystemDirectoryHandle", "FileSystemFileHandle", "FileSystemHandle", "FileSystemWritableFileStream", "FontData", "FragmentDirective", "HID", "HIDConnectionEvent", "HIDDevice", "HIDInputReportEvent", "IdentityCredential", "IdentityProvider", "IdentityCredentialError", "IdleDetector", "LaunchParams", "LaunchQueue", "NavigatorLogin", "OTPCredential", "PaymentAddress", "PaymentRequest", "PaymentResponse", "PaymentMethodChangeEvent", "Presentation", "PresentationAvailability", "PresentationConnection", "PresentationConnectionAvailableEvent", "PresentationConnectionCloseEvent", "PresentationConnectionList", "PresentationReceiver", "PresentationRequest", "Serial", "SerialPort", "SharedStorage", "SharedStorageWorklet", "USB", "USBAlternateInterface", "USBConfiguration", "USBConnectionEvent", "USBDevice", "USBEndpoint", "USBInTransferResult", "USBInterface", "USBIsochronousInTransferPacket", "USBIsochronousInTransferResult", "USBIsochronousOutTransferPacket", "USBIsochronousOutTransferResult", "USBOutTransferResult", "WakeLock", "WakeLockSentinel", "WindowControlsOverlay", "WindowControlsOverlayGeometryChangeEvent", "XRAnchor", "XRAnchorSet", "XRBoundedReferenceSpace", "XRCPUDepthInformation", "XRCamera", "XRDepthInformation", "XRFrame", "XRHitTestResult", "XRHitTestSource", "XRInputSource", "XRInputSourceArray", "XRInputSourceEvent", "XRInputSourcesChangeEvent", "XRLightEstimate", "XRLightProbe", "XRPose", "XRRay", "XRReferenceSpace", "XRReferenceSpaceEvent", "XRRenderState", "XRRigidTransform", "XRSession", "XRSessionEvent", "XRSpace", "XRSystem", "XRTransientInputHitTestResult", "XRTransientInputHitTestSource", "XRView", "XRViewerPose", "XRViewport", "XRWebGLDepthInformation", "XRWebGLLayer", "getScreenDetails", "queryLocalFonts", "showDirectoryPicker", "showOpenFilePicker", "showSaveFilePicker", "originAgentCluster", "onorientationchange", "orientation", "credentialless", "speechSynthesis", "oncontentvisibilityautostatechange", "onscrollend", "AnimationPlaybackEvent", "AnimationTimeline", "CSSAnimation", "CSSTransition", "DocumentTimeline", "BackgroundFetchManager", "BackgroundFetchRecord", "BackgroundFetchRegistration", "BluetoothUUID", "BrowserCaptureMediaStreamTrack", "CropTarget", "CSSScopeRule", "CSSStartingStyleRule", "CloseWatcher", "ContentVisibilityAutoStateChangeEvent", "DelegatedInkTrailPresenter", "Ink", "DocumentPictureInPictureEvent", "Highlight", "HighlightRegistry", "MediaMetadata", "MediaSession", "MutationEvent", "NavigatorUAData", "Notification", "PaymentManager", "PaymentRequestUpdateEvent", "PeriodicSyncManager", "PermissionStatus", "Permissions", "PushManager", "PushSubscription", "PushSubscriptionOptions", "RemotePlayback", "ScrollTimeline", "ViewTimeline", "SharedWorker", "SpeechSynthesisErrorEvent", "SpeechSynthesisEvent", "SpeechSynthesisUtterance", "VideoPlaybackQuality", "VisibilityStateEntry", "webkitSpeechGrammar", "webkitSpeechGrammarList", "webkitSpeechRecognition", "webkitSpeechRecognitionError", "webkitSpeechRecognitionEvent", "webkitRequestFileSystem"],
    "locationprops": ["ancestorOrigins", "href", "origin", "protocol", "host", "hostname", "port", "pathname", "search", "hash", "assign", "reload", "replace", "toString"],
    "mathprops": ["abs", "acos", "acosh", "asin", "asinh", "atan", "atanh", "atan2", "ceil", "cbrt", "expm1", "clz32", "cos", "cosh", "exp", "floor", "fround", "hypot", "imul", "log", "log1p", "log2", "log10", "max", "min", "pow", "random", "round", "sign", "sin", "sinh", "sqrt", "tan", "tanh", "trunc", "E", "LN10", "LN2", "LOG10E", "LOG2E", "PI", "SQRT1_2", "SQRT2"],
    "funcs": [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1],
    "funcs2": [0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0],
    "documentfunc": [0, 1, 1, 1, 1, 0, 1, 0],
    "bodyfunc": [0, 1, 0, 0, 1],
    "navigatorfunc": [1, 1, 1, 1, 1, 1]
}


// var crypto = require('crypto');
// const {proxy} = require("./jsdom/lib/jsdom/living/generated/utils");
module = undefined;
process = undefined;
__dirname = undefined;
__filename = undefined;
require = undefined;
var stackTrace = {};
var idx = 0;
var arrs = {};
console.time("处理完毕，耗时");
Object.defineProperty(console, 'Console', {
    enumerable: false,
    configurable: false,
    writable: false,
})
Object.defineProperties(console, {
    createTask: {
        value: v_saf(function createTask() {
        }),
        enumerable: true,
        configurable: true,
        writable: false,
    },
    memory: {
        value: v_saf(function memory() {
        }),
        enumerable: true,
        configurable: true,
        writable: false,
    }
})
console.Console = undefined;
console.log(Object.keys(Object.getOwnPropertyDescriptors(console)))
// if (!_process.argv[3]){
Date.now = function now() {
    return 1703561132362
};
Date.parse = function () {
    return 1703561132362
};
Date.prototype.valueOf = function () {
    return 1703561132362
};
Date.prototype.getTime = function () {
    return 1703561132362
};
Date.prototype.toString = function () {
    return 1703561132362
};
Performance.prototype.now = function now() {
    return Number('1703561132362'.slice(8))
}

Math.random = function random() {
    return 0.08636862211354912
};
// }


Date.prototype.toString = v_saf(function () {
    try {
        return this.getTime()
    } catch (e) {
        return Date.now()
    }
}, 'toString')
debug = false;
dtavm = {}
v_events = {}
v_start_stamp = Date.now()

dtavm.log = console.log


var v_console_logger = console.log
var v_console_log = console.log
// console.log = function () {}
window = this;


window.ENV = ENV
window.Intl = Intl
window = v_saf(window)
window.window = window

window.Promise = Promise
window.ReadableStream = v_saf(function ReadableStream() {
})
window.TransformStream = v_saf(function TransformStream() {
})
window.SubmitEvent = v_saf(function SubmitEvent() {
})


window.CSS = proxy({
    supports: function () {
        print('CSS.supports', arguments)
        return true;
    }
}, 'CSS')

window.structuredClone = v_saf(function structuredClone() {
    throw TypeError("Uncaught DOMException: Failed to execute 'structuredClone' on 'Window'")
})
// window = new Proxy(window, {
//     get(target, p, receiver) {
//         // if (p === 'addEventListener'){
//         //     debugger;
//         // }
//         let res = Reflect.get(target, p, receiver);
//         if (!['Array', 'Math', 'Function', 'Object', 'ENV', 'UIEvent'].includes(p))console.log('get window', p, typeof res)
//         // console.log(Reflect.get(target, '_cf_chl_ctx', receiver))
//
//         if (!['_registeredHandlers', 'window', 'Array', 'Math', 'Function', 'Object', 'ENV', 'UIEvent'].includes(p) && res && typeof res === 'object' && typeof p !== 'symbol' && p !== 'removeEventListener') {
//             return proxy(res, p)
//         }
//         return res;
//     },
//     set(target, p, newValue, receiver) {
//         // console.log('set window', p, newValue)
//         if (typeof newValue === 'string' && newValue.startsWith('3g')) {
//             _console(newValue)
//             // process.exit(0)
//         }
//         Reflect.set(target, p, newValue, receiver)
//     }
// });


// let HeaderGeneratorOptions = require('header-generator').HeaderGeneratorOptions


_console2 = console.log
// Math.random = function (){
//     _console2("call random")
//     return 0.12364546
// }
//
// _date = Date
// ssssssss = new _date('2023-05-14T03:24:00')
// Date = function() {
//     return ssssssss;
// }
// Date.__proto__ = _date

// var _hasOwnProperty = Object.hasOwnProperty;
// Object.hasOwnProperty = function (){
//     let res =  _hasOwnProperty.apply(this, arguments);
//     print('Object.hasOwnProperty', arguments, res === undefined);
//     if (arguments[1] === 'createElement')debugger;
//     return res;
// }
// var _getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
// Object.getOwnPropertyDescriptor = function (){
//     let res =  _getOwnPropertyDescriptor.apply(this, arguments);
//     print('Object.getOwnPropertyDescriptor', arguments[1], res === undefined);
//     if (arguments[1] === 'createElement')debugger;
//
//     return res;
// }
function aaProxy(obj, name) {
    // return obj;
    return new Proxy(obj, {
        get(target, propKey, receiver) { //拦截对象属性的读取，比如proxy.foo和proxy['foo']。
            let temp = Reflect.get(target, propKey, receiver);
            print(`${name} -> get ${propKey.toString()} return -> ${temp == undefined}`);
            if (typeof temp == 'object') {
                temp = myProxy(temp, name + " => " + propKey)
            }
            return temp;
        },
        set(target, propKey, value, receiver) { //拦截对象属性的设置，比如proxy.foo = v或proxy['foo'] = v，返回一个布尔值。
            const temp = Reflect.set(target, propKey, value, receiver);
            print(`${name} -> set ${propKey} value -> ${value}`);
            // if (propKey == 'pathname')debugger;
            return temp;
        },
        has(target, propKey) { //拦截propKey in proxy的操作，返回一个布尔值。
            const temp = Reflect.has(target, propKey);
            try {
                print(`${name} -> has ${propKey}`, temp);
            } catch (e) {
            }
            return temp;
        },
        deleteProperty(target, propKey) { //拦截delete proxy[propKey]的操作，返回一个布尔值。
            const temp = Reflect.deleteProperty(target, propKey);
            return temp;
        },
        ownKeys(target) { //拦截Object.getOwnPropertyNames(proxy)、Object.getOwnPropertySymbols(proxy)、Object.keys(proxy)、for...in循环，返回一个数组。该方法返回目标对象所有自身的属性的属性名，而Object.keys()的返回结果仅包括目标对象自身的可遍历属性。
            const temp = Reflect.ownKeys(target);
            return temp;
        },
        getOwnPropertyDescriptor(target, propKey) { //拦截Object.getOwnPropertyDescriptor(proxy, propKey)，返回属性的描述对象。
            const temp = Reflect.getOwnPropertyDescriptor(target, propKey);
            return temp;
        },
        defineProperty(target, propKey, propDesc) { //拦截Object.defineProperty(proxy, propKey, propDesc）、Object.defineProperties(proxy, propDescs)，返回一个布尔值。
            const temp = Reflect.defineProperty(target, propKey, propDesc);
            return temp;
        },
        preventExtensions(target) { //拦截Object.preventExtensions(proxy)，返回一个布尔值。
            const temp = Reflect.preventExtensions(target);
            return temp;
        },
        getPrototypeOf(target) { //拦截Object.getPrototypeOf(proxy)，返回一个对象。
            const temp = Reflect.getPrototypeOf(target);
            return temp;
        },
        isExtensible(target) { //拦截Object.isExtensible(proxy)，返回一个布尔值。
            const temp = Reflect.isExtensible(target);
            return temp;
        },
        setPrototypeOf(target, proto) { //拦截Object.setPrototypeOf(proxy, proto)，返回一个布尔值。如果目标对象是函数，那么还有两种额外操作可以拦截。
            const temp = Reflect.setPrototypeOf(target, proto);
            return temp;
        },
        apply(target, object, args) { //拦截 Proxy 实例作为函数调用的操作，比如proxy(...args)、proxy.call(object, ...args)、proxy.apply(...)。
            const temp = Reflect.apply(target, object, args);
            return temp;
        },
        construct(target, args) { //拦截 Proxy 实例作为构造函数调用的操作，比如new proxy(...args)。
            const temp = Reflect.construct(target, args);
            return temp;
        }
    })
}

// dtavm.proxy =
debug = false
var v_saf;
!function () {
    var n = Function.toString, t = [], i = [], o = [].indexOf.bind(t), e = [].push.bind(t), r = [].push.bind(i);

    function u(n, t, nn) {
        tt = ''
        if (nn) {
            tt = ' ' + nn
        }
        return -1 == o(n) && (e(n), r(`function${tt} ${t || n.name || ""}() { [native code] }`.replaceAll("get get", 'get').replaceAll("set set", 'set').replaceAll("get  get", 'get').replaceAll("set  set", 'set'))), n
    }

    Object.defineProperty(Function.prototype, "toString", {
        enumerable: !1,
        configurable: !0,
        writable: !0,
        value: function () {
            let res = "function" == typeof this && i[o(this)] || n.call(this)
            // print('toString', arguments, '|||', 'res', res)

            return res;
        }
    }), u(Function.prototype.toString, "toString"), v_saf = u
}();

function v_hook_href(obj, name, initurl) {
    var r = Object.defineProperty(obj, 'href', {
        get: function () {
            if (!(this.protocol) && !(this.host)) {
                r = ''
            } else {
                r = this.protocol + "//" + this.host + (this.port ? ":" + this.port : "") + this.pathname + this.search + this.hash;
            }
            // v_console_log(`  [*] ${name||obj.constructor.name} -> href[get]:`, JSON.stringify(r))
            return r
        },
        set: function (href) {
            href = href.trim()
            v_console_log(`  [*] ${name || obj.constructor.name} -> href[set]:`, JSON.stringify(href))
            if (href.startsWith("http://") || href.startsWith("https://")) {/*ok*/
            } else if (href.startsWith("//")) {
                href = (this.protocol ? this.protocol : 'http:') + href
            } else {
                href = this.protocol + "//" + this.host + (this.port ? ":" + this.port : "") + '/' + ((href[0] == '/') ? href.slice(1) : href)
            }
            var a = href.match(/([^:]+:)\/\/([^/:?#]+):?(\d+)?([^?#]*)?(\?[^#]*)?(#.*)?/);
            this.protocol = a[1] ? a[1] : "";
            this.host = a[2] ? a[2] : "";
            this.port = a[3] ? a[3] : "";
            this.pathname = a[4] ? a[4] : "";
            this.search = a[5] ? a[5] : "";
            this.hash = a[6] ? a[6] : "";
            this.hostname = this.host;
            this.origin = this.protocol + "//" + this.host + (this.port ? ":" + this.port : "");
        }
    });
    // r = Object.defineProperty(r, 'search', {
    //     get: function(){
    //         v_console_log(`  [*] ${name||obj.constructor.name} -> search[get]:`, this.search)
    //
    //         // v_console_log(`  [*] ${name||obj.constructor.name} -> href[get]:`, JSON.stringify(r))
    //         return this.search_
    //     },
    //     set: function(href){
    //         v_console_log(`  [*] ${name||obj.constructor.name} -> search[set]:`, href)
    //
    //         this.search_ = href
    //     }
    // });
    if (initurl && initurl.trim()) {
        var temp = v_new_toggle;
        v_new_toggle = true;
        r.href = initurl;
        v_new_toggle = temp;
    }

    return r
}

function _inherits(t, e) {
    t.prototype = Object.create(e.prototype, {
        constructor: {value: t, writable: !0, configurable: !0}
    }), e && Object.setPrototypeOf(t, e)
}

// Object.defineProperty(Object.prototype, Symbol.toStringTag, {
//     get() { return Object.getPrototypeOf(this).constructor.name }
// });
var v_new_toggle = true
Object.freeze(console)//only for javascript-obfuscator anti console debug.

v_console_log = function () {
}
var v_random = (function () {
    var seed = 276951438;
    return function random() {
        return seed = (seed * 9301 + 49297) % 233280, (seed / 233280)
    }
})()
var v_new = function (v, tagName) {
    var temp = v_new_toggle;
    v_new_toggle = true;
    var r = new v;
    v_new_toggle = temp;
    if (tagName) {
        Object.defineProperties(r, {
            tagName: {
                get() {
                    return tagName
                }
            },
            children: {
                get() {
                    return new HTMLCollection
                }
            }
        })
        r = proxy(r, tagName)
    }
    return r
}


RTCSessionDescription = v_saf(function RTCSessionDescription() {
    ;
})

EventTarget = v_saf(function EventTarget() {
    ;
})

CanvasGradient = v_saf(function CanvasGradient() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})


NavigatorUAData = v_saf(function NavigatorUAData() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})

NodeList = v_saf(function NodeList() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
HTMLCollection = v_saf(function HTMLCollection() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
HTMLAllCollection = v_saf(function HTMLAllCollection(arrs) {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;this.items == allNodes
})
Object.defineProperties(HTMLAllCollection.prototype, {
    items: {value: {}},
    item: {
        value: v_saf(function item() {

        })
    },
    length: {
        value: 0
    },
    namedItem: {
        value: v_saf(function namedItem() {

        })
    }
})
DOMTokenList = v_saf(function DOMTokenList() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
Event = v_saf(function Event() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})

Bluetooth = v_saf(function Bluetooth() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
CredentialsContainer = v_saf(function CredentialsContainer() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
Navigator = v_saf(function Navigator() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;this._plugins = typeof PluginArray == 'undefined' ? [] : v_new(PluginArray);
    this._mimeTypes = typeof MimeTypeArray == 'undefined' ? [] : v_new(MimeTypeArray)
})


navis = {
    appCodeName: "Mozilla",
    appName: ENV.navigatorparams.appname,
    appVersion: ENV.navigatorparams.appversion,
    language: "en-US",
    languages: ['en-US', 'en', 'ru'],
    maxTouchPoints: 0,
    platform: ENV.navigatorparams.platform,
    product: ENV.navigatorparams.product,
    productSub: ENV.navigatorparams.productsub,
    userAgent: ENV.navigatorparams.useragent,
    vendor: ENV.navigatorparams.vendor,
    vendorSub: "",
    webdriver: false,
    hardwareconcurrency: ENV.navigatorparams.hardwareconcurrency
}
// ENV.navigatorparams.useragent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.203'
// navis.userAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.203'
// navis.appVersion = '5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.203'
// navis = fingerprint.navigator
Object.defineProperties(Navigator.prototype, {
    mediaDevices: {
        get() {
            v_console_log("  [*] Navigator -> mediaDevices[get]",);
            return v_new(MediaDevices)
        }
    },
    // cpuClass: {
    //     get(){
    //         v_console_log("  [*] Navigator -> cpuClass[get]", this._plugins || []);
    //         return ''
    //     }
    // },
    plugins: {
        get: v_saf(function plugins() {
            v_console_log("  [*] Navigator -> plugins[get]", this._plugins || []);
            // if (Object.keys(ENV.plugins).length === 0) {
            //     return [];
            // }
            return proxy(this._plugins || [], 'pluginsss')
        }, undefined, 'get'),
        enumerable: true,
        configurable: true
    },
    mimeTypes: {
        get: v_saf(function mimeTypes() {
            v_console_log("  [*] Navigator -> mimeTypes[get]", this._mimeTypes || []);
            // if (ENV.mimetypes.length === 0) {
            //     return [];
            // }
            return this._mimeTypes || []
        }, undefined, 'get'),
        enumerable: true,
        configurable: true
    },
    appCodeName: {
        get() {
            v_console_log("  [*] Navigator -> appCodeName[get]", "Mozilla");
            // return "Mozilla"
            return navis.appCodeName
        }
    },
    appName: {
        get() {
            v_console_log("  [*] Navigator -> appName[get]", "Netscape");
            // return "Netscape"
            return navis.appName
        }
    },
    appVersion: {
        get() {
            v_console_log("  [*] Navigator -> appVersion[get]", "5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.62");
            // return "5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.62"
            return navis.appVersion
        }
    },
    hardwareConcurrency: {
        get() {
            v_console_log("  [*] Navigator -> hardwareConcurrency[get]", 8);
            return navis.hardwareconcurrency
        }
    },
    maxTouchPoints: {
        get() {
            v_console_log("  [*] Navigator -> maxTouchPoints[get]", 0);
            return 0
        }
    },
    platform: {
        get() {
            v_console_log("  [*] Navigator -> platform[get]", "MacIntel");
            return navis.platform
        }
    },
    product: {
        get() {
            v_console_log("  [*] Navigator -> product[get]", "Gecko");
            return navis.product
        }
    },
    productSub: {
        get() {
            v_console_log("  [*] Navigator -> productSub[get]", "20030107");
            return navis.productSub
        }
    },
    userAgent: {
        get: v_saf(function userAgent() {

            v_console_log("  [*] Navigator -> userAgent[get]", navis.userAgent);
            // return "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.62"
            return navis.userAgent
        }, undefined, 'get')
    },
    vendor: {
        get: v_saf(function vendor() {
            v_console_log("  [*] Navigator -> vendor[get]", navis.vendor);
            return navis.vendor
        }, undefined, 'get')
    },
    vendorSub: {
        get() {
            v_console_log("  [*] Navigator -> vendorSub[get]", navis.vendorSub);
            return navis.vendorSub
        }
    },
    doNotTrack: {
        get() {
            v_console_log("  [*] Navigator -> doNotTrack[get]", null);
            return null
        }
    },
    webdriver: {
        get() {
            v_console_log("  [*] Navigator -> webdriver[get]", false);
            return false
        }
    },
    geolocation: {
        get() {
            v_console_log("  [*] Navigator -> geolocation[get]", {});
            return {}
        }
    },
    bluetooth: {
        get() {
            v_console_log("  [*] Navigator -> bluetooth[get]", {});
            return v_new(Bluetooth)
        }
    },
    credentials: {
        get() {
            v_console_log("  [*] Navigator -> credentials[get]", {});
            return v_new(CredentialsContainer)
        }
    },
    languages: {
        get() {
            v_console_log("  [*] Navigator -> languages[get]", {});
            return ['en-US', 'en', 'ru']
        }
    },
    language: {
        get() {
            v_console_log("  [*] Navigator -> language[get]", {});
            return 'en-US'
        }
    },
    connection: {
        get() {
            v_console_log("  [*] Navigator -> connection[get]", {});
            return {}
        }
    },
    vibrate: {
        get() {
            v_console_log("  [*] Navigator -> vibrate[get]", {});
            return {}
        }
    },
    storage: {
        get() {
            v_console_log("  [*] Navigator -> storage[get]", {});
            return {}
        }
    },
    requestMediaKeySystemAccess: {
        get() {
            v_console_log("  [*] Navigator -> requestMediaKeySystemAccess[get]", {});
            return v_saf(function requestMediaKeySystemAccess() {
            })
        }
    },
    userAgentData: {
        get: v_saf(function () {
            if (Object.keys(window.ENV.useragentdata).length !== 0) {
                return {
                    // "brands": [{"brand": "Not/A)Brand", "version": "99"}, {
                    //     "brand": "Google Chrome",
                    //     "version": "115"
                    // }, {"brand": "Chromium", "version": "115"}],
                    // "mobile": false, "platform": "macOS",
                    "brands": window.ENV.useragentdata.brands,
                    "mobile": window.ENV.useragentdata.mobile,
                    "platform": window.ENV.useragentdata.platform,
                    getHighEntropyValues: function (e) {
                        let r;
                        switch (e[0]) {
                            case 'architecture':
                                r = {
                                    "architecture": window.ENV.useragentdata.highvalue[e[0].toLowerCase()],
                                    "brands": window.ENV.useragentdata.brands,
                                    "mobile": window.ENV.useragentdata.mobile,
                                    "platform": window.ENV.useragentdata.platform
                                }
                                break;
                            case 'bitness':
                                r = {
                                    "bitness": window.ENV.useragentdata.highvalue[e[0].toLowerCase()],
                                    "brands": window.ENV.useragentdata.brands,
                                    "mobile": window.ENV.useragentdata.mobile,
                                    "platform": window.ENV.useragentdata.platform
                                }
                                break;
                            case 'brands':
                                r = {
                                    "brands": window.ENV.useragentdata.highvalue[e[0].toLowerCase()],
                                    "mobile": window.ENV.useragentdata.mobile,
                                    "platform": window.ENV.useragentdata.platform
                                }
                                break;
                            case 'mobile':
                                r = {
                                    "brands": window.ENV.useragentdata.highvalue[e[0].toLowerCase()],
                                    "mobile": window.ENV.useragentdata.mobile,
                                    "platform": window.ENV.useragentdata.platform
                                }
                                break;
                            case 'model':
                                r = {
                                    "model": window.ENV.useragentdata.highvalue[e[0].toLowerCase()],
                                    "brands": window.ENV.useragentdata.brands,
                                    "mobile": window.ENV.useragentdata.mobile,
                                    "platform": window.ENV.useragentdata.platform
                                }
                                break;
                            case 'platform':
                                r = {
                                    "brands": window.ENV.useragentdata.brands,
                                    "mobile": window.ENV.useragentdata.mobile,
                                    "platform": window.ENV.useragentdata.platform
                                }
                                break;
                            case 'platformVersion':
                                r = {
                                    "platformVersion": window.ENV.useragentdata.highvalue[e[0].toLowerCase()],
                                    "brands": window.ENV.useragentdata.brands,
                                    "mobile": window.ENV.useragentdata.mobile,
                                    "platform": window.ENV.useragentdata.platform
                                }
                                break;
                            case 'uaFullVersion':
                                r = {
                                    "uaFullVersion": window.ENV.useragentdata.highvalue[e[0].toLowerCase()],
                                    "brands": window.ENV.useragentdata.brands,
                                    "mobile": window.ENV.useragentdata.mobile,
                                    "platform": window.ENV.useragentdata.platform
                                }
                                break;
                            case 'wow64':
                                r = {
                                    "wow64": window.ENV.useragentdata.highvalue[e[0].toLowerCase()],
                                    "brands": window.ENV.useragentdata.brands,
                                    "mobile": window.ENV.useragentdata.mobile,
                                    "platform": window.ENV.useragentdata.platform
                                }
                                break;
                            case 'fullVersionList':
                                r = {
                                    "fullVersionList": window.ENV.useragentdata.highvalue[e[0].toLowerCase()],
                                    "brands": window.ENV.useragentdata.brands,
                                    "mobile": window.ENV.useragentdata.mobile,
                                    "platform": window.ENV.useragentdata.platform
                                }
                                break;


                        }
                        // r =

                        console.log('getHighEntropyValues', e, r)

                        return new Promise((resolve, reject) => {

                            resolve(r)
                        });
                    }
                }
            }
            return {}

        })
    },
    [Symbol.toStringTag]: {value: "Navigator", writable: false, enumerable: false, configurable: true},
})
TextMetrics = v_saf(function TextMetrics() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
Plugin = v_saf(function Plugin() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
MimeType = v_saf(function MimeType() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
Object.defineProperties(Plugin.prototype, {
    name: {value: '', writable: true},
    description: {value: '', writable: true},
    filename: {value: '', writable: true},
    length: {value: '', writable: true},
})
PluginArray = v_saf(function PluginArray() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
    for (let i = 0; i < Object.keys(ENV.plugins).length; i++) {
        this[i] = v_new(Plugin);
        let plugin = ENV.plugins[i];
        this[i].description = plugin.description;
        this[i].filename = plugin.filename;
        this[i].length = plugin.length;
        this[i].name = plugin.name;
        this[i]['0'] = plugin['0']
        this[i]['1'] = plugin['1']
        this[i]['application/pdf'] = plugin['application/pdf']
        this[i]['text/pdf'] = plugin['text/pdf']

    }
    console.log()
    // this[0] = v_new(Plugin);
    // this[0].description = "Portable Document Format";
    // this[0].filename = "internal-pdf-viewer";
    // this[0].length = 2;z
    // this[0].name = "PDF Viewer";
    // this[1] = v_new(Plugin);
    // this[1].description = "Portable Document Format";
    // this[1].filename = "internal-pdf-viewer";
    // this[1].length = 2;
    // this[1].name = "Chrome PDF Viewer";
    // this[2] = v_new(Plugin);
    // this[2].description = "Portable Document Format";
    // this[2].filename = "internal-pdf-viewer";
    // this[2].length = 2;
    // this[2].name = "Chromium PDF Viewer";
    // this[3] = v_new(Plugin);
    // this[3].description = "Portable Document Format";
    // this[3].filename = "internal-pdf-viewer";
    // this[3].length = 2;
    // this[3].name = "Microsoft Edge PDF Viewer";
    // this[4] = v_new(Plugin);
    // this[4].description = "Portable Document Format";
    // this[4].filename = "internal-pdf-viewer";
    // this[4].length = 2;
    // this[4].name = "WebKit built-in PDF";
})

MimeType = v_saf(function MimeType() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
WebKitMutationObserver = v_saf(function WebKitMutationObserver() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
crypto = v_saf(function Crypto() {

})

Object.defineProperties(crypto, {
    subtle: {
        value: v_saf(function SubtleCrypto() {
        })
    },
    getRandomValues: {
        value: v_saf(function () {
            var e = arguments[0];
            // if (!_process.argv[3]){
            return e.map(function (x, i) {
                return e[i] = 1073712824
            });
            // }
            // return e.map(function(x, i){return e[i]= parseInt(10737128244 * Math.random())});
        })
    }
})
window.crypto = crypto;
Image = v_saf(function Image() {
    ;
    return v_new(HTMLImageElement)
})
webkitResolveLocalFileSystemURL = v_saf(function webkitResolveLocalFileSystemURL() {
})
webkitRequestAnimationFrame = v_saf(function webkitRequestAnimationFrame() {
})
requestAnimationFrame = v_saf(function requestAnimationFrame() {
})


RTCDataChannel = v_saf(function RTCDataChannel() {
    ;
});
_inherits(RTCDataChannel, EventTarget)
Object.defineProperties(RTCDataChannel.prototype, {
    binaryType: {
        get() {
            print('  [*] RTCDataChannel -> binaryType[get] ', 'arraybuffer')
            return 'arraybuffer'
        }
    }
})
window.RTCDataChannel = RTCDataChannel;
Node = v_saf(function Node() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Node, EventTarget)

WebSocket = v_saf(function WebSocket() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(WebSocket, EventTarget)
let RTCPeerConnectionIceEvent = v_saf(function RTCPeerConnectionIceEvent() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(RTCPeerConnectionIceEvent, Event)
CompressionStream = v_saf(function CompressionStream() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.CompressionStream = CompressionStream;
LayoutShiftAttribution = v_saf(function LayoutShiftAttribution() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
window.LayoutShiftAttribution = LayoutShiftAttribution;
FeaturePolicy = v_saf(function FeaturePolicy() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});

Object.defineProperties(FeaturePolicy.prototype, {
    features: {
        value: function () {
            window.ENV.featurepolicy.features.sort(sortRandom)
            return window.ENV.featurepolicy.features
        },
        enumerable: true
    },
    allowedFeatures: {
        value: function () {
            window.ENV.featurepolicy.allowedfeatures.sort(sortRandom)
            return window.ENV.featurepolicy.allowedfeatures
        },
        enumerable: true
    },
    getAllowlistForFeature: {
        value: function () {
            return ['https://www.southwest.com/']
        },
        enumerable: true
    }
})

window.FeaturePolicy = FeaturePolicy;


MessageEvent = v_saf(function MessageEvent() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(MessageEvent, Event)
MediaQueryList = v_saf(function MediaQueryList() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(MediaQueryList, EventTarget)
UIEvent = v_saf(function UIEvent() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(UIEvent, Event)

Performance = v_saf(function Performance() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Performance, EventTarget)
XMLHttpRequestEventTarget = v_saf(function XMLHttpRequestEventTarget() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(XMLHttpRequestEventTarget, EventTarget)
Object.defineProperties(XMLHttpRequestEventTarget.prototype, {
    onloadstart: {enumerable: true, configurable: true, writable: true},
    onprogress: {enumerable: true, configurable: true, writable: true},
    onabort: {enumerable: true, configurable: true, writable: true},
    onerror: {enumerable: true, configurable: true, writable: true},
    onload: {enumerable: true, configurable: true, writable: true},
    ontimeout: {enumerable: true, configurable: true, writable: true},
    onloadend: {enumerable: true, configurable: true, writable: true},
    status: {
        get() {
            console.log("status_call222", arguments);
            return 0;
        }, enumerable: true, configurable: true
    },

})
Document = v_saf(function Document() {
    ;
});

_inherits(Document, Node)
Object.defineProperties(Document.prototype, {
        compatMode: {
            value: 'CSS1Compat'
        },
    all: {
            value: HTMLAllCollection
    },
    
    characterSet: {value: 'UTF-8'},
    charset: {value: 'UTF-8'},
    images: {value: [],},
    createEvent: {
        value: v_saf(function createEvent (type) {
            _console2('createEvent111', type)
            return {
                "isTrusted": true,
                type: '',
                detail: '',
                initCustomEvent: function (type, canBubble, cancelable, detail) {
                    _console2('initCustomEvent', type, detail)
                    this.type = type;
                    this.detail = detail;
                    // return {type, canBubble, cancelable, detail}
                }
            }
        })
    },
    createElement: {
        value: v_saf(function createElement(name) {
            return _createElement(name, 'createElement')
        }, undefined,),
        configurable: true,
        enumerable: true,
        writable: true
    },
    createElementNS: {
        value: v_saf(function createElementNS(name) {
            return _createElement(name, 'createElementNS')
        }, undefined,),
        configurable: true,
        enumerable: true,
        writable: true
    },
    featurePolicy: {
        get() {
            //todo
            v_console_log("  [*] Document -> featurePolicy[get]", {});
            return new FeaturePolicy()
        }
    },
    visibilityState: {
        get() {
            v_console_log("  [*] Document -> visibilityState[get]", "visible");
            return "visible"
        }
    },
    onreadystatechange: {"enumerable": true, "configurable": true},
    onmouseenter: {"enumerable": true, "configurable": true},
    onmouseleave: {"enumerable": true, "configurable": true},
    [Symbol.toStringTag]: {value: "Document", writable: false, enumerable: false, configurable: true},
})

Element = v_saf(function Element() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
MouseEvent = v_saf(function MouseEvent() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(MouseEvent, UIEvent)
KeyboardEvent = v_saf(function KeyboardEvent() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(KeyboardEvent, UIEvent)
XMLHttpRequest = v_saf(function XMLHttpRequest() {
    ;
});
_inherits(XMLHttpRequest, XMLHttpRequestEventTarget)
Object.defineProperties(XMLHttpRequest.prototype, {
    onload: {
        set(arg) {
            this.onloadFunc = arg
        }
    },
    onreadystatechange: {
        get() {
            print("onreadystatechange_call", )
        },set(arg) {
            print("onreadystatechange_call_set", )
        }, enumerable: true, configurable: true
    },
    headers: {enumerable: true, configurable: true, value: {}},
    readyState: {
        get() {
            print("readyState_call", )
        }, enumerable: true, configurable: true
    },
    timeout: {
        get() {
            console.log("timeout_call", arguments)
        }, enumerable: true, configurable: true
    },
    withCredentials: {
        get() {
            print("withCredentials_call", )
        }, enumerable: true, configurable: true
    },
    upload: {
        get() {
            print("upload_call", arguments)
        }, enumerable: true, configurable: true
    },
    responseURL: {
        get() {
            print("responseURL_call", arguments)
        }, enumerable: true, configurable: true
    },
    status: {
        get() {
            print("status_call");
            return 200;
        }, enumerable: true, configurable: true
    },
    statusText: {
        get() {
            print("statusText_call",)
        }, enumerable: true, configurable: true
    },
    responseType: {
        get() {
            print("responseType_call", arguments)
        }, enumerable: true, configurable: true
    },
    response: {
        get() {
            print("response_call", arguments)
        }, enumerable: true, configurable: true
    },
    responseText: {
        // value:
        get() {
            print("responseText_call", arguments);
            return 'XCoPtJ9gPB06ctwjsxwc0zbHkzdgP95I1vLrEBQKCcVRQzn1t0SBCpydqCodQXG19tZrBSCkVeJNThMr5jZaOd+dY11VB2n91WCcMrcQDRIDEZY+qkFSdP4aeStchilYFn936JfN6tiKSI2ByIA7JogGQY2GEHuhlSJAoC3bsthjVUCiXSGxoxybGl7i7k7HpgF4MpUYYKEiNg2pCHlggE2HBsOYqYWIdifI+E3BvF0mpSulH+xBgzjLImMmg5TcQt+Ixj6RLHWzcyZ2I1uSFLq8kYTUF59bYivmjdRvsFOgh0tReKCG+XXvWOgpHusevyxNSMLDoyOdx7Bq572B/4HnJ1MJ/rihYKI+FOSORlxZPVIGzNV32oMOx4NzWoxP2LNEVvzgJOwPO3Etr7NVHYjNxwFysszCcmKkYOklVlHW9O2d75MjhI6vp9aHmQ/uZsslMOVatSuFK7bEGF+zdBJ2B185zfdiRfwBev0Dubx0Le1bYA2UKR/Qpi6qId9HOtiqfGF4i+IL7Z4fsw/mO16K8NX20tpN+NFIjRLikqVS8T0zY8hKK/ebe/Alsg49VTJk+3j3ABlnpiHOog5UkiL/Z3bC+/FOqPv+yDD8KCGAlU0qJQ+61AtVDDK7KXIJ8sf9m9Kympz6sRFm7tmcLlUG+Unu39QubsXp/XgYPrd0ZjFTMs8kc8rKjJKoOSOhcpZNYk9VljVNw1y2y9ODkHTfutUyD9X+Up0qRRm9QJrXZyJ8srO8OygO7A22x+kzcqM2P/4bXeBvFoHGo3vDI0eUSXZY4uOZzdEFneEOVZjVmjPfbwSgKtmwBPDHbhxpXCCgCfQNwff/jq1s1byGXAqz2V+7n5inOMI0IZZYwTbEihlitmZZSGC2bMssPRJ1x7gJ+M1VSkL5ysYeAPDvIg=='
        }
    },
    responseXML: {
        get() {
            print("responseXML_call", arguments)
        }, enumerable: true, configurable: true
    },
    UNSENT: {
        get() {
            print("UNSENT_call", arguments)
        }, enumerable: true, configurable: true
    },
    OPENED: {
        get() {
            print("OPENED_call", arguments)
        }, enumerable: true, configurable: true
    },
    HEADERS_RECEIVED: {
        get() {
            print("HEADERS_RECEIVED_call", arguments)
        }, enumerable: true, configurable: true
    },
    LOADING: {
        get() {
            print("LOADING_call", arguments)
        }, enumerable: true, configurable: true
    },
    DONE: {
        get() {
            print("DONE_call", arguments)
        }, enumerable: true, configurable: true
    },
    abort: {
        get() {
            print("abort_call", arguments)
        }, enumerable: true, configurabled: true
    },
    getAllResponseHeaders: {
        get() {
            print("getAllResponseHeaders_call", arguments)
        }, enumerable: true, configurable: true
    },
    getResponseHeader: {
        get() {
            print("getResponseHeader_call", arguments)
        }, enumerable: true, configurable: true
    },
    open: {
        // value:{func(){console.log("open_call", arguments)}}.func, enumerable: true, configurable: true
        value: v_saf((method, url, async) => {
            print("open_call", method, url, async)
        }, 'open'), enumerable: true, configurable: true
    },
    overrideMimeType: {
        get() {
            print("overrideMimeType_call", arguments)
        }, enumerable: true, configurable: true
    },
    send: {
        value: v_saf(function () {
             debugger;
            this.onloadFunc && this.onloadFunc(this)
        }, 'send'), enumerable: true, configurable: true
    },
    setRequestHeader: {
        value: v_saf(function () {
            print("setRequestHeader_call", arguments, arguments[1].length);
            this.headers[arguments[0].toLowerCase()] = arguments[1];
            if (arguments[0] === 'EE30zvQLWf-b') {
                console.log(this.headers)
            }
            ;
        }, undefined, undefined), enumerable: true, configurable: true
    },
})
// XMLHttpRequest.prototype.open = function(){
//     console.log("xhr_call_open", arguments)
// }
// XMLHttpRequest.prototype.send = function(){
//     console.log("xhr_call_send", arguments)
// }
// XMLHttpRequest.prototype.setRequestHeader = function(){
//     console.log("xhr_setRequestHeader_send", arguments)
// }


function v_init_event_target() {

    function _mk_mouse_event(type, canBubble, cancelable, view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget) {
        if (type == 'click') {
            var m = new PointerEvent()
            m.pointerType = "mouse"
        } else {
            var m = new MouseEvent()
        }
        m.isTrusted = true
        m.type = type
        m.canBubble = canBubble
        m.cancelable = cancelable
        m.view = view
        m.detail = detail
        m.screenX = screenX;
        m.movementX = screenX
        m.screenY = screenY;
        m.movementY = screenY
        m.clientX = clientX;
        m.layerX = clientX;
        m.offsetX = clientX;
        m.pageX = clientX;
        m.x = clientX;
        m.clientY = clientY;
        m.layerY = clientY;
        m.offsetY = clientY;
        m.pageY = clientY;
        m.y = clientY;
        m.ctrlKey = ctrlKey
        m.altKey = altKey
        m.shiftKey = shiftKey
        m.metaKey = metaKey
        m.button = button
        m.relatedTarget = relatedTarget
        // print(m   )
        return m
    }

    function make_mouse(type, x, y) {
        return _mk_mouse_event(type, true, true, window, 0, 0, 0, x, y, false, false, false, false, 0, null)
    }

    function mouse_click(x, y) {
        for (var i = 0; i < (v_events['click'] || []).length; i++) {
            v_events['click'][i][1](make_mouse('click', x, y))
        }
        for (var i = 0; i < (v_events['mousedown'] || []).length; i++) {
            v_events['mousedown'][i][1](make_mouse('mousedown', x, y))
        }
        for (var i = 0; i < (v_events['mouseup'] || []).length; i++) {
            v_events['mouseup'][i][1](make_mouse('mouseup', x, y))
        }
    }

    var offr = Math.random()

    function make_touch(_this, type, x, y, timeStamp) {
        var offx = _random()
        var offy = _random()
        var t = v_new(new v_saf(function Touch() {
        }))
        t = clientX = offx + x
        t = clientY = offy + y
        t = force = 1
        t = identifier = 0
        t = pageX = offx + x
        t = pageY = offy + y
        t = radiusX = 28 + offr
        t = radiusY = 28 + offr
        t = rotationAngle = 0
        t = screenX = 0
        t = screenY = 0
        var e = v_new(new v_saf(function TouchEvent() {
        }))
        e.isTrusted = true
        e.altKey = false
        e.bubbles = true
        e.cancelBubble = false
        e.cancelable = false
        e.changedTouches = e.targetTouches = e.touches = [t]
        e.composed = true
        e.ctrlKey = false
        e.currentTarget = null
        e.defaultPrevented = false
        e.detail = 0
        e.eventPhase = 0
        e.metaKey = false
        e.path = _this == window ? [window] : [_this, window]
        e.returnValue = true
        e.shiftKey = false
        e.sourceCapabilities = new v_saf(function InputDeviceCapabilities() {
            this.firesTouchEvents = true
        })
        e.srcElement = _this
        e.target = _this
        e.type = type
        e.timeStamp = timeStamp == undefined ? (new Date - v_start_stamp) : ((v_fake_stamp += _random() * 20) - v_start_stamp)
        e.view = window
        e.which = 0
        return e
    }

    function make_trace(x1, y1, x2, y2) {
        // 贝塞尔曲线
        function step_len(x1, y1, x2, y2) {
            var ln = ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** 0.5
            return (ln / 10) ^ 0
        }

        var slen = step_len(x1, y1, x2, y2)
        if (slen < 3) {
            return []
        }

        function factorial(x) {
            for (var y = 1; x > 1; x--) {
                y *= x
            }
            return y;
        }

        var lp = _random()
        var rp = _random()
        var xx1 = (x1 + (x2 - x1) / 12 * (4 - lp * 4)) ^ 0
        var yy1 = (y1 + (y2 - y1) / 12 * (8 + lp * 4)) ^ 0
        var xx2 = (x1 + (x2 - x1) / 12 * (8 + rp * 4)) ^ 0
        var yy2 = (y1 + (y2 - y1) / 12 * (4 - rp * 4)) ^ 0
        var points = [[x1, y1], [xx1, yy1], [xx2, yy2], [x2, y2]]
        var N = points.length
        var n = N - 1
        var traces = []
        var step = slen
        for (var T = 0; T < step + 1; T++) {
            var t = T * (1 / step)
            var x = 0
            var y = 0
            for (var i = 0; i < N; i++) {
                var B = factorial(n) * t ** i * (1 - t) ** (n - i) / (factorial(i) * factorial(n - i))
                x += points[i][0] * B
                y += points[i][1] * B
            }
            traces.push([x ^ 0, y ^ 0])
        }
        return traces
    }

    function touch(x1, y1, x2, y2) {
        if (x2 == undefined && y2 == undefined) {
            x2 = x1
            y2 = y1
        }
        var traces = make_trace(x1, y1, x2, y2)
        console.log('traces:', traces)
        for (var i = 0; i < (v_events['touchstart'] || []).length; i++) {
            v_events['touchstart'][i][1](make_touch(v_events['touchstart'][i][0], 'touchstart', x1, y1))
        }
        for (var j = 0; j < traces.length; j++) {
            var x = traces[j][0]
            var y = traces[j][0]
            for (var i = 0; i < (v_events['touchmove'] || []).length; i++) {
                v_events['touchmove'][i][1](make_touch(v_events['touchmove'][i][0], 'touchmove', x, y))
            }
        }
        for (var i = 0; i < (v_events['touchend'] || []).length; i++) {
            v_events['touchend'][i][1](make_touch(v_events['touchend'][i][0], 'touchend', x2, y2))
        }
    }

    function mouse_move(x1, y1, x2, y2) {
        if (x2 == undefined && y2 == undefined) {
            x2 = x1
            y2 = y1
        }
        var traces = make_trace(x1, y1, x2, y2)
        // console.log('traces:', traces)
        for (var j = 0; j < traces.length; j++) {
            var x = traces[j][0]
            var y = traces[j][0]
            // for (var i = 0; i < (v_events['mousemove'] || []).length; i++) {
            v_events['mousemove'](make_mouse(v_events['mousemove'], x, y))
            v_events['keypress'](make_mouse('keypress', x, y))
            // }
        }
    }

    window.make_mouse = make_mouse
    window.mouse_click = mouse_click
    window.mouse_move = mouse_move
    window.touch = touch
    // EventTarget.prototype.addEventListener = function(){v_console_log('  [*] EventTarget -> addEventListener[func]', this===window?'[Window]':this===document?'[Document]':this, [].slice.call(arguments)); add_event(this, [].slice.call(arguments)); return null}
    // EventTarget.prototype.dispatchEvent = function(){v_console_log('  [*] EventTarget -> dispatchEvent[func]', this===window?'[Window]':this===document?'[Document]':this, [].slice.call(arguments)); add_event(this, [].slice.call(arguments)); return null}
    // EventTarget.prototype.removeEventListener = function(){v_console_log('  [*] EventTarget -> removeEventListener[func]', this===window?'[Window]':this===document?'[Document]':this, [].slice.call(arguments)); add_event(this, [].slice.call(arguments)); return null}
}

HTMLElement = v_saf(function HTMLElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLElement, Element)
HTMLScriptElement = v_saf(function HTMLScriptElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLScriptElement, HTMLElement)
HTMLBodyElement = v_saf(function HTMLBodyElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLBodyElement, HTMLElement)
Object.defineProperties(HTMLBodyElement.prototype, {

    [Symbol.toStringTag]: {value: "HTMLBodyElement", writable: false, enumerable: false, configurable: true},
})

class CanvasRenderingContext2D {

    imageDatas = {
        "18,90,1,1": [214, 122, 6, 255],
        "38,77,1,1": [255, 255, 255, 255],
        "48,28,1,1": [0, 0, 0, 0],
        "94,23,1,1": [0, 0, 0, 0],
        "26,46,1,1": [253, 243, 245, 255],
        "47,23,1,1": [0, 0, 0, 0],
        "37,17,1,1": [0, 0, 0, 255],
        "62,28,1,1": [204, 131, 217, 255]
    }
    imageDatas = window.ENV.imgsres['94px sans-serif']

    constructor(w, h, context) {
        console.log('OffscreenCanvasRenderingContext2D.new', w, h)
        this.width = w;
        this.height = h;
        if (context) {
            this._context = context

        } else {
            this._context = Canvas.createCanvas(w, h).getContext('2d')

        }
    }

    set font(f) {
        console.log('1.font', f)
        this._font = f;
        this._context.font = f;
    }

    measureText(text) {
        console.log('OffscreenCanvasRenderingContext2D.measureText', text)
        this._text = text;
        window.fonts.push({
            font: this._font,
            text: text
        })
        let res = new TextMetrics(text, this._context, this._font);
        // return proxy(res, 'TextMetrics')
        return res;
    }

    get canvas() {
        console.log('CanvasRenderingContext2D.canvas.get')
    }

    get globalAlpha() {
        console.log('CanvasRenderingContext2D.globalAlpha.get')
    }

    set globalAlpha(args) {
        console.log('CanvasRenderingContext2D.globalAlpha.set', args)
    }

    get globalCompositeOperation() {
        console.log('CanvasRenderingContext2D.globalCompositeOperation.get')
    }

    set globalCompositeOperation(args) {
        console.log('CanvasRenderingContext2D.globalCompositeOperation.set', args)
    }

    get filter() {
        console.log('CanvasRenderingContext2D.filter.get')
    }

    set filter(args) {
        console.log('CanvasRenderingContext2D.filter.set', args)
    }

    get imageSmoothingEnabled() {
        console.log('CanvasRenderingContext2D.imageSmoothingEnabled.get')
    }

    set imageSmoothingEnabled(args) {
        console.log('CanvasRenderingContext2D.imageSmoothingEnabled.set', args)
    }

    get imageSmoothingQuality() {
        console.log('CanvasRenderingContext2D.imageSmoothingQuality.get')
    }

    set imageSmoothingQuality(args) {
        console.log('CanvasRenderingContext2D.imageSmoothingQuality.set', args)
    }


    get fillStyle() {
        console.log('CanvasRenderingContext2D.fillStyle.get')
    }

    set fillStyle(args) {
        console.log('CanvasRenderingContext2D.fillStyle.set', args)
        this._context.fillStyle = args
        this._fillStyle = args

    }

    get shadowOffsetX() {
        console.log('CanvasRenderingContext2D.shadowOffsetX.get')
    }

    set shadowOffsetX(args) {
        console.log('CanvasRenderingContext2D.shadowOffsetX.set', args)
        this._context.shadowOffsetX = args
    }

    get shadowOffsetY() {
        console.log('CanvasRenderingContext2D.shadowOffsetY.get')
    }

    set shadowOffsetY(args) {
        console.log('CanvasRenderingContext2D.shadowOffsetY.set', args)
        this._context.shadowOffsetY = args

    }

    get shadowBlur() {
        console.log('CanvasRenderingContext2D.shadowBlur.get')
    }

    set shadowBlur(args) {
        console.log('CanvasRenderingContext2D.shadowBlur.set', args)
        this._context.shadowBlur = args

    }

    get shadowColor() {
        console.log('CanvasRenderingContext2D.shadowColor.get')

    }

    set shadowColor(args) {
        console.log('CanvasRenderingContext2D.shadowColor.set', args)
        this._context.shadowColor = args

    }

    get lineWidth() {
        console.log('CanvasRenderingContext2D.lineWidth.get')
    }

    set lineWidth(args) {
        console.log('CanvasRenderingContext2D.lineWidth.set', args)
        this._context.lineWidth = args;
    }

    get lineCap() {
        console.log('CanvasRenderingContext2D.lineCap.get')
    }

    set lineCap(args) {
        console.log('CanvasRenderingContext2D.lineCap.set', args)
    }

    get lineJoin() {
        console.log('CanvasRenderingContext2D.lineJoin.get')
    }

    set lineJoin(args) {
        console.log('CanvasRenderingContext2D.lineJoin.set', args)
    }

    get miterLimit() {
        console.log('CanvasRenderingContext2D.miterLimit.get')
    }

    set miterLimit(args) {
        console.log('CanvasRenderingContext2D.miterLimit.set', args)
    }

    get lineDashOffset() {
        console.log('CanvasRenderingContext2D.lineDashOffset.get')
    }

    set lineDashOffset(args) {
        console.log('CanvasRenderingContext2D.lineDashOffset.set', args)
    }

    get font() {
        console.log('CanvasRenderingContext2D.font.get')
        return this._context.font;
    }

    get textAlign() {
        console.log('CanvasRenderingContext2D.textAlign.get')
    }

    set textAlign(args) {
        console.log('CanvasRenderingContext2D.textAlign.set', args)
    }

    get textBaseline() {
        console.log('CanvasRenderingContext2D.textBaseline.get')
        return this._context.textBaseline
    }

    set textBaseline(args) {
        console.log('CanvasRenderingContext2D.textBaseline.set', args)
        this._context.textBaseline = args
    }

    get direction() {
        console.log('CanvasRenderingContext2D.direction.get')
        return this._context.direction;
    }

    set direction(args) {
        console.log('CanvasRenderingContext2D.direction.set', args)
        this._context.direction = args

    }

    get fontKerning() {
        console.log('CanvasRenderingContext2D.fontKerning.get')
    }

    set fontKerning(args) {
        console.log('CanvasRenderingContext2D.fontKerning.set', args)
    }

    get fontStretch() {
        console.log('CanvasRenderingContext2D.fontStretch.get')
    }

    set fontStretch(args) {
        console.log('CanvasRenderingContext2D.fontStretch.set', args)
    }

    get fontVariantCaps() {
        console.log('CanvasRenderingContext2D.fontVariantCaps.get')
    }

    set fontVariantCaps(args) {
        console.log('CanvasRenderingContext2D.fontVariantCaps.set', args)
    }

    get letterSpacing() {
        console.log('CanvasRenderingContext2D.letterSpacing.get')
    }

    set letterSpacing(args) {
        console.log('CanvasRenderingContext2D.letterSpacing.set', args)
    }

    get textRendering() {
        console.log('CanvasRenderingContext2D.textRendering.get')
    }

    set textRendering(args) {
        console.log('CanvasRenderingContext2D.textRendering.set', args)
    }

    get wordSpacing() {
        console.log('CanvasRenderingContext2D.wordSpacing.get')
    }

    set wordSpacing(args) {
        console.log('CanvasRenderingContext2D.wordSpacing.set', args)
    }

    clip() {
        console.log('CanvasRenderingContext2D.clip')
    }

    createConicGradient() {
        console.log('CanvasRenderingContext2D.createConicGradient')
    }

    createImageData() {
        console.log('CanvasRenderingContext2D.createImageData')
    }

    createLinearGradient() {
        console.log('CanvasRenderingContext2D.createLinearGradient')

        return this._context.createLinearGradient(...arguments)
    }

    createPattern() {
        console.log('CanvasRenderingContext2D.createPattern')
    }

    createRadialGradient() {
        console.log('CanvasRenderingContext2D.createRadialGradient')
    }

    drawFocusIfNeeded() {
        console.log('CanvasRenderingContext2D.drawFocusIfNeeded')
    }

    drawImage() {
        console.log('CanvasRenderingContext2D.drawImage')
        this._context.drawImage(...arguments)
    }

    fill() {
        console.log('CanvasRenderingContext2D.fill')
    }

    fillText() {
        console.log('CanvasRenderingContext2D.fillText', ...arguments)
        this._context.fillText(...arguments)
        this._fillText = [arguments[0], arguments[1], arguments[2]]
    }

    getContextAttributes() {
        console.log('CanvasRenderingContext2D.getContextAttributes')
    }

    getImageData() {
        let res = this._context.getImageData(...arguments)
        window.imageDatas.push({
            font: this._context.font,
            fillStyle: this._fillStyle,
            fillText: this._fillText,
            imageData: [arguments[0], arguments[1], arguments[2], arguments[3]]
        })
        let tdata = this.imageDatas[[arguments[0], arguments[1], arguments[2], arguments[3]] + ''];
        if (tdata) {
            res.data[0] = tdata[0]
            res.data[1] = tdata[1]
            res.data[2] = tdata[2]
            res.data[3] = tdata[3]
        } else {
            for (let i = 0; i < res.data.length; i++) {
                res.data[i] = parseInt(window._random() * 100 + 100)
            }
        }
        if (arguments[0] === 0 && arguments[1] === 0 && arguments[2] === 5) {
            for (let i = 0; i < res.data.length; i++) {
                if (res.data[i] === 22) {
                    res.data[i] = 0
                }
            }
        }
        // if (Math.random() < 0.5){
        for (let i = 0; i < res.data.length; i++) {
            res.data[i] = parseInt(window._random() * 100 + 100)
        }
        // }
        console.log('CanvasRenderingContext2D.getImageData', ...arguments, res)

        // todo  修改图片

        return res
    }

    getLineDash() {
        console.log('CanvasRenderingContext2D.getLineDash')
    }

    getTransform() {
        console.log('CanvasRenderingContext2D.getTransform')
    }

    isContextLost() {
        console.log('CanvasRenderingContext2D.isContextLost')
    }

    isPointInPath() {
        console.log('CanvasRenderingContext2D.isPointInPath')
    }

    isPointInStroke() {
        console.log('CanvasRenderingContext2D.isPointInStroke')
    }

    putImageData() {
        console.log('CanvasRenderingContext2D.putImageData')
    }

    reset() {
        console.log('CanvasRenderingContext2D.reset')
    }

    roundRect() {
        console.log('CanvasRenderingContext2D.roundRect')
    }

    save() {
        console.log('CanvasRenderingContext2D.save')
    }

    scale() {
        console.log('CanvasRenderingContext2D.scale')
    }

    setLineDash() {
        console.log('CanvasRenderingContext2D.setLineDash')
    }

    setTransform() {
        console.log('CanvasRenderingContext2D.setTransform')
    }

    stroke() {
        console.log('CanvasRenderingContext2D.stroke')
        this._context.stroke(...arguments)
    }

    strokeText() {
        console.log('CanvasRenderingContext2D.strokeText')
    }

    transform() {
        console.log('CanvasRenderingContext2D.transform')
    }

    translate() {
        console.log('CanvasRenderingContext2D.translate')
    }

    arc(a, b, c, d, e) {
        console.log('CanvasRenderingContext2D.arc', a, b, c, d, e)
        return this._context.arc(...arguments)
    }

    arcTo() {
        console.log('CanvasRenderingContext2D.arcTo')
    }

    beginPath() {
        console.log('CanvasRenderingContext2D.beginPath')
        return this._context.beginPath()
    }

    bezierCurveTo() {
        console.log('CanvasRenderingContext2D.bezierCurveTo')
    }

    clearRect() {
        console.log('CanvasRenderingContext2D.clearRect')
    }

    closePath() {
        console.log('CanvasRenderingContext2D.closePath')
        return this._context.closePath(...arguments)

    }

    ellipse() {
        console.log('CanvasRenderingContext2D.ellipse')
    }

    fillRect(a, b, c, d) {
        console.log('CanvasRenderingContext2D.fillRect', a, b, c, d)
        return this._context.fillRect(a, b, c, d)
    }

    lineTo() {
        console.log('CanvasRenderingContext2D.lineTo')
        return this._context.lineTo(...arguments)

    }

    moveTo() {
        console.log('CanvasRenderingContext2D.moveTo')
        return this._context.moveTo(...arguments)
    }

    quadraticCurveTo() {
        console.log('CanvasRenderingContext2D.quadraticCurveTo')
    }

    rect() {
        console.log('CanvasRenderingContext2D.rect')
    }

    resetTransform() {
        console.log('CanvasRenderingContext2D.resetTransform')
    }

    restore() {
        console.log('CanvasRenderingContext2D.restore')
    }

    rotate() {
        console.log('CanvasRenderingContext2D.rotate')
    }

    strokeRect() {
        console.log('CanvasRenderingContext2D.strokeRect')
    }


}

Object.defineProperties(CanvasRenderingContext2D.prototype, {
    canvas: {enumerable: true},
    globalAlpha: {enumerable: true},
    globalCompositeOperation: {enumerable: true},
    filter: {enumerable: true},
    imageSmoothingEnabled: {enumerable: true},
    imageSmoothingQuality: {enumerable: true},
    strokeStyle: {
        get: v_saf(function strokeStyle() {
            console.log('CanvasRenderingContext2D.strokeStyle.get')
        }, undefined, 'get'),

        set: v_saf(function strokeStyle(args) {
            console.log('CanvasRenderingContext2D.strokeStyle.set', args)
            return this._context.strokeStyle = args
        }, undefined, 'set'),
        enumerable: true
    },
    fillStyle: {enumerable: true},
    shadowOffsetX: {enumerable: true},
    shadowOffsetY: {enumerable: true},
    shadowBlur: {enumerable: true},
    shadowColor: {enumerable: true},
    lineWidth: {enumerable: true},
    lineCap: {enumerable: true},
    lineJoin: {enumerable: true},
    miterLimit: {enumerable: true},
    lineDashOffset: {enumerable: true},
    font: {enumerable: true},
    textAlign: {enumerable: true},
    textBaseline: {enumerable: true},
    direction: {enumerable: true},
    fontKerning: {enumerable: true},
    fontStretch: {enumerable: true},
    fontVariantCaps: {enumerable: true},
    letterSpacing: {enumerable: true},
    textRendering: {enumerable: true},
    wordSpacing: {enumerable: true},
    clip: {enumerable: true},
    createConicGradient: {enumerable: true},
    createImageData: {enumerable: true},
    createLinearGradient: {enumerable: true},
    createPattern: {enumerable: true},
    createRadialGradient: {enumerable: true},
    drawFocusIfNeeded: {enumerable: true},
    drawImage: {enumerable: true},
    fill: {enumerable: true},
    fillText: {enumerable: true},
    getContextAttributes: {enumerable: true},
    getImageData: {enumerable: true},
    getLineDash: {enumerable: true},
    getTransform: {enumerable: true},
    isContextLost: {enumerable: true},
    isPointInPath: {enumerable: true},
    isPointInStroke: {enumerable: true},
    measureText: {enumerable: true},
    putImageData: {enumerable: true},
    reset: {enumerable: true},
    roundRect: {enumerable: true},
    save: {enumerable: true},
    scale: {enumerable: true},
    setLineDash: {enumerable: true},
    setTransform: {enumerable: true},
    stroke: {enumerable: true},
    strokeText: {enumerable: true},
    transform: {enumerable: true},
    translate: {enumerable: true},
    arc: {enumerable: true},
    arcTo: {enumerable: true},
    beginPath: {enumerable: true},
    bezierCurveTo: {enumerable: true},
    clearRect: {enumerable: true},
    closePath: {enumerable: true},
    ellipse: {enumerable: true},
    fillRect: {enumerable: true},
    lineTo: {enumerable: true},
    moveTo: {enumerable: true},
    quadraticCurveTo: {enumerable: true},
    rect: {enumerable: true},
    resetTransform: {enumerable: true},
    restore: {enumerable: true},
    rotate: {enumerable: true},
    strokeRect: {enumerable: true},
    [Symbol.toStringTag]: {value: "CanvasRenderingContext2D", configurable: true}

})


class HTMLCanvasElement {
    _getCanvas() {
        if (Canvas && !this._canvas) {
            this._canvas = Canvas.createCanvas(this.width, this.height);
        }
        return this._canvas;
    }

    getContext(contextId) {
        const canvas = this._getCanvas();
        console.log('getContextgetContext', contextId)
        if (canvas) {
            if (contextId == '2d') {
                console.log('new ctx2d', this.width, this.height)
                this._context = new CanvasRenderingContext2D(this.width, this.height, this._canvas.getContext('2d'))
            }
            // if (!this._context) {
            //     this._context = canvas.getContext(contextId) || null;
            //     if (this._context) {
            //         // Override the native canvas reference with our wrapper. This is the
            //         // reason why we need to locally cache _context, since each call to
            //         // canvas.getContext(contextId) would replace this reference again.
            //         // Perhaps in the longer term, a better solution would be to create a
            //         // full wrapper for the Context object as well.
            //         this._context.canvas = idlUtils.wrapperForImpl(this);
            //         wrapNodeCanvasMethod(this._context, "createPattern");
            //         wrapNodeCanvasMethod(this._context, "drawImage");
            //     }
            // }
            if (contextId === 'webgl' || contextId === 'webgl2') {
                var v_new_toggle = true
                var v_new = function (v) {
                    var temp = v_new_toggle;
                    v_new_toggle = true;
                    var r = new v;
                    v_new_toggle = temp;
                    return r
                }

                function WebGLBuffer() {
                }

                function WebGLProgram() {
                }

                function WebGLShader() {
                }


                // window.WebGLRenderingContext = WebGLRenderingContext
                let t = proxy(new WebGLRenderingContext(), 'WebGLRenderingContext11')
                // let t = new WebGLRenderingContext()
                this._context = t;
            }
            // console.log('contextId res', this._context)
            // this._context = idlUtils.proxy(this._context, 'context' + contextId)
            return this._context;
        }
    }

    toDataURL() {

    }

    toBlob() {
    }
}


_inherits(HTMLCanvasElement, HTMLElement)
HTMLAnchorElement = v_saf(function HTMLAnchorElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
    return v_hook_href(this, 'HTMLAnchorElement', location.href)
}, undefined, undefined);
// _inherits(HTMLAnchorElement, HTMLElement)
// Object.defineProperties(HTMLAnchorElement.prototype, {
//     // href: {
//     //     get() {
//     //         print("  [*] HTMLAnchorElement -> href[get]", "https://www.southwest.com/air/booking/select.html?int=HOMEQBOMAIR&adultPassengersCount=1&departureDate=2023-12-19&destinationAirportCode=LAX&fareType=USD&originationAirportCode=LAS&passengerType=ADULT&promoCode=&returnDate=&tripType=oneway&from=LAS&to=LAX&adultsCount=1&departureTimeOfDay=ALL_DAY&reset=true&returnTimeOfDay=ALL_DAY")
//     //         return 'https://www.southwest.com/air/booking/select.html?int=HOMEQBOMAIR&adultPassengersCount=1&departureDate=2023-12-19&destinationAirportCode=LAX&fareType=USD&originationAirportCode=LAS&passengerType=ADULT&promoCode=&returnDate=&tripType=oneway&from=LAS&to=LAX&adultsCount=1&departureTimeOfDay=ALL_DAY&reset=true&returnTimeOfDay=ALL_DAY'
//     //     }, set() {
//     //         v_console_log("  [*] HTMLAnchorElement -> href[set]", [].slice.call(arguments));
//     //     }
//     // },
//     // host: {
//     //     set(){
//     //         v_console_log("  [*] HTMLAnchorElement -> host[set]");
//     //     },
//     //     get() {
//     //         v_console_log("  [*] HTMLAnchorElement -> host[get]", "www.southwest.com");
//     //         return "www.southwest.com"
//     //     }
//     // },
//     // protocol: {
//     //     set(){
//     //         v_console_log("  [*] HTMLAnchorElement -> protocol[set]");
//     //     },
//     //     get() {
//     //         v_console_log("  [*] HTMLAnchorElement -> protocol[get]", "https:");
//     //         return "https:"
//     //     }
//     // },
//     // pathname: {
//     //     set(){
//     //         v_console_log("  [*] HTMLAnchorElement -> pathname[set]");
//     //     },
//     //     get() {
//     //         v_console_log("  [*] HTMLAnchorElement -> pathname[get]", "/air/booking/index.html");
//     //         return "/air/booking/index.html"
//     //     }
//     // },
//     // search: {
//     //     set(){
//     //         v_console_log("  [*] HTMLAnchorElement -> search[set]");
//     //     },
//     //     get() {
//     //         v_console_log("  [*] HTMLAnchorElement -> search[get]", "?adultPassengersCount=1&adultsCount=1&departureDate=2023-05-13&departureTimeOfDay=ALL_DAY&destinationAirportCode=BOS&fareType=USD&from=&int=HOMEQBOMAIR&originationAirportCode=LAS&passengerType=ADULT&promoCode=&reset=true&returnDate=&returnTimeOfDay=ALL_DAY&to=&tripType=oneway&validate=true")
//     //         return "?adultPassengersCount=1&adultsCount=1&departureDate=2023-05-13&departureTimeOfDay=ALL_DAY&destinationAirportCode=BOS&fareType=USD&from=&int=HOMEQBOMAIR&originationAirportCode=LAS&passengerType=ADULT&promoCode=&reset=true&returnDate=&returnTimeOfDay=ALL_DAY&to=&tripType=oneway&validate=true"
//     //     }
//     // },
//     // hash: {
//     //     set(){
//     //         v_console_log("  [*] HTMLAnchorElement -> hash[set]");
//     //     },
//     //     get() {
//     //         v_console_log("  [*] HTMLAnchorElement -> hash[get]", "");
//     //         return ""
//     //     }
//     // },
//     // port: {
//     //     set(){
//     //         v_console_log("  [*] HTMLAnchorElement -> port[set]");
//     //     },
//     //     get() {
//     //         v_console_log("  [*] HTMLAnchorElement -> port[get]", "");
//     //         return ""
//     //     }
//     // },
//     // hostname: {
//     //     set(){
//     //         v_console_log("  [*] HTMLAnchorElement -> hostname[set]");
//     //     },
//     //     get() {
//     //         v_console_log("  [*] HTMLAnchorElement -> hostname[get]", "www.southwest.com");
//     //         return "www.southwest.com"
//     //     }
//     // },
//     [Symbol.toStringTag]: {value: "HTMLAnchorElement", writable: false, enumerable: false, configurable: true},
// })

HTMLImageElement = v_saf(function HTMLImageElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLImageElement, HTMLElement)
HTMLIFrameElement = v_saf(function HTMLIFrameElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLIFrameElement, HTMLElement)

HTMLMediaElement = v_saf(function HTMLMediaElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLMediaElement, HTMLElement)
Object.defineProperties(HTMLMediaElement.prototype, {
    canPlayType: {
        value: v_saf(function canPlayType() {
            v_console_log("  [*] HTMLMediaElement -> canPlayType[func]", [].slice.call(arguments));
            let type = arguments[0]
            let res = undefined;
            if (window.ENV.canplay[type]) {
                res = window.ENV.canplay[type]
                if (!res) {
                    res = 'probably'
                }
            }
            console.log('canPlayType', type, res)

            return res
        })
    },
    NETWORK_EMPTY: {"value": 0, "writable": false, "enumerable": true, "configurable": false},
    NETWORK_IDLE: {"value": 1, "writable": false, "enumerable": true, "configurable": false},
    NETWORK_LOADING: {"value": 2, "writable": false, "enumerable": true, "configurable": false},
    NETWORK_NO_SOURCE: {"value": 3, "writable": false, "enumerable": true, "configurable": false},
    HAVE_NOTHING: {"value": 0, "writable": false, "enumerable": true, "configurable": false},
    HAVE_METADATA: {"value": 1, "writable": false, "enumerable": true, "configurable": false},
    HAVE_CURRENT_DATA: {"value": 2, "writable": false, "enumerable": true, "configurable": false},
    HAVE_FUTURE_DATA: {"value": 3, "writable": false, "enumerable": true, "configurable": false},
    HAVE_ENOUGH_DATA: {"value": 4, "writable": false, "enumerable": true, "configurable": false},
    [Symbol.toStringTag]: {value: "HTMLMediaElement", writable: false, enumerable: false, configurable: true},
})
WindowProperties = v_saf(function WindowProperties() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(WindowProperties, EventTarget)

// _inherits(Window, WindowProperties)

var Screen = v_saf(function Screen() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Screen, EventTarget)
// Screen = dtavm.proxy(Screen, 'Screen')
Object.defineProperties(Screen.prototype, {
    availWidth: {
        get: v_saf(function availWidth() {
            v_console_log("  [*] Screen -> availWidth[get]", screens.availWidth);

            // return 2560
            return screens.availWidth
        }, undefined, 'get'), enumerable: true, configurable: true
    },
    availHeight: {
        get: v_saf(function availHeight() {
            v_console_log("  [*] Screen -> availHeight[get]", screens.availHeight);

            // return 2560
            return screens.availHeight
        }, undefined, 'get'), enumerable: true, configurable: true
    },
    width: {
        get: v_saf(function width() {
            v_console_log("  [*] Screen -> width[get]", screens.width);

            // return 2560
            return screens.width

        }, undefined, 'get'), enumerable: true, configurable: true
    },
    height: {
        get: v_saf(function height() {
            v_console_log("  [*] Screen -> height[get]", screens.height);

            // return 2560
            return screens.height
        }, undefined, 'get'), enumerable: true, configurable: true
    },
    colorDepth: {
        get() {
            v_console_log("  [*] Screen -> colorDepth[get]", screens.colorDepth);

            // return 24
            return screens.colorDepth

        }, enumerable: true, configurable: true
    },
    pixelDepth: {
        get() {
            v_console_log("  [*] Screen -> pixelDepth[get]", screens.pixelDepth);

            // return 24
            return screens.pixelDepth

        }, enumerable: true, configurable: true
    },
    availLeft: {
        get() {
            v_console_log("  [*] Screen -> availLeft[get]", screens.availLeft);

            // return 0
            return screens.availLeft

        }, enumerable: true, configurable: true
    },
    availTop: {
        get() {
            v_console_log("  [*] Screen -> availTop[get]", screens.availTop);

            // return 25
            return screens.availTop

        }, enumerable: true, configurable: true
    },
    orientation: {
        get() {
            v_console_log("  [*] Screen -> orientation[get]");
            return {}
        }, enumerable: true, configurable: true
    },
    onchange: {
        get() {
            return null
        }, enumerable: true, configurable: true
    },
    isExtended: {
        get() {
            return true
        }, enumerable: true, configurable: true
    },
    [Symbol.toStringTag]: {value: "Screen", writable: false, enumerable: false, configurable: true},
})
// Screen.prototype = dtavm.proxy(Screen.prototype, ' Screen.prototype')
HTMLDocument = v_saf(function HTMLDocument() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;Object.defineProperty(this, 'location', {
        get() {
            return location
        }
    })
});
_inherits(HTMLDocument, Document)
HTMLHeadElement = v_saf(function HTMLHeadElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLHeadElement, HTMLElement)
External = v_saf(function External() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
External(HTMLBodyElement, Event)
WebGLShaderPrecisionFormat = v_saf(function WebGLShaderPrecisionFormat() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
Object.defineProperties(WebGLShaderPrecisionFormat.prototype, {
    precision: {
        get() {
            v_console_log('WebGLShaderPrecisionFormat.prototype precision')
            return 23
        }
    },
    rangeMax: {
        get() {
            v_console_log('WebGLShaderPrecisionFormat.prototype rangeMax')

            return 127
        }
    },
    rangeMin: {
        get() {
            v_console_log('WebGLShaderPrecisionFormat.prototype rangeMin')

            return 127
        }
    },
})
MimeTypeArray = v_saf(function MimeTypeArray() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
    this[0] = v_new(Plugin);
    this[0].description = "Portable Document Format";
    this[0].enabledPlugin = {"0": {}, "1": {}};
    this[0].suffixes = "pdf";
    this[0].type = "application/pdf";
    this[1] = v_new(Plugin);
    this[1].description = "Portable Document Format";
    this[1].enabledPlugin = {"0": {}, "1": {}};
    this[1].suffixes = "pdf";
    this[1].type = "text/pdf";
})
CSSStyleDeclaration = v_saf(function CSSStyleDeclaration() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
EXTTextureFilterAnisotropic = v_saf(function EXTTextureFilterAnisotropic() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
Object.defineProperties(EXTTextureFilterAnisotropic.prototype, {
    MAX_TEXTURE_MAX_ANISOTROPY_EXT: {value: 34047},
    TEXTURE_MAX_ANISOTROPY_EXT: {value: 34047},

})
Location = v_saf(function Location() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})

Object.defineProperties(Location.prototype, {
    href: {
        get: function () {
            if (!(this.protocol) && !(this.host)) {
                r = ''
            } else {
                r = this.protocol + "//" + this.host + (this.port ? ":" + this.port : "") + this.pathname + this.search + this.hash;
            }
            // v_console_log(`  [*] ${name||obj.constructor.name} -> href[get]:`, JSON.stringify(r))
            return r
        },
        set: function (href) {
            href = href.trim()
            v_console_log(`  href[set]:`, JSON.stringify(href))
            if (href.startsWith("http://") || href.startsWith("https://")) {/*ok*/
            } else if (href.startsWith("//")) {
                href = (this.protocol ? this.protocol : 'http:') + href
            } else {
                href = this.protocol + "//" + this.host + (this.port ? ":" + this.port : "") + '/' + ((href[0] == '/') ? href.slice(1) : href)
            }
            var a = href.match(/([^:]+:)\/\/([^/:?#]+):?(\d+)?([^?#]*)?(\?[^#]*)?(#.*)?/);
            this.protocol = a[1] ? a[1] : "";
            this.host = a[2] ? a[2] : "";
            this.port = a[3] ? a[3] : "";
            this.pathname = a[4] ? a[4] : "";
            this.search = a[5] ? a[5] : "";
            this.hash = a[6] ? a[6] : "";
            this.hostname = this.host;
            this.origin = this.protocol + "//" + this.host + (this.port ? ":" + this.port : "");
        },
        enumerable: true
    },
    assign: {
        value: v_saf(function assign() {

        }),
        enumerable: true,

    },
    ancestorOrigins: {
        get: v_saf(function ancestorOrigins() {
            return new DOMStringList()
        }),
        enumerable: true,
        configurable: false,

    },
    // fragmentDirective: 'c',
    // hash: {set: function(arg){this._hash = arg}, get:function(){return this._hash}, enumerable:true},
    // host: {set: function(arg){this._host = arg}, get:function(){return this._host}, enumerable:true},
    // hostname: {set: function(arg){this._hostname = arg}, get:function(){return this._hostname}, enumerable:true},
    origin: {
        set: function (arg) {
            _origin = arg
        }, get: function () {
            return _origin
        }, enumerable: true
    },
    // pathname: {set: function(arg){this._pathname = arg}, get:function(){return this._pathname}, enumerable:true},
    // port: {set: function(arg){this._port = arg}, get:function(){return this._port}, enumerable:true},
    // protocol: {set: function(arg){this._protocol = arg}, get:function(){return this._protocol}, enumerable:true},
    // host: 'e',
    // hostname: 'f',
    // href: 'g',
    // origin: 'h',
    // pathname: 'i',
    // port: 'j',
    // protocol: 'k',
    reload: {
        value: v_saf(function reload() {

        }),
        enumerable: true,

    },
    replace: {
        value: v_saf(function replace() {

        }),
        enumerable: true,
    },
    toString: {
        value: v_saf(function toString() {
            return ''
        }),
        enumerable: true,

    },
    _protocol: {enumerable: false},
    _hostname: {enumerable: false},
    _port: {enumerable: false},
    _pathname: {enumerable: false},
    _hash: {enumerable: false},
    _origin: {enumerable: false},
})

var WebGLRenderingContext = class WebGLRenderingContext {
    constructor(aaa) {
        console.log('new WebGLRenderingContext', aaa)
    }

    createBuffer() {
        v_console_log('  [*] WebGLRenderingContext -> createBuffer[func]');
        return v_new(WebGLBuffer)
    }

    bindBuffer(target, buffer) {
        v_console_log('  [*] WebGLRenderingContext -> bindBuffer[func]', target, buffer);
        return v_new(WebGLBuffer)
    }

    getAttribLocation(program, name) {
        v_console_log('  [*] WebGLRenderingContext -> getAttribLocation[func]', program, name);
        switch (name) {
            case 'aPosition':
                return 0;
            case 'aColor':
                return 1;
        }
    }

    vertexAttribPointer(index, size, type, normalized, stride, offset) {
        v_console_log('  [*] WebGLRenderingContext -> vertexAttribPointer[func]', index, size, type, normalized, stride, offset);
    }

    enableVertexAttribArray(index) {
        v_console_log('  [*] WebGLRenderingContext -> enableVertexAttribArray[func]', index);
    }

    useProgram(index) {
        v_console_log('  [*] WebGLRenderingContext -> useProgram[func]', index);
    }

    getUniformLocation(program, name) {
        v_console_log('  [*] WebGLRenderingContext -> getUniformLocation[func]', program, name);
        return proxy({}, 'getUniformLocation')
    }

    uniform4fv(program, name) {
        v_console_log('  [*] WebGLRenderingContext -> uniform4fv[func]', program, name);
    }

    drawArrays(mode, first, count) {
        v_console_log('  [*] WebGLRenderingContext -> drawArrays[func]', mode, first, count);
    }

    readPixels(x, y, width, height, format, type, pixels) {
        for (let i = 0; i < pixels.length - 1; i++) {
            pixels.fill(parseInt(Math.random() * 210 + 10), i, i + 1)
        }
        v_console_log('  [*] WebGLRenderingContext -> readPixels[func]', x, y, width, height, format, type, pixels)
    }

    bufferData(target, size, srcData, usage, srcOffSet, length) {
        v_console_log('  [*] WebGLRenderingContext -> bufferData[func]', target, size, srcData, usage, srcOffSet, length);
        return v_new(WebGLBuffer)
    }

    createProgram() {
        v_console_log('  [*] WebGLRenderingContext -> createProgram[func]');
        return v_new(WebGLProgram)
    }

    createShader(a) {
        v_console_log('  [*] WebGLRenderingContext -> createShader[func]', a);
        return v_new(WebGLShader)
    }

    shaderSource(shader, originalSource) {
        v_console_log('  [*] WebGLRenderingContext -> shaderSource[func]', shader, originalSource);
        this._originalSource = originalSource;
    }

    compileShader(shader) {
        v_console_log('  [*] WebGLRenderingContext -> compileShader[func]', shader);
        // this._originalSource = originalSource;
    }

    getShaderParameter(shader, pname) {
        v_console_log('  [*] WebGLRenderingContext -> getShaderParameter[func]', shader, pname);
        switch (pname) {
            case 35713:
                return true;
                break;
        }
    }

    attachShader(program, shader) {
        v_console_log('  [*] WebGLRenderingContext -> attachShader[func]', program, shader);

    }

    linkProgram(program, shader) {
        v_console_log('  [*] WebGLRenderingContext -> linkProgram[func]', program, shader);

    }

    getProgramParameter(program, pname) {
        v_console_log('  [*] WebGLRenderingContext -> getProgramParameter[func]', program, pname);
        if (pname === 35714) {
            return true;
        }

    }

    getSupportedExtensions() {
        // window.debug = true;
        v_console_log('  [*] WebGLRenderingContext -> getSupportedExtensions[func]')
        if (ENV.navigatorparams.useragent.includes('Edg')) {
            return ['ANGLE_instanced_arrays', 'EXT_blend_minmax', 'EXT_color_buffer_half_float', 'EXT_disjoint_timer_query', 'EXT_float_blend', 'EXT_frag_depth', 'EXT_shader_texture_lod', 'EXT_texture_compression_rgtc', 'EXT_texture_filter_anisotropic', 'EXT_sRGB', 'KHR_parallel_shader_compile', 'OES_element_index_uint', 'OES_fbo_render_mipmap', 'OES_standard_derivatives', 'OES_texture_float', 'OES_texture_float_linear', 'OES_texture_half_float', 'OES_texture_half_float_linear', 'OES_vertex_array_object', 'WEBGL_color_buffer_float', 'WEBGL_compressed_texture_s3tc', 'WEBGL_compressed_texture_s3tc_srgb', 'WEBGL_debug_renderer_info', 'WEBGL_debug_shaders', 'WEBGL_depth_texture', 'WEBGL_draw_buffers', 'WEBGL_lose_context', 'WEBGL_multi_draw']
        }
        return [
            "ANGLE_instanced_arrays", "EXT_blend_minmax", "EXT_color_buffer_half_float", "EXT_disjoint_timer_query", "EXT_float_blend", "EXT_frag_depth",
            "EXT_shader_texture_lod", "EXT_texture_compression_bptc", "EXT_texture_compression_rgtc", "EXT_texture_filter_anisotropic", "WEBKIT_EXT_texture_filter_anisotropic", "EXT_sRGB",
            "KHR_parallel_shader_compile", "OES_element_index_uint", "OES_fbo_render_mipmap", "OES_standard_derivatives", "OES_texture_float", "OES_texture_float_linear",
            "OES_texture_half_float", "OES_texture_half_float_linear", "OES_vertex_array_object", "WEBGL_color_buffer_float", "WEBGL_compressed_texture_s3tc",
            "WEBKIT_WEBGL_compressed_texture_s3tc", "WEBGL_compressed_texture_s3tc_srgb", "WEBGL_debug_renderer_info", "WEBGL_debug_shaders",
            "WEBGL_depth_texture", "WEBKIT_WEBGL_depth_texture", "WEBGL_draw_buffers", "WEBGL_lose_context", "WEBKIT_WEBGL_lose_context", "WEBGL_multi_draw",
        ]
    }

    getExtension(key) {
        v_console_log('  [*] WebGLRenderingContext -> getExtension[func]:', key)

        class WebGLDebugRendererInfo {
            get UNMASKED_VENDOR_WEBGL() {
                return 37445
            }

            get UNMASKED_RENDERER_WEBGL() {
                return 37446
            }
        }

        class EXTTextureFilterAnisotropic {
        }

        Object.defineProperties(EXTTextureFilterAnisotropic.prototype, {
            MAX_TEXTURE_MAX_ANISOTROPY_EXT: {
                value: 34047
            }
        })

        class WebGLLoseContext {
            loseContext() {
            }

            restoreContext() {
            }
        }

        if (key === "WEBKIT_EXT_texture_filter_anisotropic") {
            var r = null
        }
        if (key === "MOZ_EXT_texture_filter_anisotropic") {
            var r = null
        }
        if (key == 'WEBGL_debug_renderer_info') {
            var r = new WebGLDebugRendererInfo
        }
        if (key == 'EXT_texture_filter_anisotropic') {
            var r = new EXTTextureFilterAnisotropic
        }
        if (key == 'WEBGL_lose_context') {
            var r = new WebGLLoseContext
        }

        return r
    }

    getParameter(key) {
        console.log('  [*] WebGLRenderingContext -> getParameter[func]1:', key)
        let res;
        let _toggle = {
            3413: 8,
            3412: 8,
            3411: 8,
            3410: 8,
            3414: 24,
            35661: 32,
            34076: 16384,
            36349: 1024,
            34024: 16384,
            34930: 16,
            3379: 16384,
            36348: 31,
            34921: 16,
            35660: 16,
            36347: 1024,
            7937: 'WebKit WebGL',
            35724: 'WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)',
            3415: 0,
            7936: 'WebKit',
            7938: 'WebGL 1.0 (OpenGL ES 2.0 Chromium)',
            37445: 'Google Inc.',
            // 37446: 'ANGLE (Apple, Apple M1 Max, OpenGL 4.1)',
            34047: 16
        }
        _toggle = window.ENV.glres;
        if (_toggle[key]) {
            res = _toggle[key]

        } else {

            if (key == 33902) {
                res = new Float32Array([1, 1])
            }
            if (key == 33901) {
                res = new Float32Array([1, 64])
            }
            if (key == 3386) {
                res = new Int32Array([16384, 16384])
            }
            if (key === 3415) {
                res = 0
            }

        }
        console.log('  [*] WebGLRenderingContext -> getParameter[func]2:', key, res)

        return res;
    }

    getContextAttributes() {
        v_console_log('  [*] WebGLRenderingContext -> getContextAttributes[func]')
        return {
            alpha: true,
            antialias: true,
            depth: true,
            desynchronized: false,
            failIfMajorPerformanceCaveat: false,
            powerPreference: "default",
            premultipliedAlpha: true,
            preserveDrawingBuffer: false,
            stencil: false,
            xrCompatible: false,
        }
    }

    getShaderPrecisionFormat(a, b) {
        v_console_log('  [*] WebGLRenderingContext -> getShaderPrecisionFormat[func]', a, b)

        function WebGLShaderPrecisionFormat() {
        }

        var r1 = v_new(WebGLShaderPrecisionFormat)
        r1.rangeMin = 127
        r1.rangeMax = 127
        r1.precision = 23
        var r2 = v_new(WebGLShaderPrecisionFormat)
        r2.rangeMin = 31
        r2.rangeMax = 30
        r2.precision = 0
        if (a == 35633 && b == 36338) {
            return r1
        }
        if (a == 35633 && b == 36337) {
            return r1
        }
        if (a == 35633 && b == 36336) {
            return r1
        }
        if (a == 35633 && b == 36341) {
            return r2
        }
        if (a == 35633 && b == 36340) {
            return r2
        }
        if (a == 35633 && b == 36339) {
            return r2
        }
        if (a == 35632 && b == 36338) {
            return r1
        }
        if (a == 35632 && b == 36337) {
            return r1
        }
        if (a == 35632 && b == 36336) {
            return r1
        }
        if (a == 35632 && b == 36341) {
            return r2
        }
        if (a == 35632 && b == 36340) {
            return r2
        }
        if (a == 35632 && b == 36339) {
            return r2
        }
        throw Error('getShaderPrecisionFormat')
    }
}
Object.defineProperties(WebGLRenderingContext.prototype, {
    canvas: {writable: undefined, enumerable: true, configurable: true},
    drawingBufferWidth: {writable: undefined, enumerable: true, configurable: true},
    drawingBufferHeight: {writable: undefined, enumerable: true, configurable: true},
    drawingBufferColorSpace: {writable: undefined, enumerable: true, configurable: true},
    unpackColorSpace: {writable: undefined, enumerable: true, configurable: true},
    DEPTH_BUFFER_BIT: {value: 256, writable: false, enumerable: true, configurable: false},
    STENCIL_BUFFER_BIT: {value: 1024, writable: false, enumerable: true, configurable: false},
    COLOR_BUFFER_BIT: {value: 16384, writable: false, enumerable: true, configurable: false},
    POINTS: {writable: false, enumerable: true, configurable: false},
    LINES: {value: 1, writable: false, enumerable: true, configurable: false},
    LINE_LOOP: {value: 2, writable: false, enumerable: true, configurable: false},
    LINE_STRIP: {value: 3, writable: false, enumerable: true, configurable: false},
    TRIANGLES: {value: 4, writable: false, enumerable: true, configurable: false},
    TRIANGLE_STRIP: {value: 5, writable: false, enumerable: true, configurable: false},
    TRIANGLE_FAN: {value: 6, writable: false, enumerable: true, configurable: false},
    ZERO: {writable: false, enumerable: true, configurable: false},
    ONE: {value: 1, writable: false, enumerable: true, configurable: false},
    SRC_COLOR: {value: 768, writable: false, enumerable: true, configurable: false},
    ONE_MINUS_SRC_COLOR: {value: 769, writable: false, enumerable: true, configurable: false},
    SRC_ALPHA: {value: 770, writable: false, enumerable: true, configurable: false},
    ONE_MINUS_SRC_ALPHA: {value: 771, writable: false, enumerable: true, configurable: false},
    DST_ALPHA: {value: 772, writable: false, enumerable: true, configurable: false},
    ONE_MINUS_DST_ALPHA: {value: 773, writable: false, enumerable: true, configurable: false},
    DST_COLOR: {value: 774, writable: false, enumerable: true, configurable: false},
    ONE_MINUS_DST_COLOR: {value: 775, writable: false, enumerable: true, configurable: false},
    SRC_ALPHA_SATURATE: {value: 776, writable: false, enumerable: true, configurable: false},
    FUNC_ADD: {value: 32774, writable: false, enumerable: true, configurable: false},
    BLEND_EQUATION: {value: 32777, writable: false, enumerable: true, configurable: false},
    BLEND_EQUATION_RGB: {value: 32777, writable: false, enumerable: true, configurable: false},
    BLEND_EQUATION_ALPHA: {value: 34877, writable: false, enumerable: true, configurable: false},
    FUNC_SUBTRACT: {value: 32778, writable: false, enumerable: true, configurable: false},
    FUNC_REVERSE_SUBTRACT: {value: 32779, writable: false, enumerable: true, configurable: false},
    BLEND_DST_RGB: {value: 32968, writable: false, enumerable: true, configurable: false},
    BLEND_SRC_RGB: {value: 32969, writable: false, enumerable: true, configurable: false},
    BLEND_DST_ALPHA: {value: 32970, writable: false, enumerable: true, configurable: false},
    BLEND_SRC_ALPHA: {value: 32971, writable: false, enumerable: true, configurable: false},
    CONSTANT_COLOR: {value: 32769, writable: false, enumerable: true, configurable: false},
    ONE_MINUS_CONSTANT_COLOR: {value: 32770, writable: false, enumerable: true, configurable: false},
    CONSTANT_ALPHA: {value: 32771, writable: false, enumerable: true, configurable: false},
    ONE_MINUS_CONSTANT_ALPHA: {value: 32772, writable: false, enumerable: true, configurable: false},
    BLEND_COLOR: {value: 32773, writable: false, enumerable: true, configurable: false},
    ARRAY_BUFFER: {value: 34962, writable: false, enumerable: true, configurable: false},
    ELEMENT_ARRAY_BUFFER: {value: 34963, writable: false, enumerable: true, configurable: false},
    ARRAY_BUFFER_BINDING: {value: 34964, writable: false, enumerable: true, configurable: false},
    ELEMENT_ARRAY_BUFFER_BINDING: {
        value: 34965,
        writable: false,
        enumerable: true,
        configurable: false
    },
    STREAM_DRAW: {value: 35040, writable: false, enumerable: true, configurable: false},
    STATIC_DRAW: {value: 35044, writable: false, enumerable: true, configurable: false},
    DYNAMIC_DRAW: {value: 35048, writable: false, enumerable: true, configurable: false},
    BUFFER_SIZE: {value: 34660, writable: false, enumerable: true, configurable: false},
    BUFFER_USAGE: {value: 34661, writable: false, enumerable: true, configurable: false},
    CURRENT_VERTEX_ATTRIB: {value: 34342, writable: false, enumerable: true, configurable: false},
    FRONT: {value: 1028, writable: false, enumerable: true, configurable: false},
    BACK: {value: 1029, writable: false, enumerable: true, configurable: false},
    FRONT_AND_BACK: {value: 1032, writable: false, enumerable: true, configurable: false},
    TEXTURE_2D: {value: 3553, writable: false, enumerable: true, configurable: false},
    CULL_FACE: {value: 2884, writable: false, enumerable: true, configurable: false},
    BLEND: {value: 3042, writable: false, enumerable: true, configurable: false},
    DITHER: {value: 3024, writable: false, enumerable: true, configurable: false},
    STENCIL_TEST: {value: 2960, writable: false, enumerable: true, configurable: false},
    DEPTH_TEST: {value: 2929, writable: false, enumerable: true, configurable: false},
    SCISSOR_TEST: {value: 3089, writable: false, enumerable: true, configurable: false},
    POLYGON_OFFSET_FILL: {value: 32823, writable: false, enumerable: true, configurable: false},
    SAMPLE_ALPHA_TO_COVERAGE: {value: 32926, writable: false, enumerable: true, configurable: false},
    SAMPLE_COVERAGE: {value: 32928, writable: false, enumerable: true, configurable: false},
    NO_ERROR: {writable: false, enumerable: true, configurable: false},
    INVALID_ENUM: {value: 1280, writable: false, enumerable: true, configurable: false},
    INVALID_VALUE: {value: 1281, writable: false, enumerable: true, configurable: false},
    INVALID_OPERATION: {value: 1282, writable: false, enumerable: true, configurable: false},
    OUT_OF_MEMORY: {value: 1285, writable: false, enumerable: true, configurable: false},
    CW: {value: 2304, writable: false, enumerable: true, configurable: false},
    CCW: {value: 2305, writable: false, enumerable: true, configurable: false},
    LINE_WIDTH: {value: 2849, writable: false, enumerable: true, configurable: false},
    ALIASED_POINT_SIZE_RANGE: {value: 33901, writable: false, enumerable: true, configurable: false},
    ALIASED_LINE_WIDTH_RANGE: {value: 33902, writable: false, enumerable: true, configurable: false},
    CULL_FACE_MODE: {value: 2885, writable: false, enumerable: true, configurable: false},
    FRONT_FACE: {value: 2886, writable: false, enumerable: true, configurable: false},
    DEPTH_RANGE: {value: 2928, writable: false, enumerable: true, configurable: false},
    DEPTH_WRITEMASK: {value: 2930, writable: false, enumerable: true, configurable: false},
    DEPTH_CLEAR_VALUE: {value: 2931, writable: false, enumerable: true, configurable: false},
    DEPTH_FUNC: {value: 2932, writable: false, enumerable: true, configurable: false},
    STENCIL_CLEAR_VALUE: {value: 2961, writable: false, enumerable: true, configurable: false},
    STENCIL_FUNC: {value: 2962, writable: false, enumerable: true, configurable: false},
    STENCIL_FAIL: {value: 2964, writable: false, enumerable: true, configurable: false},
    STENCIL_PASS_DEPTH_FAIL: {value: 2965, writable: false, enumerable: true, configurable: false},
    STENCIL_PASS_DEPTH_PASS: {value: 2966, writable: false, enumerable: true, configurable: false},
    STENCIL_REF: {value: 2967, writable: false, enumerable: true, configurable: false},
    STENCIL_VALUE_MASK: {value: 2963, writable: false, enumerable: true, configurable: false},
    STENCIL_WRITEMASK: {value: 2968, writable: false, enumerable: true, configurable: false},
    STENCIL_BACK_FUNC: {value: 34816, writable: false, enumerable: true, configurable: false},
    STENCIL_BACK_FAIL: {value: 34817, writable: false, enumerable: true, configurable: false},
    STENCIL_BACK_PASS_DEPTH_FAIL: {
        value: 34818,
        writable: false,
        enumerable: true,
        configurable: false
    },
    STENCIL_BACK_PASS_DEPTH_PASS: {
        value: 34819,
        writable: false,
        enumerable: true,
        configurable: false
    },
    STENCIL_BACK_REF: {value: 36003, writable: false, enumerable: true, configurable: false},
    STENCIL_BACK_VALUE_MASK: {value: 36004, writable: false, enumerable: true, configurable: false},
    STENCIL_BACK_WRITEMASK: {value: 36005, writable: false, enumerable: true, configurable: false},
    VIEWPORT: {value: 2978, writable: false, enumerable: true, configurable: false},
    SCISSOR_BOX: {value: 3088, writable: false, enumerable: true, configurable: false},
    COLOR_CLEAR_VALUE: {value: 3106, writable: false, enumerable: true, configurable: false},
    COLOR_WRITEMASK: {value: 3107, writable: false, enumerable: true, configurable: false},
    UNPACK_ALIGNMENT: {value: 3317, writable: false, enumerable: true, configurable: false},
    PACK_ALIGNMENT: {value: 3333, writable: false, enumerable: true, configurable: false},
    MAX_TEXTURE_SIZE: {value: 3379, writable: false, enumerable: true, configurable: false},
    MAX_VIEWPORT_DIMS: {value: 3386, writable: false, enumerable: true, configurable: false},
    SUBPIXEL_BITS: {value: 3408, writable: false, enumerable: true, configurable: false},
    RED_BITS: {value: 3410, writable: false, enumerable: true, configurable: false},
    GREEN_BITS: {value: 3411, writable: false, enumerable: true, configurable: false},
    BLUE_BITS: {value: 3412, writable: false, enumerable: true, configurable: false},
    ALPHA_BITS: {value: 3413, writable: false, enumerable: true, configurable: false},
    DEPTH_BITS: {value: 3414, writable: false, enumerable: true, configurable: false},
    STENCIL_BITS: {value: 3415, writable: false, enumerable: true, configurable: false},
    POLYGON_OFFSET_UNITS: {value: 10752, writable: false, enumerable: true, configurable: false},
    POLYGON_OFFSET_FACTOR: {value: 32824, writable: false, enumerable: true, configurable: false},
    TEXTURE_BINDING_2D: {value: 32873, writable: false, enumerable: true, configurable: false},
    SAMPLE_BUFFERS: {value: 32936, writable: false, enumerable: true, configurable: false},
    SAMPLES: {value: 32937, writable: false, enumerable: true, configurable: false},
    SAMPLE_COVERAGE_VALUE: {value: 32938, writable: false, enumerable: true, configurable: false},
    SAMPLE_COVERAGE_INVERT: {value: 32939, writable: false, enumerable: true, configurable: false},
    COMPRESSED_TEXTURE_FORMATS: {value: 34467, writable: false, enumerable: true, configurable: false},
    DONT_CARE: {value: 4352, writable: false, enumerable: true, configurable: false},
    FASTEST: {value: 4353, writable: false, enumerable: true, configurable: false},
    NICEST: {value: 4354, writable: false, enumerable: true, configurable: false},
    GENERATE_MIPMAP_HINT: {value: 33170, writable: false, enumerable: true, configurable: false},
    BYTE: {value: 5120, writable: false, enumerable: true, configurable: false},
    UNSIGNED_BYTE: {value: 5121, writable: false, enumerable: true, configurable: false},
    SHORT: {value: 5122, writable: false, enumerable: true, configurable: false},
    UNSIGNED_SHORT: {value: 5123, writable: false, enumerable: true, configurable: false},
    INT: {value: 5124, writable: false, enumerable: true, configurable: false},
    UNSIGNED_INT: {value: 5125, writable: false, enumerable: true, configurable: false},
    FLOAT: {value: 5126, writable: false, enumerable: true, configurable: false},
    DEPTH_COMPONENT: {value: 6402, writable: false, enumerable: true, configurable: false},
    ALPHA: {value: 6406, writable: false, enumerable: true, configurable: false},
    RGB: {value: 6407, writable: false, enumerable: true, configurable: false},
    RGBA: {value: 6408, writable: false, enumerable: true, configurable: false},
    LUMINANCE: {value: 6409, writable: false, enumerable: true, configurable: false},
    LUMINANCE_ALPHA: {value: 6410, writable: false, enumerable: true, configurable: false},
    UNSIGNED_SHORT_4_4_4_4: {value: 32819, writable: false, enumerable: true, configurable: false},
    UNSIGNED_SHORT_5_5_5_1: {value: 32820, writable: false, enumerable: true, configurable: false},
    UNSIGNED_SHORT_5_6_5: {value: 33635, writable: false, enumerable: true, configurable: false},
    FRAGMENT_SHADER: {value: 35632, writable: false, enumerable: true, configurable: false},
    VERTEX_SHADER: {value: 35633, writable: false, enumerable: true, configurable: false},
    MAX_VERTEX_ATTRIBS: {value: 34921, writable: false, enumerable: true, configurable: false},
    MAX_VERTEX_UNIFORM_VECTORS: {value: 36347, writable: false, enumerable: true, configurable: false},
    MAX_VARYING_VECTORS: {value: 36348, writable: false, enumerable: true, configurable: false},
    MAX_COMBINED_TEXTURE_IMAGE_UNITS: {
        value: 35661,
        writable: false,
        enumerable: true,
        configurable: false
    },
    MAX_VERTEX_TEXTURE_IMAGE_UNITS: {
        value: 35660,
        writable: false,
        enumerable: true,
        configurable: false
    },
    MAX_TEXTURE_IMAGE_UNITS: {value: 34930, writable: false, enumerable: true, configurable: false},
    MAX_FRAGMENT_UNIFORM_VECTORS: {
        value: 36349,
        writable: false,
        enumerable: true,
        configurable: false
    },
    SHADER_TYPE: {value: 35663, writable: false, enumerable: true, configurable: false},
    DELETE_STATUS: {value: 35712, writable: false, enumerable: true, configurable: false},
    LINK_STATUS: {value: 35714, writable: false, enumerable: true, configurable: false},
    VALIDATE_STATUS: {value: 35715, writable: false, enumerable: true, configurable: false},
    ATTACHED_SHADERS: {value: 35717, writable: false, enumerable: true, configurable: false},
    ACTIVE_UNIFORMS: {value: 35718, writable: false, enumerable: true, configurable: false},
    ACTIVE_ATTRIBUTES: {value: 35721, writable: false, enumerable: true, configurable: false},
    SHADING_LANGUAGE_VERSION: {value: 35724, writable: false, enumerable: true, configurable: false},
    CURRENT_PROGRAM: {value: 35725, writable: false, enumerable: true, configurable: false},
    NEVER: {value: 512, writable: false, enumerable: true, configurable: false},
    LESS: {value: 513, writable: false, enumerable: true, configurable: false},
    EQUAL: {value: 514, writable: false, enumerable: true, configurable: false},
    LEQUAL: {value: 515, writable: false, enumerable: true, configurable: false},
    GREATER: {value: 516, writable: false, enumerable: true, configurable: false},
    NOTEQUAL: {value: 517, writable: false, enumerable: true, configurable: false},
    GEQUAL: {value: 518, writable: false, enumerable: true, configurable: false},
    ALWAYS: {value: 519, writable: false, enumerable: true, configurable: false},
    KEEP: {value: 7680, writable: false, enumerable: true, configurable: false},
    REPLACE: {value: 7681, writable: false, enumerable: true, configurable: false},
    INCR: {value: 7682, writable: false, enumerable: true, configurable: false},
    DECR: {value: 7683, writable: false, enumerable: true, configurable: false},
    INVERT: {value: 5386, writable: false, enumerable: true, configurable: false},
    INCR_WRAP: {value: 34055, writable: false, enumerable: true, configurable: false},
    DECR_WRAP: {value: 34056, writable: false, enumerable: true, configurable: false},
    VENDOR: {value: 7936, writable: false, enumerable: true, configurable: false},
    RENDERER: {value: 7937, writable: false, enumerable: true, configurable: false},
    VERSION: {value: 7938, writable: false, enumerable: true, configurable: false},
    NEAREST: {value: 9728, writable: false, enumerable: true, configurable: false},
    LINEAR: {value: 9729, writable: false, enumerable: true, configurable: false},
    NEAREST_MIPMAP_NEAREST: {value: 9984, writable: false, enumerable: true, configurable: false},
    LINEAR_MIPMAP_NEAREST: {value: 9985, writable: false, enumerable: true, configurable: false},
    NEAREST_MIPMAP_LINEAR: {value: 9986, writable: false, enumerable: true, configurable: false},
    LINEAR_MIPMAP_LINEAR: {value: 9987, writable: false, enumerable: true, configurable: false},
    TEXTURE_MAG_FILTER: {value: 10240, writable: false, enumerable: true, configurable: false},
    TEXTURE_MIN_FILTER: {value: 10241, writable: false, enumerable: true, configurable: false},
    TEXTURE_WRAP_S: {value: 10242, writable: false, enumerable: true, configurable: false},
    TEXTURE_WRAP_T: {value: 10243, writable: false, enumerable: true, configurable: false},
    TEXTURE: {value: 5890, writable: false, enumerable: true, configurable: false},
    TEXTURE_CUBE_MAP: {value: 34067, writable: false, enumerable: true, configurable: false},
    TEXTURE_BINDING_CUBE_MAP: {value: 34068, writable: false, enumerable: true, configurable: false},
    TEXTURE_CUBE_MAP_POSITIVE_X: {value: 34069, writable: false, enumerable: true, configurable: false},
    TEXTURE_CUBE_MAP_NEGATIVE_X: {value: 34070, writable: false, enumerable: true, configurable: false},
    TEXTURE_CUBE_MAP_POSITIVE_Y: {value: 34071, writable: false, enumerable: true, configurable: false},
    TEXTURE_CUBE_MAP_NEGATIVE_Y: {value: 34072, writable: false, enumerable: true, configurable: false},
    TEXTURE_CUBE_MAP_POSITIVE_Z: {value: 34073, writable: false, enumerable: true, configurable: false},
    TEXTURE_CUBE_MAP_NEGATIVE_Z: {value: 34074, writable: false, enumerable: true, configurable: false},
    MAX_CUBE_MAP_TEXTURE_SIZE: {value: 34076, writable: false, enumerable: true, configurable: false},
    TEXTURE0: {value: 33984, writable: false, enumerable: true, configurable: false},
    TEXTURE1: {value: 33985, writable: false, enumerable: true, configurable: false},
    TEXTURE2: {value: 33986, writable: false, enumerable: true, configurable: false},
    TEXTURE3: {value: 33987, writable: false, enumerable: true, configurable: false},
    TEXTURE4: {value: 33988, writable: false, enumerable: true, configurable: false},
    TEXTURE5: {value: 33989, writable: false, enumerable: true, configurable: false},
    TEXTURE6: {value: 33990, writable: false, enumerable: true, configurable: false},
    TEXTURE7: {value: 33991, writable: false, enumerable: true, configurable: false},
    TEXTURE8: {value: 33992, writable: false, enumerable: true, configurable: false},
    TEXTURE9: {value: 33993, writable: false, enumerable: true, configurable: false},
    TEXTURE10: {value: 33994, writable: false, enumerable: true, configurable: false},
    TEXTURE11: {value: 33995, writable: false, enumerable: true, configurable: false},
    TEXTURE12: {value: 33996, writable: false, enumerable: true, configurable: false},
    TEXTURE13: {value: 33997, writable: false, enumerable: true, configurable: false},
    TEXTURE14: {value: 33998, writable: false, enumerable: true, configurable: false},
    TEXTURE15: {value: 33999, writable: false, enumerable: true, configurable: false},
    TEXTURE16: {value: 34000, writable: false, enumerable: true, configurable: false},
    TEXTURE17: {value: 34001, writable: false, enumerable: true, configurable: false},
    TEXTURE18: {value: 34002, writable: false, enumerable: true, configurable: false},
    TEXTURE19: {value: 34003, writable: false, enumerable: true, configurable: false},
    TEXTURE20: {value: 34004, writable: false, enumerable: true, configurable: false},
    TEXTURE21: {value: 34005, writable: false, enumerable: true, configurable: false},
    TEXTURE22: {value: 34006, writable: false, enumerable: true, configurable: false},
    TEXTURE23: {value: 34007, writable: false, enumerable: true, configurable: false},
    TEXTURE24: {value: 34008, writable: false, enumerable: true, configurable: false},
    TEXTURE25: {value: 34009, writable: false, enumerable: true, configurable: false},
    TEXTURE26: {value: 34010, writable: false, enumerable: true, configurable: false},
    TEXTURE27: {value: 34011, writable: false, enumerable: true, configurable: false},
    TEXTURE28: {value: 34012, writable: false, enumerable: true, configurable: false},
    TEXTURE29: {value: 34013, writable: false, enumerable: true, configurable: false},
    TEXTURE30: {value: 34014, writable: false, enumerable: true, configurable: false},
    TEXTURE31: {value: 34015, writable: false, enumerable: true, configurable: false},
    ACTIVE_TEXTURE: {value: 34016, writable: false, enumerable: true, configurable: false},
    REPEAT: {value: 10497, writable: false, enumerable: true, configurable: false},
    CLAMP_TO_EDGE: {value: 33071, writable: false, enumerable: true, configurable: false},
    MIRRORED_REPEAT: {value: 33648, writable: false, enumerable: true, configurable: false},
    FLOAT_VEC2: {value: 35664, writable: false, enumerable: true, configurable: false},
    FLOAT_VEC3: {value: 35665, writable: false, enumerable: true, configurable: false},
    FLOAT_VEC4: {value: 35666, writable: false, enumerable: true, configurable: false},
    INT_VEC2: {value: 35667, writable: false, enumerable: true, configurable: false},
    INT_VEC3: {value: 35668, writable: false, enumerable: true, configurable: false},
    INT_VEC4: {value: 35669, writable: false, enumerable: true, configurable: false},
    BOOL: {value: 35670, writable: false, enumerable: true, configurable: false},
    BOOL_VEC2: {value: 35671, writable: false, enumerable: true, configurable: false},
    BOOL_VEC3: {value: 35672, writable: false, enumerable: true, configurable: false},
    BOOL_VEC4: {value: 35673, writable: false, enumerable: true, configurable: false},
    FLOAT_MAT2: {value: 35674, writable: false, enumerable: true, configurable: false},
    FLOAT_MAT3: {value: 35675, writable: false, enumerable: true, configurable: false},
    FLOAT_MAT4: {value: 35676, writable: false, enumerable: true, configurable: false},
    SAMPLER_2D: {value: 35678, writable: false, enumerable: true, configurable: false},
    SAMPLER_CUBE: {value: 35680, writable: false, enumerable: true, configurable: false},
    VERTEX_ATTRIB_ARRAY_ENABLED: {value: 34338, writable: false, enumerable: true, configurable: false},
    VERTEX_ATTRIB_ARRAY_SIZE: {value: 34339, writable: false, enumerable: true, configurable: false},
    VERTEX_ATTRIB_ARRAY_STRIDE: {value: 34340, writable: false, enumerable: true, configurable: false},
    VERTEX_ATTRIB_ARRAY_TYPE: {value: 34341, writable: false, enumerable: true, configurable: false},
    VERTEX_ATTRIB_ARRAY_NORMALIZED: {
        value: 34922,
        writable: false,
        enumerable: true,
        configurable: false
    },
    VERTEX_ATTRIB_ARRAY_POINTER: {value: 34373, writable: false, enumerable: true, configurable: false},
    VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: {
        value: 34975,
        writable: false,
        enumerable: true,
        configurable: false
    },
    IMPLEMENTATION_COLOR_READ_TYPE: {
        value: 35738,
        writable: false,
        enumerable: true,
        configurable: false
    },
    IMPLEMENTATION_COLOR_READ_FORMAT: {
        value: 35739,
        writable: false,
        enumerable: true,
        configurable: false
    },
    COMPILE_STATUS: {value: 35713, writable: false, enumerable: true, configurable: false},
    LOW_FLOAT: {value: 36336, writable: false, enumerable: true, configurable: false},
    MEDIUM_FLOAT: {value: 36337, writable: false, enumerable: true, configurable: false},
    HIGH_FLOAT: {value: 36338, writable: false, enumerable: true, configurable: false},
    LOW_INT: {value: 36339, writable: false, enumerable: true, configurable: false},
    MEDIUM_INT: {value: 36340, writable: false, enumerable: true, configurable: false},
    HIGH_INT: {value: 36341, writable: false, enumerable: true, configurable: false},
    FRAMEBUFFER: {value: 36160, writable: false, enumerable: true, configurable: false},
    RENDERBUFFER: {value: 36161, writable: false, enumerable: true, configurable: false},
    RGBA4: {value: 32854, writable: false, enumerable: true, configurable: false},
    RGB5_A1: {value: 32855, writable: false, enumerable: true, configurable: false},
    RGB565: {value: 36194, writable: false, enumerable: true, configurable: false},
    DEPTH_COMPONENT16: {value: 33189, writable: false, enumerable: true, configurable: false},
    STENCIL_INDEX8: {value: 36168, writable: false, enumerable: true, configurable: false},
    DEPTH_STENCIL: {value: 34041, writable: false, enumerable: true, configurable: false},
    RENDERBUFFER_WIDTH: {value: 36162, writable: false, enumerable: true, configurable: false},
    RENDERBUFFER_HEIGHT: {value: 36163, writable: false, enumerable: true, configurable: false},
    RENDERBUFFER_INTERNAL_FORMAT: {
        value: 36164,
        writable: false,
        enumerable: true,
        configurable: false
    },
    RENDERBUFFER_RED_SIZE: {value: 36176, writable: false, enumerable: true, configurable: false},
    RENDERBUFFER_GREEN_SIZE: {value: 36177, writable: false, enumerable: true, configurable: false},
    RENDERBUFFER_BLUE_SIZE: {value: 36178, writable: false, enumerable: true, configurable: false},
    RENDERBUFFER_ALPHA_SIZE: {value: 36179, writable: false, enumerable: true, configurable: false},
    RENDERBUFFER_DEPTH_SIZE: {value: 36180, writable: false, enumerable: true, configurable: false},
    RENDERBUFFER_STENCIL_SIZE: {value: 36181, writable: false, enumerable: true, configurable: false},
    FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: {
        value: 36048,
        writable: false,
        enumerable: true,
        configurable: false
    },
    FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: {
        value: 36049,
        writable: false,
        enumerable: true,
        configurable: false
    },
    FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: {
        value: 36050,
        writable: false,
        enumerable: true,
        configurable: false
    },
    FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: {
        value: 36051,
        writable: false,
        enumerable: true,
        configurable: false
    },
    COLOR_ATTACHMENT0: {value: 36064, writable: false, enumerable: true, configurable: false},
    DEPTH_ATTACHMENT: {value: 36096, writable: false, enumerable: true, configurable: false},
    STENCIL_ATTACHMENT: {value: 36128, writable: false, enumerable: true, configurable: false},
    DEPTH_STENCIL_ATTACHMENT: {value: 33306, writable: false, enumerable: true, configurable: false},
    NONE: {writable: false, enumerable: true, configurable: false},
    FRAMEBUFFER_COMPLETE: {value: 36053, writable: false, enumerable: true, configurable: false},
    FRAMEBUFFER_INCOMPLETE_ATTACHMENT: {
        value: 36054,
        writable: false,
        enumerable: true,
        configurable: false
    },
    FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: {
        value: 36055,
        writable: false,
        enumerable: true,
        configurable: false
    },
    FRAMEBUFFER_INCOMPLETE_DIMENSIONS: {
        value: 36057,
        writable: false,
        enumerable: true,
        configurable: false
    },
    FRAMEBUFFER_UNSUPPORTED: {value: 36061, writable: false, enumerable: true, configurable: false},
    FRAMEBUFFER_BINDING: {value: 36006, writable: false, enumerable: true, configurable: false},
    RENDERBUFFER_BINDING: {value: 36007, writable: false, enumerable: true, configurable: false},
    MAX_RENDERBUFFER_SIZE: {value: 34024, writable: false, enumerable: true, configurable: false},
    INVALID_FRAMEBUFFER_OPERATION: {
        value: 1286,
        writable: false,
        enumerable: true,
        configurable: false
    },
    UNPACK_FLIP_Y_WEBGL: {value: 37440, writable: false, enumerable: true, configurable: false},
    UNPACK_PREMULTIPLY_ALPHA_WEBGL: {
        value: 37441,
        writable: false,
        enumerable: true,
        configurable: false
    },
    CONTEXT_LOST_WEBGL: {value: 37442, writable: false, enumerable: true, configurable: false},
    UNPACK_COLORSPACE_CONVERSION_WEBGL: {
        value: 37443,
        writable: false,
        enumerable: true,
        configurable: false
    },
    BROWSER_DEFAULT_WEBGL: {value: 37444, writable: false, enumerable: true, configurable: false},
    activeTexture: {writable: true, enumerable: true, configurable: true},
    attachShader: {writable: true, enumerable: true, configurable: true},
    bindAttribLocation: {writable: true, enumerable: true, configurable: true},
    bindRenderbuffer: {writable: true, enumerable: true, configurable: true},
    blendColor: {writable: true, enumerable: true, configurable: true},
    blendEquation: {writable: true, enumerable: true, configurable: true},
    blendEquationSeparate: {writable: true, enumerable: true, configurable: true},
    blendFunc: {writable: true, enumerable: true, configurable: true},
    blendFuncSeparate: {writable: true, enumerable: true, configurable: true},
    bufferData: {writable: true, enumerable: true, configurable: true},
    bufferSubData: {writable: true, enumerable: true, configurable: true},
    checkFramebufferStatus: {writable: true, enumerable: true, configurable: true},
    compileShader: {writable: true, enumerable: true, configurable: true},
    compressedTexImage2D: {writable: true, enumerable: true, configurable: true},
    compressedTexSubImage2D: {writable: true, enumerable: true, configurable: true},
    copyTexImage2D: {writable: true, enumerable: true, configurable: true},
    copyTexSubImage2D: {writable: true, enumerable: true, configurable: true},
    createBuffer: {writable: true, enumerable: true, configurable: true},
    createFramebuffer: {writable: true, enumerable: true, configurable: true},
    createProgram: {writable: true, enumerable: true, configurable: true},
    createRenderbuffer: {writable: true, enumerable: true, configurable: true},
    createShader: {writable: true, enumerable: true, configurable: true},
    createTexture: {writable: true, enumerable: true, configurable: true},
    cullFace: {writable: true, enumerable: true, configurable: true},
    deleteBuffer: {writable: true, enumerable: true, configurable: true},
    deleteFramebuffer: {writable: true, enumerable: true, configurable: true},
    deleteProgram: {writable: true, enumerable: true, configurable: true},
    deleteRenderbuffer: {writable: true, enumerable: true, configurable: true},
    deleteShader: {writable: true, enumerable: true, configurable: true},
    deleteTexture: {writable: true, enumerable: true, configurable: true},
    depthFunc: {writable: true, enumerable: true, configurable: true},
    depthMask: {writable: true, enumerable: true, configurable: true},
    depthRange: {writable: true, enumerable: true, configurable: true},
    detachShader: {writable: true, enumerable: true, configurable: true},
    disable: {writable: true, enumerable: true, configurable: true},
    enable: {writable: true, enumerable: true, configurable: true},
    finish: {writable: true, enumerable: true, configurable: true},
    flush: {writable: true, enumerable: true, configurable: true},
    framebufferRenderbuffer: {writable: true, enumerable: true, configurable: true},
    framebufferTexture2D: {writable: true, enumerable: true, configurable: true},
    frontFace: {writable: true, enumerable: true, configurable: true},
    generateMipmap: {writable: true, enumerable: true, configurable: true},
    getActiveAttrib: {writable: true, enumerable: true, configurable: true},
    getActiveUniform: {writable: true, enumerable: true, configurable: true},
    getAttachedShaders: {writable: true, enumerable: true, configurable: true},
    getAttribLocation: {writable: true, enumerable: true, configurable: true},
    getBufferParameter: {writable: true, enumerable: true, configurable: true},
    getContextAttributes: {writable: true, enumerable: true, configurable: true},
    getError: {writable: true, enumerable: true, configurable: true},
    getExtension: {writable: true, enumerable: true, configurable: true},
    getFramebufferAttachmentParameter: {writable: true, enumerable: true, configurable: true},
    getParameter: {writable: true, enumerable: true, configurable: true},
    getProgramInfoLog: {writable: true, enumerable: true, configurable: true},
    getProgramParameter: {writable: true, enumerable: true, configurable: true},
    getRenderbufferParameter: {writable: true, enumerable: true, configurable: true},
    getShaderInfoLog: {writable: true, enumerable: true, configurable: true},
    getShaderParameter: {writable: true, enumerable: true, configurable: true},
    getShaderPrecisionFormat: {writable: true, enumerable: true, configurable: true},
    getShaderSource: {writable: true, enumerable: true, configurable: true},
    getSupportedExtensions: {writable: true, enumerable: true, configurable: true},
    getTexParameter: {writable: true, enumerable: true, configurable: true},
    getUniform: {writable: true, enumerable: true, configurable: true},
    getUniformLocation: {writable: true, enumerable: true, configurable: true},
    getVertexAttrib: {writable: true, enumerable: true, configurable: true},
    getVertexAttribOffset: {writable: true, enumerable: true, configurable: true},
    hint: {writable: true, enumerable: true, configurable: true},
    isBuffer: {writable: true, enumerable: true, configurable: true},
    isContextLost: {writable: true, enumerable: true, configurable: true},
    isEnabled: {writable: true, enumerable: true, configurable: true},
    isFramebuffer: {writable: true, enumerable: true, configurable: true},
    isProgram: {writable: true, enumerable: true, configurable: true},
    isRenderbuffer: {writable: true, enumerable: true, configurable: true},
    isShader: {writable: true, enumerable: true, configurable: true},
    isTexture: {writable: true, enumerable: true, configurable: true},
    lineWidth: {writable: true, enumerable: true, configurable: true},
    linkProgram: {writable: true, enumerable: true, configurable: true},
    pixelStorei: {writable: true, enumerable: true, configurable: true},
    polygonOffset: {writable: true, enumerable: true, configurable: true},
    readPixels: {writable: true, enumerable: true, configurable: true},
    renderbufferStorage: {writable: true, enumerable: true, configurable: true},
    sampleCoverage: {writable: true, enumerable: true, configurable: true},
    shaderSource: {writable: true, enumerable: true, configurable: true},
    stencilFunc: {writable: true, enumerable: true, configurable: true},
    stencilFuncSeparate: {writable: true, enumerable: true, configurable: true},
    stencilMask: {writable: true, enumerable: true, configurable: true},
    stencilMaskSeparate: {writable: true, enumerable: true, configurable: true},
    stencilOp: {writable: true, enumerable: true, configurable: true},
    stencilOpSeparate: {writable: true, enumerable: true, configurable: true},
    texImage2D: {writable: true, enumerable: true, configurable: true},
    texParameterf: {writable: true, enumerable: true, configurable: true},
    texParameteri: {writable: true, enumerable: true, configurable: true},
    texSubImage2D: {writable: true, enumerable: true, configurable: true},
    useProgram: {writable: true, enumerable: true, configurable: true},
    validateProgram: {writable: true, enumerable: true, configurable: true},
    bindBuffer: {writable: true, enumerable: true, configurable: true},
    bindFramebuffer: {writable: true, enumerable: true, configurable: true},
    bindTexture: {writable: true, enumerable: true, configurable: true},
    clear: {writable: true, enumerable: true, configurable: true},
    clearColor: {writable: true, enumerable: true, configurable: true},
    clearDepth: {writable: true, enumerable: true, configurable: true},
    clearStencil: {writable: true, enumerable: true, configurable: true},
    colorMask: {writable: true, enumerable: true, configurable: true},
    disableVertexAttribArray: {writable: true, enumerable: true, configurable: true},
    drawArrays: {writable: true, enumerable: true, configurable: true},
    drawElements: {writable: true, enumerable: true, configurable: true},
    enableVertexAttribArray: {writable: true, enumerable: true, configurable: true},
    scissor: {writable: true, enumerable: true, configurable: true},
    uniform1f: {writable: true, enumerable: true, configurable: true},
    uniform1fv: {writable: true, enumerable: true, configurable: true},
    uniform1i: {writable: true, enumerable: true, configurable: true},
    uniform1iv: {writable: true, enumerable: true, configurable: true},
    uniform2f: {writable: true, enumerable: true, configurable: true},
    uniform2fv: {writable: true, enumerable: true, configurable: true},
    uniform2i: {writable: true, enumerable: true, configurable: true},
    uniform2iv: {writable: true, enumerable: true, configurable: true},
    uniform3f: {writable: true, enumerable: true, configurable: true},
    uniform3fv: {writable: true, enumerable: true, configurable: true},
    uniform3i: {writable: true, enumerable: true, configurable: true},
    uniform3iv: {writable: true, enumerable: true, configurable: true},
    uniform4f: {writable: true, enumerable: true, configurable: true},
    uniform4fv: {writable: true, enumerable: true, configurable: true},
    uniform4i: {writable: true, enumerable: true, configurable: true},
    uniform4iv: {writable: true, enumerable: true, configurable: true},
    uniformMatrix2fv: {writable: true, enumerable: true, configurable: true},
    uniformMatrix3fv: {writable: true, enumerable: true, configurable: true},
    uniformMatrix4fv: {writable: true, enumerable: true, configurable: true},
    vertexAttrib1f: {writable: true, enumerable: true, configurable: true},
    vertexAttrib1fv: {writable: true, enumerable: true, configurable: true},
    vertexAttrib2f: {writable: true, enumerable: true, configurable: true},
    vertexAttrib2fv: {writable: true, enumerable: true, configurable: true},
    vertexAttrib3f: {writable: true, enumerable: true, configurable: true},
    vertexAttrib3fv: {writable: true, enumerable: true, configurable: true},
    vertexAttrib4f: {writable: true, enumerable: true, configurable: true},
    vertexAttrib4fv: {writable: true, enumerable: true, configurable: true},
    vertexAttribPointer: {writable: true, enumerable: true, configurable: true},
    viewport: {writable: true, enumerable: true, configurable: true},
    constructor: {writable: true, enumerable: false, configurable: true},
    makeXRCompatible: {writable: true, enumerable: true, configurable: true},
    [Symbol.toStringTag]: {
        value: "WebGLRenderingContext",
        writable: false,
        enumerable: false,
        configurable: true
    },
})

window.WebGLRenderingContext = WebGLRenderingContext

class OffscreenCanvas {
    width = 0;
    height = 0;
    _canvas = null;

    constructor(w, h) {
        console.log('OffscreenCanvas new', w, h)
        this.width = w;
        this.height = h;
        this._canvas = Canvas.createCanvas(w, h)
    }

    getContext(type) {

        let res = this._canvas.getContext(type)
        if (type === 'webgl') {
            let t = proxy(new window.WebGLRenderingContext(), 'offCanvas.webgl')

            return t
        }
        // return proxy(res, 'newContext')
        console.log('OffscreenCanvas getContext', type, res)
        if (type == '2d') {
            res = new OffscreenCanvasRenderingContext2D();
        }
        return res;

    }
}

PerformanceEntry = v_saf(function PerformanceEntry() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
MediaDevices = v_saf(function MediaDevices() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(MediaDevices, EventTarget)
Object.defineProperties(MediaDevices.prototype, {
    ondevicechange: {
        value: v_saf(function ondevicechange() {
            v_console_log("MediaDevices ondevicechange", arguments)
        })
    },
    enumerateDevices: {
        value: function () {
            return {
                then: function () {
                    return this
                }, catch: function () {
                }
            }
        }
    }
})
PerformanceElementTiming = v_saf(function PerformanceElementTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformanceElementTiming, PerformanceEntry)
PerformanceEventTiming = v_saf(function PerformanceEventTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformanceEventTiming, PerformanceEntry)
PerformanceLongTaskTiming = v_saf(function PerformanceLongTaskTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformanceLongTaskTiming, PerformanceEntry)
PerformanceMark = v_saf(function PerformanceMark() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformanceMark, PerformanceEntry)
PerformanceMeasure = v_saf(function PerformanceMeasure() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformanceMeasure, PerformanceEntry)
PerformanceNavigation = v_saf(function PerformanceNavigation() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
PerformanceResourceTiming = v_saf(function PerformanceResourceTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformanceResourceTiming, PerformanceEntry)
PerformanceNavigationTiming = v_saf(function PerformanceNavigationTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformanceNavigationTiming, PerformanceResourceTiming)
PerformanceObserver = v_saf(function PerformanceObserver() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
PerformanceObserverEntryList = v_saf(function PerformanceObserverEntryList() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
PerformancePaintTiming = v_saf(function PerformancePaintTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PerformancePaintTiming, PerformanceEntry)
PerformanceServerTiming = v_saf(function PerformanceServerTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
PerformanceTiming = v_saf(function PerformanceTiming() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
HTMLUnknownElement = v_saf(function HTMLUnknownElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLUnknownElement, HTMLElement)
HTMLVideoElement = v_saf(function HTMLVideoElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLVideoElement, HTMLMediaElement)

Storage = v_saf(function Storage() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
ImageData = v_saf(function ImageData() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
Object.defineProperties(ImageData.prototype, {
    data: {
        value: Uint8ClampedArray.from([0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255]),
        writable: true
    },
    height: {value: 5, writable: true},
    width: {value: 5, writable: true},
    colorSpace: {value: 'srgb', writable: true},
})
Touch = v_saf(function Touch() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
TouchEvent = v_saf(function TouchEvent() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(TouchEvent, UIEvent)

window.StaticRange = v_saf(function StaticRange() {
})
PointerEvent = v_saf(function PointerEvent() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(PointerEvent, MouseEvent)
HTMLHtmlElement = v_saf(function HTMLHtmlElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});

// _inherits(HTMLHtmlElement, HTMLElement)
HTMLMetaElement = v_saf(function HTMLMetaElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLMetaElement, HTMLElement)
HTMLTitleElement = v_saf(function HTMLTitleElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLTitleElement, HTMLElement)
HTMLScriptElement = v_saf(function HTMLScriptElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLScriptElement, HTMLElement)
HTMLStyleElement = v_saf(function HTMLScriptElement() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(HTMLStyleElement, HTMLElement)
Object.defineProperties(Node.prototype, {
    attrs: {
        value: {}
    },
    setAttribute: {
        value: function (key, value) {
            this.attrs[key] = value
        }
    },
    parentNode: {
        value: v_new(HTMLScriptElement)
    },
    insertBefore: {
        value: function (tag, newNode) {
            return tag
        }
    }
})

getRanHex = size => {
    let result = [];
    let hexRef = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];

    for (let n = 0; n < size; n++) {
        result.push(hexRef[Math.floor(_random() * 16)].toUpperCase() + hexRef[Math.floor(_random() * 16)].toUpperCase());
    }
    return result;
}
Object.defineProperties(RTCSessionDescription.prototype, {
    sdp: {
        get: v_saf(function get() {
            let t1 = parseInt(Math.random() * (9145445486224659982 / 2) + 9145445486224659982 / 1.2)
            let hex = getRanHex(32).join(':');
            let res = `v=0
o=- ${t1} 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0
a=extmap-allow-mixed
a=msid-semantic: WMS
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 0.0.0.0
a=ice-ufrag:Pz1P
a=ice-pwd:2RkyfgKRyILQtDZZ5mluUlPS
a=ice-options:trickle
a=fingerprint:sha-256 ${hex}
a=setup:actpass
a=mid:0
a=sctp-port:5000
a=max-message-size:262144`
            console.log("  [*] RTCSessionDescription -> sdp[get]", res);

            return res

        })
    },
    type: {
        get: v_saf(function get() {
            print("  [*] RTCSessionDescription -> type[get]", "offer");
            return "offer"
        })
    },
    [Symbol.toStringTag]: {value: "RTCSessionDescription", writable: false, enumerable: false, configurable: true},
})

Object.defineProperties(EventTarget.prototype, {
    [Symbol.toStringTag]: {value: "EventTarget", writable: false, enumerable: false, configurable: true},
})

class OffscreenCanvasRenderingContext2D {

    imageDatas = {
        "18,90,1,1": [214, 122, 6, 255],
        "38,77,1,1": [255, 255, 255, 255],
        "48,28,1,1": [0, 0, 0, 0],
        "94,23,1,1": [0, 0, 0, 0],
        "26,46,1,1": [253, 243, 245, 255],
        "47,23,1,1": [0, 0, 0, 0],
        "37,17,1,1": [0, 0, 0, 255],
        "62,28,1,1": [204, 131, 217, 255]
    }
    imageData = ENV.imgsres['94px sans-serif']

    constructor(w, h, context) {
        console.log('OffscreenCanvasRenderingContext2D.new', w, h)
        this.width = w;
        this.height = h;
        if (context) {
            this._context = context

        } else {
            this._context = Canvas.createCanvas(w, h).getContext('2d')

        }
    }

    set font(f) {
        console.log('OffscreenCanvasRenderingContext2D.font', f)
        this._font = f;
        this._context.font = f;
    }

    measureText(text) {
        console.log('OffscreenCanvasRenderingContext2D.measureText1', text)
        this._text = text;
        window.fonts.push({
            font: this._font,
            text: text
        })
        let res = new TextMetrics(text, this._context, this._font);
        // return proxy(res, 'TextMetrics')
        return res;
    }

    get canvas() {
        console.log('CanvasRenderingContext2D22.canvas.get')
    }

    get globalAlpha() {
        console.log('CanvasRenderingContext2D22.globalAlpha.get')
    }

    set globalAlpha(args) {
        console.log('CanvasRenderingContext2D22.globalAlpha.set', args)
    }

    get globalCompositeOperation() {
        console.log('CanvasRenderingContext2D22.globalCompositeOperation.get')
    }

    set globalCompositeOperation(args) {
        console.log('CanvasRenderingContext2D22.globalCompositeOperation.set', args)
    }

    get filter() {
        console.log('CanvasRenderingContext2D22.filter.get')
    }

    set filter(args) {
        console.log('CanvasRenderingContext2D22.filter.set', args)
    }

    get imageSmoothingEnabled() {
        console.log('CanvasRenderingContext2D22.imageSmoothingEnabled.get')
    }

    set imageSmoothingEnabled(args) {
        console.log('CanvasRenderingContext2D22.imageSmoothingEnabled.set', args)
    }

    get imageSmoothingQuality() {
        console.log('CanvasRenderingContext2D22.imageSmoothingQuality.get')
    }

    set imageSmoothingQuality(args) {
        console.log('CanvasRenderingContext2D22.imageSmoothingQuality.set', args)
    }

    get strokeStyle() {
        console.log('CanvasRenderingContext2D22.strokeStyle.get')
    }

    set strokeStyle(args) {
        console.log('CanvasRenderingContext2D22.strokeStyle.set', args)
        return this._context.strokeStyle = args
    }

    get fillStyle() {
        console.log('CanvasRenderingContext2D22.fillStyle.get')
    }

    set fillStyle(args) {
        console.log('CanvasRenderingContext2D22.fillStyle.set', args)
        this._context.canvas.fillStyle = args

    }

    get shadowOffsetX() {
        console.log('CanvasRenderingContext2D22.shadowOffsetX.get')
    }

    set shadowOffsetX(args) {
        console.log('CanvasRenderingContext2D22.shadowOffsetX.set', args)
        this._context.shadowOffsetX = args
    }

    get shadowOffsetY() {
        console.log('CanvasRenderingContext2D22.shadowOffsetY.get')
    }

    set shadowOffsetY(args) {
        console.log('CanvasRenderingContext2D22.shadowOffsetY.set', args)
        this._context.shadowOffsetY = args

    }

    get shadowBlur() {
        console.log('CanvasRenderingContext2D22.shadowBlur.get')
    }

    set shadowBlur(args) {
        console.log('CanvasRenderingContext2D22.shadowBlur.set', args)
        this._context.shadowBlur = args

    }

    get shadowColor() {
        console.log('CanvasRenderingContext2D22.shadowColor.get')

    }

    set shadowColor(args) {
        console.log('CanvasRenderingContext2D22.shadowColor.set', args)
        this._context.shadowColor = args

    }

    get lineWidth() {
        console.log('CanvasRenderingContext2D22.lineWidth.get')
    }

    set lineWidth(args) {
        console.log('CanvasRenderingContext2D22.lineWidth.set', args)
        this._context.lineWidth = args;
    }

    get lineCap() {
        console.log('CanvasRenderingContext2D22.lineCap.get')
    }

    set lineCap(args) {
        console.log('CanvasRenderingContext2D22.lineCap.set', args)
    }

    get lineJoin() {
        console.log('CanvasRenderingContext2D22.lineJoin.get')
    }

    set lineJoin(args) {
        console.log('CanvasRenderingContext2D22.lineJoin.set', args)
    }

    get miterLimit() {
        console.log('CanvasRenderingContext2D22.miterLimit.get')
    }

    set miterLimit(args) {
        console.log('CanvasRenderingContext2D22.miterLimit.set', args)
    }

    get lineDashOffset() {
        console.log('CanvasRenderingContext2D22.lineDashOffset.get')
    }

    set lineDashOffset(args) {
        console.log('CanvasRenderingContext2D22.lineDashOffset.set', args)
    }

    get font() {
        console.log('CanvasRenderingContext2D22.font.get')
        return this._context.font;
    }

    get textAlign() {
        console.log('CanvasRenderingContext2D22.textAlign.get')
    }

    set textAlign(args) {
        console.log('CanvasRenderingContext2D22.textAlign.set', args)
    }

    get textBaseline() {
        console.log('CanvasRenderingContext2D22.textBaseline.get')
        return this._context.textBaseline
    }

    set textBaseline(args) {
        console.log('CanvasRenderingContext2D22.textBaseline.set', args)
        this._context.textBaseline = args
    }

    get direction() {
        console.log('CanvasRenderingContext2D22.direction.get')
        return this._context.direction;
    }

    set direction(args) {
        console.log('CanvasRenderingContext2D22.direction.set', args)
        this._context.direction = args

    }

    get fontKerning() {
        console.log('CanvasRenderingContext2D22.fontKerning.get')
    }

    set fontKerning(args) {
        console.log('CanvasRenderingContext2D22.fontKerning.set', args)
    }

    get fontStretch() {
        console.log('CanvasRenderingContext2D22.fontStretch.get')
    }

    set fontStretch(args) {
        console.log('CanvasRenderingContext2D22.fontStretch.set', args)
    }

    get fontVariantCaps() {
        console.log('CanvasRenderingContext2D22.fontVariantCaps.get')
    }

    set fontVariantCaps(args) {
        console.log('CanvasRenderingContext2D22.fontVariantCaps.set', args)
    }

    get letterSpacing() {
        console.log('CanvasRenderingContext2D22.letterSpacing.get')
    }

    set letterSpacing(args) {
        console.log('CanvasRenderingContext2D22.letterSpacing.set', args)
    }

    get textRendering() {
        console.log('CanvasRenderingContext2D22.textRendering.get')
    }

    set textRendering(args) {
        console.log('CanvasRenderingContext2D22.textRendering.set', args)
    }

    get wordSpacing() {
        console.log('CanvasRenderingContext2D22.wordSpacing.get')
    }

    set wordSpacing(args) {
        console.log('CanvasRenderingContext2D22.wordSpacing.set', args)
    }

    clip() {
        console.log('CanvasRenderingContext2D22.clip')
    }

    createConicGradient() {
        console.log('CanvasRenderingContext2D22.createConicGradient')
    }

    createImageData() {
        console.log('CanvasRenderingContext2D22.createImageData')
    }

    createLinearGradient() {
        console.log('CanvasRenderingContext2D22.createLinearGradient')

        return this._context.createLinearGradient(...arguments)
    }

    createPattern() {
        console.log('CanvasRenderingContext2D22.createPattern')
    }

    createRadialGradient() {
        console.log('CanvasRenderingContext2D22.createRadialGradient')
    }

    drawFocusIfNeeded() {
        console.log('CanvasRenderingContext2D22.drawFocusIfNeeded')
    }

    drawImage() {
        console.log('CanvasRenderingContext2D22.drawImage')
        this._context.drawImage(...arguments)
    }

    fill() {
        console.log('CanvasRenderingContext2D22.fill')
    }

    fillText() {
        console.log('CanvasRenderingContext2D22.fillText', ...arguments)
        this._context.fillText(...arguments)
        this._fillText = [arguments[0], arguments[1], arguments[2]]
    }

    getContextAttributes() {
        console.log('CanvasRenderingContext2D22.getContextAttributes')
    }

    getImageData() {
        let t = _random();

        let res = this._context.getImageData(...arguments)
        window.imageDatas.push({
            font: this._context.font,
            fillStyle: this._context.fillStyle,
            fillText: this._fillText,
            imageData: [arguments[0], arguments[1], arguments[2], arguments[3]]
        })
        let tdata = this.imageDatas[[arguments[0], arguments[1], arguments[2], arguments[3]] + ''];
        if (tdata) {
            res.data[0] = parseInt(tdata[0] * t)
            res.data[1] = parseInt(tdata[1] * t)
            res.data[2] = parseInt(tdata[2] * t)
            res.data[3] = parseInt(tdata[3] * t)
        }
        console.log('CanvasRenderingContext2D22.getImageData', ...arguments, res)

        return res
    }

    getLineDash() {
        console.log('CanvasRenderingContext2D22.getLineDash')
    }

    getTransform() {
        console.log('CanvasRenderingContext2D22.getTransform')
    }

    isContextLost() {
        console.log('CanvasRenderingContext2D22.isContextLost')
    }

    isPointInPath() {
        console.log('CanvasRenderingContext2D22.isPointInPath')
    }

    isPointInStroke() {
        console.log('CanvasRenderingContext2D22.isPointInStroke')
    }

    putImageData() {
        console.log('CanvasRenderingContext2D22.putImageData')
    }

    reset() {
        console.log('CanvasRenderingContext2D22.reset')
    }

    roundRect() {
        console.log('CanvasRenderingContext2D22.roundRect')
    }

    save() {
        console.log('CanvasRenderingContext2D22.save')
    }

    scale() {
        console.log('CanvasRenderingContext2D22.scale')
    }

    setLineDash() {
        console.log('CanvasRenderingContext2D22.setLineDash')
    }

    setTransform() {
        console.log('CanvasRenderingContext2D22.setTransform')
    }

    stroke() {
        console.log('CanvasRenderingContext2D22.stroke')
        this._context.stroke()
    }

    strokeText() {
        console.log('CanvasRenderingContext2D22.strokeText')
    }

    transform() {
        console.log('CanvasRenderingContext2D22.transform')
    }

    translate() {
        console.log('CanvasRenderingContext2D22.translate')
    }

    arc() {
        console.log('CanvasRenderingContext2D22.arc')
        return this._context.arc(...arguments)
    }

    arcTo() {
        console.log('CanvasRenderingContext2D22.arcTo')
    }

    beginPath() {
        console.log('CanvasRenderingContext2D22.beginPath')
        return this._context.beginPath()
    }

    bezierCurveTo() {
        console.log('CanvasRenderingContext2D22.bezierCurveTo')
    }

    clearRect() {
        console.log('CanvasRenderingContext2D22.clearRect')
    }

    closePath() {
        console.log('CanvasRenderingContext2D22.closePath')
        return this._context.closePath(...arguments)

    }

    ellipse() {
        console.log('CanvasRenderingContext2D22.ellipse')
    }

    fillRect() {
        console.log('CanvasRenderingContext2D22.fillRect')
        return this._context.fillRect(...arguments)
    }

    lineTo() {
        console.log('CanvasRenderingContext2D22.lineTo')
        return this._context.lineTo(...arguments)

    }

    moveTo() {
        console.log('CanvasRenderingContext2D22.moveTo')
        return this._context.moveTo(...arguments)
    }

    quadraticCurveTo() {
        console.log('CanvasRenderingContext2D22.quadraticCurveTo')
    }

    rect() {
        console.log('CanvasRenderingContext2D22.rect')
    }

    resetTransform() {
        console.log('CanvasRenderingContext2D22.resetTransform')
    }

    restore() {
        console.log('CanvasRenderingContext2D22.restore')
    }

    rotate() {
        console.log('CanvasRenderingContext2D22.rotate')
    }

    strokeRect() {
        console.log('CanvasRenderingContext2D22.strokeRect')
    }


}

///
let r = {}
Object.keys(Object.getOwnPropertyDescriptors(OffscreenCanvasRenderingContext2D.prototype)).forEach(e => {
    r[e] = {}
    if (Object.getOwnPropertyDescriptor(OffscreenCanvasRenderingContext2D.prototype, e)['value']) {
        r[e]['value'] = v_saf(Object.getOwnPropertyDescriptor(OffscreenCanvasRenderingContext2D.prototype, e)['value'])
    }

    if (Object.getOwnPropertyDescriptor(OffscreenCanvasRenderingContext2D.prototype, e)['get']) {
        r[e]['get'] = v_saf(Object.getOwnPropertyDescriptor(OffscreenCanvasRenderingContext2D.prototype, e)['get'], undefined, 'get ')
    }
    if (Object.getOwnPropertyDescriptor(OffscreenCanvasRenderingContext2D.prototype, e)['set']) {
        r[e]['set'] = v_saf(Object.getOwnPropertyDescriptor(OffscreenCanvasRenderingContext2D.prototype, e)['set'], undefined, 'set ')
    }
    r[e]['enumerable'] = true
})
Object.defineProperties(OffscreenCanvasRenderingContext2D.prototype, r)

window.OffscreenCanvasRenderingContext2D = v_saf(OffscreenCanvasRenderingContext2D)
window.CanvasRenderingContext2D = v_saf(OffscreenCanvasRenderingContext2D)

///

Object.defineProperties(CanvasGradient.prototype, {
    addColorStop: {
        value: v_saf(function addColorStop() {
            v_console_log("  [*] CanvasGradient -> addColorStop[func]", [].slice.call(arguments));
        })
    },
    [Symbol.toStringTag]: {value: "CanvasGradient", writable: false, enumerable: false, configurable: true},
})

MutationObserver = v_saf(function MutationObserver() {
    console.log('MutationObserver.new', arguments)
    this._func = arguments[0]
})
Object.defineProperties(MutationObserver.prototype, {
    observe: {
        value: function () {
            console.log('MutationObserver.observe', arguments)
            this._func()
        }
    },
    disconnect: {
        value: function () {
            console.log('MutationObserver.disconnect', arguments)
        }
    }

})
Object.defineProperties(OffscreenCanvasRenderingContext2D.prototype, {
    measureText: {
        value: v_saf(function measureText() {
            v_console_log("  [*] OffscreenCanvasRenderingContext2D -> measureText[func]", [].slice.call(arguments));
            this.measureTextVal = arguments[0]
        })
    },
    [Symbol.toStringTag]: {
        value: "OffscreenCanvasRenderingContext2D",
        writable: false,
        enumerable: false,
        configurable: true
    },
})
Object.defineProperties(NavigatorUAData.prototype, {
    getHighEntropyValues: {
        value: v_saf(function getHighEntropyValues() {
            v_console_log("  [*] NavigatorUAData -> getHighEntropyValues[func]", [].slice.call(arguments));
        })
    },
    [Symbol.toStringTag]: {value: "NavigatorUAData", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(NodeList.prototype, {
    length: {
        get() {
            v_console_log("  [*] NodeList -> length[get]", 0);
            return 0
        }
    },
    [Symbol.toStringTag]: {value: "NodeList", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(HTMLCollection.prototype, {
    length: {
        get() {
            v_console_log("  [*] HTMLCollection -> length[get]", 0);
            return 0
        }
    },
    [Symbol.toStringTag]: {value: "HTMLCollection", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(DOMTokenList.prototype, {
    length: {
        get() {
            v_console_log("  [*] DOMTokenList -> length[get]", 0);
            return 0
        }
    },
    [Symbol.toStringTag]: {value: "DOMTokenList", writable: false, enumerable: false, configurable: true},
})
// Object.defineProperties(Event.prototype, {
//     target: {get(){ v_console_log("  [*] Event -> target[get]", {});return {} }},
//     NONE: {"value":0,"writable":false,"enumerable":true,"configurable":false},
//     CAPTURING_PHASE: {"value":1,"writable":false,"enumerable":true,"configurable":false},
//     AT_TARGET: {"value":2,"writable":false,"enumerable":true,"configurable":false},
//     BUBBLING_PHASE: {"value":3,"writable":false,"enumerable":true,"configurable":false},
//     [Symbol.toStringTag]: {value:"Event",writable:false,enumerable:false,configurable:true},
// })
let randomStr = function () {
    let strs = 'abcderfASDHJKWPL1234567890';
    let res = '';
    for (let i = 0; i < 4; i++) {
        res += strs.charAt(parseInt(strs.length * _random()))
    }
    return res
}()

RTCIceCandidate = v_saf(function RTCIceCandidate() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
Object.defineProperties(RTCIceCandidate.prototype, {
    candidate: {
        get() {
            v_console_log("  [*] RTCIceCandidate -> candidate[get]", "candidate:1047676015 1 udp 2113937151 525b31c9-16e3-40af-98bd-98206a0caa63.local 51227 typ host generation 0 ufrag 4FAM network-cost 999");
            return `candidate:${t1} 1 udp ${t2} ${ip} ${t3} typ host generation 0 ufrag ${randomStr} network-id ${t4}`

        }
    },
    [Symbol.toStringTag]: {value: "RTCIceCandidate", writable: false, enumerable: false, configurable: true},
})
let fonts = [];
let mTexts = {
    "50px  sans-serif": 152.84999084472656,
    "50px  serif": 132.39996337890625,
    "50px 'Andale Mono',  sans-serif": 180.029296875,
    "50px 'Andale Mono',  serif": 180.029296875,
    "50px 'Arial Narrow',  sans-serif": 111.6943359375,
    "50px 'Arial Narrow',  serif": 111.6943359375,
    "50px 'Arial Unicode MS',  sans-serif": 136.1572265625,
    "50px 'Arial Unicode MS',  serif": 136.1572265625,
    "50px 'Batang',  sans-serif": 152.84999084472656,
    "50px 'Batang',  serif": 132.39996337890625,
    "50px 'Bell MT',  sans-serif": 152.84999084472656,
    "50px 'Bell MT',  serif": 132.39996337890625,
    "50px 'Brush Script',  sans-serif": 152.84999084472656,
    "50px 'Brush Script',  serif": 132.39996337890625,
    "50px 'Brush Script MT',  sans-serif": 133.740234375,
    "50px 'Brush Script MT',  serif": 133.740234375,
    "50px 'Calibri',  sans-serif": 152.84999084472656,
    "50px 'Calibri',  serif": 132.39996337890625,
    "50px 'Charter',  sans-serif": 139.55078125,
    "50px 'Charter',  serif": 139.55078125,
    "50px 'Courier',  sans-serif": 180.029296875,
    "50px 'Courier',  serif": 180.029296875,
    "50px 'Courier New',  sans-serif": 180.029296875,
    "50px 'Courier New',  serif": 180.029296875,
    "50px 'Curlz MT',  sans-serif": 152.84999084472656,
    "50px 'Curlz MT',  serif": 132.39996337890625,
    "50px 'DejaVu Sans',  sans-serif": 152.84999084472656,
    "50px 'DejaVu Sans',  serif": 132.39996337890625,
    "50px 'DejaVu Sans Mono',  sans-serif": 152.84999084472656,
    "50px 'DejaVu Sans Mono',  serif": 132.39996337890625,
    "50px 'DejaVu Serif Condensed',  sans-serif": 152.84999084472656,
    "50px 'DejaVu Serif Condensed',  serif": 132.39996337890625,
    "50px 'Droid Sans',  sans-serif": 152.84999084472656,
    "50px 'Droid Sans',  serif": 132.39996337890625,
    "50px 'Droid Sans Fallback',  sans-serif": 152.84999084472656,
    "50px 'Droid Sans Fallback',  serif": 132.39996337890625,
    "50px 'Droid Serif',  sans-serif": 152.84999084472656,
    "50px 'Droid Serif',  serif": 132.39996337890625,
    "50px 'Forte',  sans-serif": 152.84999084472656,
    "50px 'Forte',  serif": 132.39996337890625,
    "50px 'Futura',  sans-serif": 139.35546875,
    "50px 'Futura',  serif": 139.35546875,
    "50px 'Geneva',  sans-serif": 162.3046875,
    "50px 'Geneva',  serif": 162.3046875,
    "50px 'Hei',  sans-serif": 153.41796875,
    "50px 'Hei',  serif": 153.41796875,
    "50px 'Leelawadee',  sans-serif": 152.84999084472656,
    "50px 'Leelawadee',  serif": 132.39996337890625,
    "50px 'Levenim MT',  sans-serif": 152.84999084472656,
    "50px 'Levenim MT',  serif": 132.39996337890625,
    "50px 'Liberation Sans',  sans-serif": 152.84999084472656,
    "50px 'Liberation Sans',  serif": 132.39996337890625,
    "50px 'Liberation Sans Narrow',  sans-serif": 152.84999084472656,
    "50px 'Liberation Sans Narrow',  serif": 132.39996337890625,
    "50px 'Marlett',  sans-serif": 152.84999084472656,
    "50px 'Marlett',  serif": 132.39996337890625,
    "50px 'Meiryo UI',  sans-serif": 152.84999084472656,
    "50px 'Meiryo UI',  serif": 132.39996337890625,
    "50px 'Microsoft Uighur',  sans-serif": 152.84999084472656,
    "50px 'Microsoft Uighur',  serif": 132.39996337890625,
    "50px 'Microsoft YaHei UI',  sans-serif": 152.84999084472656,
    "50px 'Microsoft YaHei UI',  serif": 132.39996337890625,
    "50px 'MS Mincho',  sans-serif": 152.84999084472656,
    "50px 'MS Mincho',  serif": 132.39996337890625,
    "50px 'MS UI Gothic',  sans-serif": 152.84999084472656,
    "50px 'MS UI Gothic',  serif": 132.39996337890625,
    "50px 'NanumGothic',  sans-serif": 148.39996337890625,
    "50px 'NanumGothic',  serif": 148.39996337890625,
    "50px 'Nirmala UI',  sans-serif": 152.84999084472656,
    "50px 'Nirmala UI',  serif": 132.39996337890625,
    "50px 'Palatino',  sans-serif": 132.91015625,
    "50px 'Palatino',  serif": 132.91015625,
    "50px 'Papyrus',  sans-serif": 139.84375,
    "50px 'Papyrus',  serif": 139.84375,
    "50px 'PMingLiU',  sans-serif": 152.84999084472656,
    "50px 'PMingLiU',  serif": 132.39996337890625,
    "50px 'PT Serif',  sans-serif": 134.0999755859375,
    "50px 'PT Serif',  serif": 134.0999755859375,
    "50px 'SimHei',  sans-serif": 152.84999084472656,
    "50px 'SimHei',  serif": 132.39996337890625,
    "50px 'STIXVariants',  sans-serif": 140.84999084472656,
    "50px 'STIXVariants',  serif": 124.79997253417969,
    "50px 'STSong',  sans-serif": 132.94996643066406,
    "50px 'STSong',  serif": 132.94996643066406,
    "50px 'Traditional Arabic',  sans-serif": 152.84999084472656,
    "50px 'Traditional Arabic',  serif": 132.39996337890625,
    "50px 'Urdu Typesetting',  sans-serif": 152.84999084472656,
    "50px 'Urdu Typesetting',  serif": 132.39996337890625,
    "50px 'Verdana',  sans-serif": 175.4150390625,
    "50px 'Verdana',  serif": 175.4150390625,
    "50px 'Wingdings',  sans-serif": 311.5966796875,
    "50px 'Wingdings',  serif": 311.5966796875,
    "50px 'Wingdings 3',  sans-serif": 244.5068359375,
    "50px 'Wingdings 3',  serif": 244.5068359375,
    "50px 'Helkevtrica',  sans-serif": 152.84999084472656,
    "50px 'Helkevtrica',  serif": 132.39996337890625
}

Object.defineProperties(TextMetrics.prototype, {
    width: {
        get() {
            // fonts.push(this.fontval[0])
            width = mTexts[this.fontval]
            v_console_log(this.text[0], "  [*] TextMetrics -> width[get]", width);

            return width
            // return 132.39996337890625
        }
    },
    actualBoundingBoxAscent: {
        get() {
            v_console_log("  [*] TextMetrics -> actualBoundingBoxAscent[get]", 556.640625);
            return 556.640625
        }
    },
    actualBoundingBoxDescent: {
        get() {
            v_console_log("  [*] TextMetrics -> actualBoundingBoxDescent[get]", -203.61328125);
            return -203.61328125
        }
    },
    actualBoundingBoxLeft: {
        get() {
            v_console_log("  [*] TextMetrics -> actualBoundingBoxLeft[get]", -22.94921875);
            return -22.94921875
        }
    },
    actualBoundingBoxRight: {
        get() {
            v_console_log("  [*] TextMetrics -> actualBoundingBoxRight[get]", 579.1015625);
            return 579.1015625
        }
    },
    [Symbol.toStringTag]: {value: "TextMetrics", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(PluginArray.prototype, {
    length: {
        get() {
            console.log("  [*] PluginArray -> length[get]", 5);
            return 5
        },
        enumerable: true
    },
    [Symbol.toStringTag]: {value: "PluginArray", writable: false, enumerable: false, configurable: true},
})
PluginArray = proxy(PluginArray, 'PluginArray')


Object.defineProperties(Plugin.prototype, {
    [Symbol.toStringTag]: {value: "Plugin", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(MimeType.prototype, {
    [Symbol.toStringTag]: {value: "MimeType", writable: false, enumerable: false, configurable: true},
})

// Object.defineProperties(Crypto.prototype, {
//     [Symbol.toStringTag]: {value:"Crypto",writable:false,enumerable:false,configurable:true},
// })
Object.defineProperties(Image.prototype, {
    src: {
        set() {
            v_console_log("  [*] Image -> src[set]", [].slice.call(arguments));
        }
    },
    [Symbol.toStringTag]: {value: "Image", writable: false, enumerable: false, configurable: true},
})
publicDescription = undefined;

class RTCPeerConnection {
    constructor(args) {
        console.log('RTCPeerConnection.new', args)

    }
}

Object.defineProperties(RTCPeerConnection.prototype, {
    localDescription: {
        value: {
            get: v_saf(function get() {
                print('get localDescription')
                return this._publicDescription
            }),
            set: function (arg) {
                this._publicDescription = arg
            }
        }
    },
    onicecandidate: {
        set() {
            print("  [*] RTCPeerConnection -> onicecandidate[set]", [].slice.call(arguments));
            this._onicecandidate = arguments[0]
        }
    },

    createDataChannel: {
        value: v_saf(function createDataChannel(label, option) {
            print("  [*] RTCPeerConnection -> createDataChannel[func]", [].slice.call(arguments));
            let res = new RTCDataChannel(label);
            return proxy(res, 'dataChannel')
        })
    },
    createOffer: {
        value: v_saf(function createOffer() {
            print("  [*] RTCPeerConnection -> createOffer[func]", [].slice.call(arguments));
            let p = new Promise(function (resolve, reject) {
                // 2. 执行异步操作任务
                print('RTCPeerConnection createOffer', resolve, reject);
                let res = new RTCSessionDescription()
                // resolve(proxy(res, 'newRTCSessionDescription'))
                resolve({
                    then: function (arg1, arg2) {
                        arg1(proxy(res, 'newRTCSessionDescription'))
                        arg2(proxy(res, 'newRTCSessionDescription'))
                    }
                })
            })
            return p;
            // return {
            //     then: function (func, func2) {
            //         v_console_log("  [*] RTCPeerConnection -> createOffer[func] then", [].slice.call(arguments));
            //         func2(v_new(RTCSessionDescription));
            //         func(v_new(RTCSessionDescription));
            //         return func(v_new(RTCSessionDescription));
            //     }, catch: function () {
            //     }
            // }
        })
    },
    setLocalDescription: {
        value: v_saf(function setLocalDescription() {
            var _this = this;
            print("  [*] RTCPeerConnection -> setLocalDescription[func]", [].slice.call(arguments));
            _this._onicecandidate(new RTCPeerConnectionIceEvent())
            this.localDescription = arguments[0]
            _this._onicecandidate(this.localDescription)
            let p = new Promise(function (resolve, reject) {
                // 2. 执行异步操作任务
                // let res = this.setLocalDescription(v_new(RTCSessionDescription))
                // console.log('RTCPeerConnection create',res);
                _this._onicecandidate(new RTCPeerConnectionIceEvent())

                print("  [*] RTCPeerConnection -> setLocalDescription[func] then", [].slice.call(arguments));
                // window.debug = true
                resolve(new RTCSessionDescription())
                // return res
            })
            return p;
        }),
        enumerable: true,
        configurable: true
    },
    [Symbol.toStringTag]: {value: "RTCPeerConnection", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(Node.prototype, {
    childs: {value: []},
    appendChild: {
        value: v_saf(function appendChild() {
            v_console_log("  [*] Node -> appendChild[func]", [].slice.call(arguments));
            this.childs.push(arguments[0])
            return arguments[0];
        })
    },
    removeChild: {
        value: v_saf(function removeChild() {
            v_console_log("  [*] Node -> removeChild[func]", [].slice.call(arguments));
        })
    },
    textContent: {
        set() {
            v_console_log("  [*] Node -> textContent[set]", [].slice.call(arguments));
            this.text = arguments[0]
        }
    },
    ELEMENT_NODE: {"value": 1, "writable": false, "enumerable": true, "configurable": false},
    ATTRIBUTE_NODE: {"value": 2, "writable": false, "enumerable": true, "configurable": false},
    TEXT_NODE: {"value": 3, "writable": false, "enumerable": true, "configurable": false},
    CDATA_SECTION_NODE: {"value": 4, "writable": false, "enumerable": true, "configurable": false},
    ENTITY_REFERENCE_NODE: {"value": 5, "writable": false, "enumerable": true, "configurable": false},
    ENTITY_NODE: {"value": 6, "writable": false, "enumerable": true, "configurable": false},
    PROCESSING_INSTRUCTION_NODE: {"value": 7, "writable": false, "enumerable": true, "configurable": false},
    COMMENT_NODE: {"value": 8, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_NODE: {"value": 9, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_TYPE_NODE: {"value": 10, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_FRAGMENT_NODE: {"value": 11, "writable": false, "enumerable": true, "configurable": false},
    NOTATION_NODE: {"value": 12, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_POSITION_DISCONNECTED: {"value": 1, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_POSITION_PRECEDING: {"value": 2, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_POSITION_FOLLOWING: {"value": 4, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_POSITION_CONTAINS: {"value": 8, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_POSITION_CONTAINED_BY: {"value": 16, "writable": false, "enumerable": true, "configurable": false},
    DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: {
        "value": 32,
        "writable": false,
        "enumerable": true,
        "configurable": false
    },
    [Symbol.toStringTag]: {value: "Node", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(OffscreenCanvas.prototype, {
    getContext: {
        value: v_saf(function getContext() {
            v_console_log("  [*] OffscreenCanvas -> getContext[func]", [].slice.call(arguments));
        })
    },
    [Symbol.toStringTag]: {value: "OffscreenCanvas", writable: false, enumerable: false, configurable: true},
})
Object.defineProperties(WebSocket.prototype, {
    onmessage: {
        set() {
            v_console_log("  [*] WebSocket -> onmessage[set]", [].slice.call(arguments));
        }
    },
    CONNECTING: {"value": 0, "writable": false, "enumerable": true, "configurable": false},
    OPEN: {"value": 1, "writable": false, "enumerable": true, "configurable": false},
    CLOSING: {"value": 2, "writable": false, "enumerable": true, "configurable": false},
    CLOSED: {"value": 3, "writable": false, "enumerable": true, "configurable": false},
    [Symbol.toStringTag]: {value: "WebSocket", writable: false, enumerable: false, configurable: true},
})
let t1 = parseInt(_random() * 2430043322 / 2 + 1430043322);
let t2 = parseInt(_random() * 2430043322 / 2 + 1430043322);
let t3 = parseInt(_random() * 5000 + 60199);
let t4 = parseInt(_random() * 8 + 1);
let ip = `${parseInt(_random() * 220 + 1)}.${parseInt(_random() * 220 + 1)}.${parseInt(_random() * 220 + 1)}.${parseInt(_random() * 220 + 1)}`

function guid() {
    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
        var r = _random() * 16 | 0,
            v = c == 'x' ? r : (r & 0x3 | 0x8);
        return v.toString(16);
    });
}

var candidateGetTimes = 0;
Object.defineProperties(RTCPeerConnectionIceEvent.prototype, {
    candidate: {
        get: function () {

            let res = `candidate:${t1} 1 udp ${t2} ${guid()}.local ${t3} typ host generation 0 ufrag MiWK network-cost 999`
            res = `candidate:${t1} 1 udp ${t2} ${ip} ${t3} typ host generation 0 ufrag ${randomStr} network-id ${t4}`
            // res = `candidate:${t1} 1 tcp ${t2} ${ip} 9 typ host tcptype active generation 0 ufrag ZZHV network-id 1`
            // res = 'candidate:2594513701 1 udp 2122260223 192.168.50.235 54336 typ host generation 0 ufrag 5M7j network-id 1 '
            // res = 'candidate:1678768049 1 tcp 1518280447 192.168.50.235 9 typ host tcptype active generation 0 ufrag 5M7j network-id 1 '


            let rrr = proxy(new RTCIceCandidate(
                ip, res, "rtp", t1, t2, t3, 'tcp', null, null, 0, "0", 'active', 'host', randomStr
            ), 'candidate[new]');
            candidateGetTimes++
            return rrr;


        },
        enumerable: true, configurable: true
    },
    type: {
        value: 'icecandidate'
    },
    isTrusted: {
        value: true,
    },
    [Symbol.toStringTag]: {value: "RTCPeerConnectionIceEvent", writable: false, enumerable: false, configurable: true},

})
Object.defineProperties(MessageEvent.prototype, {
    data: {
        get() {
            v_console_log("  [*] MessageEvent -> data[get]", {});
            return {}
        }
    },
    [Symbol.toStringTag]: {value: "MessageEvent", writable: false, enumerable: false, configurable: true},
})

Object.defineProperties(UIEvent.prototype, {
    which: {
        get() {
            v_console_log("  [*] UIEvent -> which[get]", 91);
            return 91
        }
    },
    [Symbol.toStringTag]: {value: "UIEvent", writable: false, enumerable: false, configurable: true},
})


Object.defineProperties(HTMLIFrameElement.prototype, {
    id: {enumerable: true, configurable: true, writable: true},
    contentWindow: {value: window, enumerable: true, configurable: true, writable: true},
})
window.HTMLScriptElement = HTMLScriptElement
window.HTMLIFrameElement = HTMLIFrameElement
window.HTMLStyleElement = HTMLStyleElement
window.HTMLVideoElement = HTMLVideoElement

postMessage = v_saf(function postMessage() {
})
PushManager = v_saf(function PushManager() {
})
times = 0;
window.Event = Event;
window.devicePixelRatio = ENV.windowparams.devicepixelratio;

function v_getele(name, func) {
    if (name == "head" && func == "querySelector") {
        return v_new(HTMLHeadElement)
    }
    if (name == "head > title" && func == "querySelector") {
        return v_new(HTMLTitleElement)
    }
    if (name == "body" && func == "querySelector") {
        return v_new(HTMLBodyElement)
    }
    if (name == "base" && func == "querySelector") {
        return v_new(HTMLBaseElement)
    }
    if (name == "jb-app" && func == "querySelector") {
        return v_new(HTMLElement)
    }
    if (name == "svg" && func == "querySelector") {
        return v_new(SVGSVGElement)
    }
    if (name == "jtp-xsell-utils" && func == "getElementById") {
        return v_new(HTMLScriptElement)
    }
    if (name == "first-focus-fares-heading" && func == "getElementById") {
        return v_new(HTMLHeadingElement)
    }
    if (name == "jtp-xsell-default" && func == "getElementById") {
        return v_new(HTMLScriptElement)
    }
    if (name == "#jtp-packages" && func == "querySelector") {
        return v_new(HTMLDivElement)
    }
    if (name == "#vacations-cross-sell" && func == "querySelector") {
        return v_new(HTMLDivElement)
    }
    if (name == "html" && func == "querySelector") {
        return v_new(HTMLHtmlElement)
    }
    return null
}

function v_geteles(name, func) {
    if (name == "html" && func == "getElementsByTagName") {
        return [v_new(HTMLHtmlElement)]
    }
    if (name == "shouldRememberUser" && func == "getElementsByName") {
        return v_new(NodeList)
    }
    if (name == "script" && func == "getElementsByTagName") {
        return [v_new(HTMLScriptElement)]
    }
    if (name == "base" && func == "getElementsByTagName") {
        return [v_new(HTMLBaseElement)]
    }
    if (name == "script" && func == "getElementsByTagName") {
        return [v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement), v_new(HTMLScriptElement)]
    }
    if (name == "*" && func == "querySelectorAll") {
        return [v_new(HTMLHtmlElement, 'HTML'), v_new(HTMLHeadElement, 'HEAD'), v_new(HTMLMetaElement, 'META'), v_new(HTMLTitleElement, "TITLE"), v_new(HTMLMetaElement, 'META'), v_new(HTMLMetaElement, 'META'), v_new(HTMLScriptElement, 'SCRIPT')]
    }
    if (name == "style[ng-transition=\"resp-booking-airways\"]" && func == "querySelectorAll") {
        return [v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement), v_new(HTMLStyleElement)]
    }
    if (name == "cdk-live-announcer-element" && func == "getElementsByClassName") {
        return []
    }
    if (name == "#jtp-packages" && func == "querySelectorAll") {
        return [v_new(HTMLDivElement)]
    }
    if (name == "body" && func == "getElementsByTagName") {
        return [v_new(HTMLBodyElement)]
    }
    if (name == 'script[src^=chrome-extension][src$=prompt\\.js], script[src^=moz-extension][src$=prompt\\.js]' && func == 'querySelectorAll') {
        return v_new(NodeList)
    }
    return null
}

let _console = console.log


let events = {}
// window.Event = {
//     prototype:{
//         createEvent: function (type) {
//             return {
//                 "isTrusted": true,
//                 type: '',
//                 detail: '',
//                 initCustomEvent: function (type, canBubble, cancelable, detail) {
//                     this.type = type;
//                     this.detail = detail;
//                     return {type, canBubble, cancelable, detail}
//                 }
//             }
//         },
//     }
// }
Object.defineProperties(Event.prototype, {
    target: {
        get() {
            v_console_log("  [*] Event -> target[get]", {});
            return {}
        }
    },
    timeStamp: {
        get() {
            v_console_log("  [*] Event -> timeStamp[get]", 6122.799999713898);
            return Math.random() * 3000 + 5000
        }
    },
    type: {
        get() {
            v_console_log("  [*] Event -> type[get]", "blur");
            return "blur"
        }
    },
    defaultPrevented: {
        get() {
            v_console_log("  [*] Event -> defaultPrevented[get]", true);
            return true
        },
    },
    composedPath: {
        value: v_saf(function composedPath() {
            v_console_log("  [*] Event -> composedPath[func]", [].slice.call(arguments));
        }),
        writable: true, enumerable: true, configurable: true
    },
    stopPropagation: {
        value: v_saf(() => {
        }, 'stopPropagation'),
        writable: true, enumerable: true, configurable: true
    },
    preventDefault: {
        value: v_saf(() => {
        }, 'preventDefault'),
        writable: true, enumerable: true, configurable: true
    },
    cancelBubble: {
        value: v_saf(() => {
        }, 'cancelBubble'),
        //     // get(){},
        //     // set(){},
    },
    stopImmediatePropagation: {
        value: v_saf(() => {
        }, 'stopImmediatePropagation'),
        writable: true, enumerable: true, configurable: true
    },
    NONE: {"value": 0, "writable": false, "enumerable": true, "configurable": false},
    CAPTURING_PHASE: {"value": 1, "writable": false, "enumerable": true, "configurable": false},
    AT_TARGET: {"value": 2, "writable": false, "enumerable": true, "configurable": false},
    BUBBLING_PHASE: {"value": 3, "writable": false, "enumerable": true, "configurable": false},
    [Symbol.toStringTag]: {value: "Event", writable: false, enumerable: false, configurable: true},
})


createPrototype = function (name, obj) {
    Object.assign(obj, {
        constructor: function () {
        },
        // name: name,
        prototype: {
            toString: function () {
                return `'function ${name}() { [native code] }'`
                // throw new TypeError('Illegal invocation')
            }
        },
        toString: function () {
            return `'function ${name}() { [native code] }'`
        }
    })
    // Object.defineProperty(obj.prototype, {
    //     [Symbol.toStringTag]: {value:name,writable:false,enumerable:false,configurable:true},
    //     prototype: {
    //         toString: function (){
    //             return `'function ${name}() { [native code] }'`
    //             // throw new TypeError('Illegal invocation')
    //         }
    //     },
    // })
    return obj

}


// for (let i = 0; i < O[47].length; i++) {
//     var t = O[47][i];
//
//
// }


PerformanceEntry = {
    name: 'PerformanceEntry',
    prototype: {}
}
Bluetooth = function Bluetooth() {
}
BluetoothDevice = function BluetoothDevice() {
}

AWSCInner = {
    register: function () {
        // _console2('AWSCInner register', arguments)
    }
}
Element = function Element() {
    prototype: {
        webkitMatchesSelector: function webkitMatchesSelector() {

        }
    }
}


chrome = {
    loadTimes: function () {
    },
    csi: function () {
    },
}

MimeTypeArray = v_saf(function MimeTypeArray() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
    this[0] = v_new(MimeType);
    this[0].description = "Portable Document Format";
    this[0].enabledPlugin = {"0": {}};
    this[0].suffixes = "pdf";
    this[0].type = "application/pdf";
    this[1] = v_new(Plugin);
    this[1].description = "Portable Document Format";
    this[1].enabledPlugin = {"0": {}};
    this[1].suffixes = "pdf";
    this[1].type = "text/pdf";

})
Object.defineProperties(MimeTypeArray.prototype, {
    length: {
        get() {
            v_console_log("  [*] MimeTypeArray -> length[get]", 3);
            return 3
        }
    },
    [Symbol.toStringTag]: {value: "MimeTypeArray", writable: false, enumerable: false, configurable: true},
})

navigator = v_new(Navigator)


// navigator = dtavm.proxy(navigator,'navigator')
location = v_new(Location)

// v_hook_href(location, "location", 'https://www.southwest.com/air/booking/select.html?int=HOMEQBOMAIR&adultPassengersCount=1&departureDate=2023-12-19&destinationAirportCode=LAX&fareType=USD&originationAirportCode=LAS&passengerType=ADULT&promoCode=&returnDate=&tripType=oneway&from=LAS&to=LAX&adultsCount=1&departureTimeOfDay=ALL_DAY&reset=true&returnTimeOfDay=ALL_DAY')
location.__proto__ = Location.prototype

DOMStringList = v_saf(function DOMStringList() {

})
var _hostname, _origin, _host, _protocol, _port, _pathname, _search, _hash;
Object.defineProperties(location, {
    ancestorOrigins: {
        get: v_saf(function ancestorOrigins() {
            return new DOMStringList()
        }),
        enumerable: true,
        configurable: false

    },
    href: {
        value: 'https://www.southwest.com/air/booking/select.html?int=HOMEQBOMAIR&adultPassengersCount=1&departureDate=2023-12-19&destinationAirportCode=LAX&fareType=USD&originationAirportCode=LAS&passengerType=ADULT&promoCode=&returnDate=&tripType=oneway&from=LAS&to=LAX&adultsCount=1&departureTimeOfDay=ALL_DAY&reset=true&returnTimeOfDay=ALL_DAY',
        enumerable: true
    },
// 'valueOf,ancestorOrigins,href,origin,protocol,host,hostname,port,pathname,search,hash,assign,reload,replace,toString'
//          ancestorOrigins,href,origin,protocol,host,hostname,port,pathname,hash,assign,reload,replace,toString
    // fragmentDirective: 'c',
    origin: {
        set: function (arg) {
            _origin = arg
        }, get: function () {
            return _origin
        }, enumerable: true
    },
    protocol: {
        set: function (arg) {
            _protocol = arg
        }, get: function () {
            return _protocol
        }, enumerable: true
    },
    host: {
        set: function (arg) {
            _hostname = arg
        }, get: function () {
            return _hostname
        }, enumerable: true
    },
    // hostname: {set: function(arg){_hostname = arg}, get:function(){return _hostname}, enumerable:true},
    // port: {set: function(arg){_port = arg}, get:function(){return _port}, enumerable:true},
    pathname: {
        set: function (arg) {
            _pathname = arg
        }, get: function () {
            return _pathname
        }, enumerable: true
    },
    search: {
        set: function (arg) {
            _pathname = arg
        }, get: function () {
            return _pathname
        }, enumerable: true
    },
    hash: {
        set: function (arg) {
            _hash = arg
        }, get: function () {
            return _hash
        }, enumerable: true
    },
    // todo
    hostname: {
        set: function (arg) {
            _hostname = arg
        }, get: function () {
            return _hostname
        }, enumerable: true
    },
    port: {
        set: function (arg) {
            _port = arg
        }, get: function () {
            return _port
        }, enumerable: true
    },
    // host: 'e',
    // hostname: 'f',
    // href: 'g',
    // origin: 'h',
    // pathname: 'i',
    // port: 'j',
    // protocol: 'k',
    assign: {
        value: v_saf(function assign() {

        }),
        enumerable: true,

    },
    reload: {
        value: v_saf(function reload() {

        }),
        enumerable: true,

    },
    replace: {
        value: v_saf(function replace() {

        }),
        enumerable: true,
    },
    toString: {
        value: v_saf(function toString() {
            return ''
        }),
        enumerable: true,

    },


})
// 'valueOf,ancestorOrigins,href,origin,protocol,host,hostname,port,pathname,search,hash,assign,reload,replace,toString'
location.href = 'https://www.southwest.com/air/booking/select.html?int=HOMEQBOMAIR&adultPassengersCount=1&departureDate=2023-12-19&destinationAirportCode=LAX&fareType=USD&originationAirportCode=LAS&passengerType=ADULT&promoCode=&returnDate=&tripType=oneway&from=LAS&to=LAX&adultsCount=1&departureTimeOfDay=ALL_DAY&reset=true&returnTimeOfDay=ALL_DAY'

function set_href(v, href) {
    href = href.trim()
    v_console_log(`  href[set]:`, JSON.stringify(href))
    if (href.startsWith("http://") || href.startsWith("https://")) {/*ok*/
    } else if (href.startsWith("//")) {
        href = (v.protocol ? v.protocol : 'http:') + href
    } else {
        href = v.protocol + "//" + v.host + (v.port ? ":" + v.port : "") + '/' + ((href[0] == '/') ? href.slice(1) : href)
    }
    var a = href.match(/([^:]+:)\/\/([^/:?#]+):?(\d+)?([^?#]*)?(\?[^#]*)?(#.*)?/);
    v.protocol = a[1] ? a[1] : "";
    v.host = a[2] ? a[2] : "";
    v.port = a[3] ? a[3] : "";
    v.pathname = a[4] ? a[4] : "";
    v.search = a[5] ? a[5] : "";
    v.hash = a[6] ? a[6] : "";
    v.hostname = v.host;
    v.origin = v.protocol + "//" + v.host + (v.port ? ":" + v.port : "");
}

// 'valueOf,ancestorOrigins,href,origin,protocol,host,hostname,port,pathname,search,hash,assign,reload,replace,toString'
set_href(location, 'https://www.southwest.com/air/booking/select.html?int=HOMEQBOMAIR&adultPassengersCount=1&departureDate=2023-12-19&destinationAirportCode=LAX&fareType=USD&originationAirportCode=LAS&passengerType=ADULT&promoCode=&returnDate=&tripType=oneway&from=LAS&to=LAX&adultsCount=1&departureTimeOfDay=ALL_DAY&reset=true&returnTimeOfDay=ALL_DAY')
window.location = location
// window.location = new Proxy(location, {
//     get(target, p, receiver) {
//         console.log('locaiton get', p)
//         return Reflect.get(target, p, receiver)
//     },
//     has(target, p) {
//         let res = Reflect.has(target, p);
//         console.log('locaiton has', p, res)
//         return res;
//     },
//     getOwnPropertyDescriptor(target, p) {
//         let res = Reflect.getOwnPropertyDescriptor(target, p);
//
//         console.log('locaiton getOwnPropertyDescriptor', p, res)
//         return res;
//     }
// })

origin = location.origin
self = window;
globalThis = window

let performanceNow = _random() * 1000 + 1000
window.performance = {
    now: function () {
        //todo
        // return Number('1703561132362'.slice(8))
        // return 1186.7042
        return performanceNow + _random() * 100
    },
    "timeOrigin": Date.now() + 0.1,
    "timing": {
        "connectStart": Date.now(),
        "navigationStart": Date.now() - 1,
        "secureConnectionStart": 0,
        "fetchStart": Date.now(),
        "domContentLoadedEventStart": 0,
        "responseStart": Date.now() + 2,
        "domInteractive": 0,
        "domainLookupEnd": Date.now(),
        "responseEnd": Date.now() + 2,
        "redirectStart": 0,
        "requestStart": Date.now() + 1,
        "unloadEventEnd": Date.now() + 3,
        "unloadEventStart": Date.now() + 3,
        "domLoading": Date.now() + 7,
        "domComplete": 0,
        "domainLookupStart": Date.now(),
        "loadEventStart": 0,
        "domContentLoadedEventEnd": 0,
        "loadEventEnd": 0,
        "redirectEnd": 0,
        "connectEnd": Date.now()
    },
    "navigation": {
        "type": 1,
        "redirectCount": 0
    },
    getEntriesByName: function getEntriesByName() {
    },
    memory: {
        jsHeapSizeLimit: 4294705152,
        totalJSHeapSize: parseInt(11528626 * _random() + 11528626),
        usedJSHeapSize: parseInt(9311362 * _random() + 9311362),
    }
}
// window.Proxy = window
window.BigInt = BigInt
_hasOwnProperty = Object.hasOwnProperty
Object.hasOwnProperty = v_saf(function (a) {
    let res = _hasOwnProperty.call(this, a);
    console.log(' hasOwnProperty', a, res)

    return res;
})
// window.hasOwnProperty = function hasOwnProperty() {
//     _console2('window hasOwnProperty', arguments)
//     return window[arguments['0']]
// }
DOMTokenList = function DOMTokenList() {

}
window.addEventListener = function (type, callback) {
    _console2('addEventListener111', type, callback)
    events[type] = callback;
    v_events[type] = callback;
    if (type === 'addEventListener11') {
        callback(v_new(Event))
    }
    return true;
}

window.removeEventListener = function removeEventListener(type, callback) {
    delete events[type]
    // callback()
    return true
}
// Object.getOwnPropertyDescriptor = function getOwnPropertyDescriptor() {
//
// }

screens = {
    availHeight: parseInt(scale * ENV.screenparams.availheight),
    availLeft: parseInt(scale * ENV.screenparams.availleft),
    availTop: parseInt(scale * ENV.screenparams.availtop),
    availWidth: parseInt(scale * ENV.screenparams.availwidth),
    colorDepth: parseInt(scale * ENV.screenparams.colordepth),
    height: parseInt(scale * ENV.screenparams.height),
    orientation: {angle: 0, type: 'landscape-primary', onchange: null},
    pixelDepth: parseInt(scale * ENV.screenparams.pixeldepth),
    width: parseInt(scale * ENV.screenparams.width)
}
// {"height":1080,"width":1920,"availHeight":1055,"availWidth":1920,"pixelDepth":24,"colorDepth":24}
// todo
// if (sid === '8ffdff7b995c8ad51d902ff0') {
//
//     screens.height = 1080
//     screens.width = 1920
//     screens.availHeight = 1055
//     screens.availWidth = 1920
//     screens.pixelDepth = 24
//     screens.colorDepth = 24
// navis.hardwareconcurrency = 10
// navis.platform = 'MacIntel'
// }
window.screen = v_new(Screen)
window.screenY = ENV.windowparams.screeny
window.screenX = ENV.windowparams.screenx
// window.screen = aaProxy(window.screen, 'screen')


window.isSecureContext = true
window.innerWidth = parseInt(scale * ENV.windowparams.innerwidth);
window.outerWidth = parseInt(scale * ENV.windowparams.outerwidth);
window.innerHeight = parseInt(scale * ENV.windowparams.innerheight);
window.outerHeight = parseInt(scale * ENV.windowparams.outerheight);
window.screenLeft = parseInt(scale * ENV.windowparams.screenleft) || 15;
window.screenTop = parseInt(scale * ENV.windowparams.screeny) || 120;
window.screenX = parseInt(scale * ENV.windowparams.screenx)
window.screenY = parseInt(scale * ENV.windowparams.screeny)
// todo
// if (sid === '8ffdff7b995c8ad51d902ff0') {
// // {"innerHeight":853,"innerWidth":1920,"outerHeight":970,"outerWidth":1920,"screenX":null,"screenY":25,"isSecureContext":true,"devicePixelRatio":1}
// //     {"innerHeight":938,"innerWidth":1920,"outerHeight":1055,"outerWidth":1920,"screenX":null,"screenY":25,"isSecureContext":true,"devicePixelRatio":1}
// // {"innerHeight":null,"innerWidth":1920,"outerHeight":1055,"outerWidth":1920,"screenX":1728,"screenY":25,"isSecureContext":true,"devicePixelRatio":1}
//
//     window.innerHeight = 976
//     window.innerWidth = 1865
//     window.outerHeight = 1055
//     window.outerWidth = 1920
//     window.screenX = 1728
//     window.screenY = 25
//     window.devicePixelRatio = 1
// }

top = window
window.top = top;

htmlEle = {
    appendChild: function () {
        // _console2('appendChild', arguments);
        return {}
    },

    removeChild: function () {
        // _console2('removeChild', arguments);

    },
    clientHeight: 0,
    clientWidth: 1904
}
let allNodes = [];
var childNodes = []

function _createElement(name) {
    print('_createElement name ', name)

    var htmlmap = {
        "HTMLElement": ["abbr", "address", "article", "aside", "b", "bdi", "bdo", "cite", "code", "dd", "dfn", "dt", "em", "figcaption", "figure", "footer", "header", "hgroup", "i", "kbd", "main", "mark", "nav", "noscript", "rp", "rt", "ruby", "s", "samp", "section", "small", "strong", "sub", "summary", "sup", "u", "var", "wbr"],
        "HTMLCanvasElement": ["canvas"],
        "HTMLAnchorElement": ["a"],
        "HTMLImageElement": ["img"],
        "HTMLIFrameElement": ["iframe"],
        "HTMLMediaElement": [],
        "HTMLHeadElement": ["head"],
        "HTMLBodyElement": ["body"],
        "HTMLUnknownElement": [],
        'HTMLScriptElement': ['script'],
        'HTMLVideoElement': ['video'],
        'HTMLStyleElement': ['style']
    }
    var ret, htmlmapkeys = Object.keys(htmlmap)
    name = name.toLocaleLowerCase()
    for (var i = 0; i < htmlmapkeys.length; i++) {
        if (htmlmap[htmlmapkeys[i]].indexOf(name) != -1) {
            ret = v_new(window[htmlmapkeys[i]])
            // if (htmlmapkeys[i] == "canvas"){
            // ret = dtavm.proxy(ret, htmlmapkeys[i])
            // }
            break
        }
    }
    if (!ret) {
        ret = v_new(HTMLUnknownElement);
        throw TypeError("为定义的类型")
    }
    // if (typeof CSSStyleDeclaration != 'undefined') {
    //     ret.v_style = v_new(CSSStyleDeclaration)
    // }
    // ret.v_tagName = name.toUpperCase()
    allNodes.push(ret)
    print('_createElement name ', name, ret)

    return proxy(ret, name)
}

document = {
    all: HTMLAllCollection,
    characterSet: 'UTF-8',
    charset: 'UTF-8',
    compatMode: 'CSS1Compat',
    images: [],
    // createElementNS: v_saf(function createElementNS(){
    //     return _createElement.apply(this, arguments)
    // }),
    constructor: function () {

    },
    [Symbol.toPrimitive](hint) {
        if (hint === 'number') {
            return 42;
        }
        return this;
    },
    toString: function () {
        return '[object HTMLDocument]'
    },

    location: location,
    getElementsByTagName: function () {
        _console2(arguments);
        return v_geteles(...arguments, 'getElementsByTagName')
    },
    referrer: '',
    // createElement: v_saf(function createElement(name) {
    //     return _createElement(name)
    // }, undefined,'createElement'),
    getElementById: function getElementById(valId) {
        // if (valId === 'multiFormSubmit') return null;
        let res = v_getele(valId, 'getElementById')
        console.log('use getElementById', valId, res)
        return res
        // return null
        // return {
        //     name: valId + " ele"
        // }
    },
    currentScript: {nonce: ''},
    hasFocus: function hasFocus() {
        return false
    },
    documentElement: htmlEle,
    readyState: 'complete',
    visibilityState: 'visible',

    // addEventListener: function addEventListener(type, callback) {
    //     _console2('document2 addEventListener', arguments)
    //     events[type] = callback
    //     if (type == 'DOMContentLoaded'){
    //         _console2('callDOMContentLoaded' , callback )
    //         callback()
    //     }
    //     // debugger;
    //
    // },

    hidden: false

}

document = v_new(HTMLDocument)
// document.__proto__ = HTMLDocument.prototype


CustomEvent = v_saf(function CustomEvent() {
});
_inherits(CustomEvent, EventTarget)
Object.defineProperties(CustomEvent.prototype, {
    "isTrusted": {
        get() {
            return true
        }
    },
    type: {value: ''},
    detail: {
        get() {
            return this.d
        },

    },
    initCustomEvent: function (type, canBubble, cancelable, detail) {
        this.type = type
        this.detail = detail
        return {type, canBubble, cancelable, detail}
    }
})
// Object.defineProperty(document,constructor, {
//     value: 'HTMLDocument'
// })
document.addEventListener = function (type, callback) {
    _console2('addEventListener11', type, callback)
    events[type] = callback;
    v_events[type] = callback;

    // if (type === 'DOMContentLoaded' || type === 'wheel'|| type === 'visibilitychange'){
    //     callback({
    //         "isTrusted": true,
    //         type:type,
    //         target: {
    //             visibilityState: 'visible'
    //         }
    //     })
    // }
    return true
}
window.addEventListener = function (type, callback) {
    _console2('addEventListener12', type, callback)
    events[type] = callback;
    // if (type === 'DOMContentLoaded' || type == 'visibilitychange') {
    //     callback({
    //         "isTrusted": true,
    //         type: type
    //     })
    // }
    return true
}
addEventListener = window.addEventListener
// window.document = dtavm.proxy(document, 'document');
// Object.assign(window.document, document)
// Date = dtavm.proxy(Date)
window.toString = function () {
    return '[object Window]'
}


window.HTMLAnchorElement = HTMLAnchorElement
//     [Symbol.toStringTag]: function (){
//         return 'HTMLAnchorElement'
//     },
//     [Symbol.iterator]: function (){
//     }
// })
window.HTMLFormElement = v_saf(function HTMLFormElement() {
})
_inherits(window.HTMLFormElement, HTMLElement)
Object.defineProperties(window.HTMLFormElement.prototype, {
    [Symbol.toStringTag]: {
        value: 'HTMLFormElement',
        [Symbol.iterator]: {
            value: function () {
            }
        }
    },
    submit: {
        value: v_saf(() => {
        }, 'submit'),
        configurable: true, writable: false
    }
})
window.CustomEvent = CustomEvent
Object.defineProperties(window.CustomEvent, {
    detail: {},
    constructor: {
        value: function () {
        },
        writable: true, enumerable: false, configurable: true
    },
    [Symbol.iterator]: {
        value: function () {
        }
    },
    [Symbol.toStringTag]: {
        value: function () {

        }
    }
})

// Object.defineProperties(window.HTMLAnchorElement.prototype, {
//     href: {
//         get: function (){},
//         set: function (){},
//          enumerable: true, configurable: true
//     }
// })
// Object.defineProperties(window.HTMLFormElement.prototype, {
//     submit: {
//         value: function (){},
//         "writable": true,
//         "enumerable": true,
//         "configurable": true
//     },
//     constructor: {
//         value: function (){},
//         "writable": true,
//         "enumerable": false,
//         "configurable": true
//     }
// })
// navigator = dtavm.proxy(navigator, 'navigator');


window.Math = Math

let storage = {
    items: {
        // "FTzyeq12rr": "A4AOsm6KAQAAAGUULhl44Mv6c339of4pv5Njb9E9PmrdowVXJ3JKD9u7mODTAXL3RNj6K21wfMBeCOfvosJeCA==",
        // "FTzyeq12rr": "A49NNm6KAQAANCsxBbeG4r6XWuaUdfwmMSe6urV1M5tSCTU-xWEH_ZqUzSS-AXL3RNj6K21wfMBeCOfvosJeCA==",
        // "FTzyeq12rr": "A76x_HOKAQAAeQnrfCam7e5nJhCItdNV2ab9APm5Bh9QD_nPoeUjQgDFVXR-AXL3RNj6K21wfMBeCOfvosJeCA==",
        // "FTzyeq12rr": "A41Q_HiKAQAACKjUIixZBY2Bbu-SU6TdFNxfZDRB-XKYxPlYnMeRk9AK9lrkAUFL3fX6K21wobReCOfvosJeCA==",
        // "FTzyeq12rr": "A182CWuKAQAACfHrGQLisI_229uAWZCUITEfxrVtSFThIjHNuh5titWbTGwIAcJokljURuIXFooAAAAAAAAAAA==",
        // "FTzyeq12rr": "A1Cxkn6KAQAABrBpcNpkODhlt_Ij8b2Ma-2d5L0S2rRC-PANYJINcFpgRO4SAcJoklgXThZ2wH9eCOfvosJeCA==",
        // "FTzyeq12rr": "A76x_HOKAQAAeQnrfCam7e5nJhCItdNV2ab9APm5Bh9QD_nPoeUjQgDFVXR-AXL3RNj6K21wfMBeCOfvosJeCA==",
    },
    setItem: function (name, value) {
        this.items[name] = value
    },
    getItem: function (name, value) {
        return this.items[name]
    },
    removeItem: function (name) {
        delete this.items[name]
    }

}

// if (_process.argv[4]){
//     storage.setItem('FTzyeq12rr', _process.argv[4])
// }
function dispatchEvent(event) {
    _console2('dispatchEvent', event)
    if (event && event.type in events) {
        events[event.type](event)
    }
    try {
        event.instrumented = v_saf(function instrumented() {
            v_console_log(" instrumented  call")
        })
    } catch (e) {

    }
    return true

}

function v_init_document() {
    Document.prototype.getElementById = v_saf(function getElementById(name) {
        var r = v_getele(name, 'getElementById');
        v_console_log('  [*] Document -> getElementById', name, r);
        return r
    })
    Document.prototype.querySelector = v_saf(function querySelector(name) {
        var r = v_getele(name, 'querySelector');
        v_console_log('  [*] Document -> querySelector', name, r);
        return r
    })
    // Document.prototype.createEvent =
    Document.prototype.getElementsByClassName = v_saf(function getElementsByClassName(name) {
        var r = v_geteles(name, 'getElementsByClassName');
        v_console_log('  [*] Document -> getElementsByClassName', name, r);
        return r
    })
    Document.prototype.getElementsByName = v_saf(function getElementsByName(name) {
        var r = v_geteles(name, 'getElementsByName');
        v_console_log('  [*] Document -> getElementsByName', name, r);
        return r
    })
    Document.prototype.getElementsByTagName = v_saf(function getElementsByTagName(name) {
        var r = v_geteles(name, 'getElementsByTagName');
        v_console_log('  [*] Document -> getElementsByTagName', name, r);
        return r
    })
    Document.prototype.getElementsByTagNameNS = v_saf(function getElementsByTagNameNS(name) {
        var r = v_geteles(name, 'getElementsByTagNameNS');
        v_console_log('  [*] Document -> getElementsByTagNameNS', name, r);
        return r
    })
    Document.prototype.querySelectorAll = v_saf(function querySelectorAll(name) {
        var r = v_geteles(name, 'querySelectorAll');
        v_console_log('  [*] Document -> querySelectorAll', name, r);
        return r
    })
    var v_head = v_new(HTMLHeadElement)
    var v_body = v_new(HTMLBodyElement)
    Object.defineProperties(Document.prototype, {
        head: {
            get() {
                v_console_log("  [*] Document -> head[get]", v_head);
                return v_head
            }
        },
        body: {
            get() {
                v_console_log("  [*] Document -> body[get]", v_body);

                return proxy(v_body, 'doc.body')
            }
        },
    })
}

// v_init_document();
v_init_event_target()
window.dispatchEvent = dispatchEvent;
// _funcHasOwnprop = Function.prototype.hasOwnProperty
// Function.prototype.hasOwnProperty = function (){
//     console.log('Function.prototype.hasOwnProperty', arguments)
//     if (arguments[0] === 'value')return false;
//     return _funcHasOwnprop.apply(this, arguments)
// }


window.Function = Function;
window.Object = Object;
window.Array = Array;
window.Date = Date;
window.String = String;
window.RegExp = RegExp;
window.Float32Array = Float32Array;
window.Float64Array = Float64Array;
window.Int32Array = Int32Array;
window.Reflect = Reflect;
window.Uint8Array = Uint8Array;
window.ArrayBuffer = ArrayBuffer;
window.Int8Array = Int8Array;
window.isNaN = isNaN;
window.parseInt = parseInt;
window.parseFloat = parseFloat;
window.encodeURI = encodeURI;
window.encodeURIComponent = encodeURIComponent;
window.decodeURI = decodeURI;
window.decodeURIComponent = decodeURIComponent;
window.Number = Number;
window.Uint8ClampedArray = Uint8ClampedArray;
window.Int16Array = Int16Array;
window.Uint16Array = Uint16Array;
window.Map = Map;
window.Set = Set;
window.WeakMap = WeakMap;
window.WeakSet = WeakSet;
window.Buffer = undefined

Animation = v_saf(function Animation() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Animation, Node)
Comment = v_saf(function Comment() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Comment, Node)
DOMMatrixReadOnly = v_saf(function DOMMatrixReadOnly() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
MediaQueryList = v_saf(function MediaQueryList() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(MediaQueryList, EventTarget)
let medias = [];

Object.defineProperties(MediaQueryList.prototype, {
    addListener: {
        addListener() {
            v_console_log("  [*] MediaQueryList -> addListener[get]", {});
            return {}
        }
    },
    removeListener: {
        removeListener() {
            v_console_log("  [*] MediaQueryList -> removeListener[get]", {});
            return {}
        }
    },
    // matches: {"value":0,"writable":true,"enumerable":true,"configurable":false},
    matches: {
        get() {
            medias.push(this.type[0]);
            // return _random() > 0.5 ? true: false
            let t = window.ENV.matchmedias[this.type[0]];
            if (t === undefined) {
                t = false;
            }
            v_console_log("  [*] MediaQueryList -> matches[get]", this.type[0], t);

            return t;
        }
    },

    media: {"value": 1, "writable": true, "enumerable": true, "configurable": false},
    onchange: {"value": 2, "writable": true, "enumerable": true, "configurable": false},
})
DOMParser = v_saf(function DOMParser() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
FileReader = v_saf(function FileReader() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
Audio = v_saf(function Audio() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
Option = v_saf(function Option() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
IntersectionObserver = v_saf(function IntersectionObserver() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
MediaStream = v_saf(function MediaStream() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
Path2D = v_saf(function Path2D() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
Text = v_saf(function Text() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
XMLSerializer = v_saf(function XMLSerializer() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
PublicKeyCredential = v_saf(function PublicKeyCredential() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
AuthenticatorAssertionResponse = v_saf(function AuthenticatorAssertionResponse() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
AuthenticatorAttestationResponse = v_saf(function AuthenticatorAttestationResponse() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
AuthenticatorResponse = v_saf(function AuthenticatorResponse() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
XMLDocument = v_saf(function XMLDocument() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
DOMPoint = v_saf(function DOMPoint() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
DOMPointReadOnly = v_saf(function DOMPointReadOnly() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
External = v_saf(function External() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)
mozRTCPeerConnection = v_saf(function mozRTCPeerConnection() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
});
_inherits(Element, Node)

window.URL = class URL {
    constructor() {
    }
}
window.URL = proxy(window.URL, 'URL')
window.URL.createObjectURL = function () {
    console.log('createObjectURL', arguments)

    return proxy({
        blob: arguments[0],
        href: 'https://www.southwest.com/',
        origin: 'https://www.southwest.com/',
        protocol: 'https',


    }, 'URL')
}
window.document = document
window.Animation = Animation;
window.Worker = proxy(Worker, 'Worker')
window.URL = URL;
window.WebGLRenderingContext = WebGLRenderingContext;
window.HTMLCanvasElement = HTMLCanvasElement;
window.UIEvent = UIEvent;
window.clearInterval = clearInterval;
window.setInterval = setInterval
window.XMLDocument = XMLDocument;
window.crypto = crypto
window.DOMPoint = DOMPoint;
window.DOMPointReadOnly = DOMPointReadOnly;
window.External = External;
window.Blob = Blob;
window.Comment = Comment;
window.Document = Document;
window.DOMException = DOMException;
window.DOMMatrixReadOnly = DOMMatrixReadOnly;
window.RTCPeerConnection = RTCPeerConnection;
window.DOMParser = DOMParser;
window.FileReader = FileReader;
window.FormData = FormData;
window.Audio = Audio;
window.Image = Image;
window.Option = Option;
window.IntersectionObserver = IntersectionObserver;
window.MediaStream = MediaStream;
window.MessageChannel = MessageChannel;
window.Path2D = Path2D;
window.PerformanceObserver = PerformanceObserver;
window.ReadableStream = ReadableStream;
window.Text = Text;
window.TextDecoderStream = TextDecoderStream;
window.TextEncoderStream = TextEncoderStream;
window.TransformStream = TransformStream;
window.URLSearchParams = URLSearchParams;
window.XMLHttpRequest = XMLHttpRequest;
window.XMLSerializer = XMLSerializer;
window.PublicKeyCredential = PublicKeyCredential;
window.AuthenticatorAssertionResponse = AuthenticatorAssertionResponse;
window.AuthenticatorAttestationResponse = AuthenticatorAttestationResponse;
window.AuthenticatorResponse = AuthenticatorResponse;

window.pageYOffset = ENV.windowparams.pageyoffset || 0
external = v_new(External)
// external.__proto__ = External.prototype
// window.external = external
window.console = console;
// localStorage = dtavm.proxy(storage, 'localStorage');
localStorage = storage;
window.localStorage = localStorage
// sessionStorage = dtavm.proxy(storage, 'sessionStorage');
sessionStorage = storage;
window.Boolean = Boolean;
window.sessionStorage = sessionStorage;
window.fetch = v_saf(fetch, 'fetch');
window.navigator = navigator;
History = v_saf(function History() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
BarProp = v_saf(function BarProp() {
    if (!v_new_toggle) {
        throw TypeError("Illegal constructor")
    }
    ;
})
Object.defineProperties(BarProp.prototype, {
    visible: {
        get() {
            return true;
        }
    }
})
Object.defineProperties(History.prototype, {
    replaceState: {
        value: v_saf(function replaceState() {
            v_console_log("  [*] History -> replaceState[func]", [].slice.call(arguments));
        })
    },
    length: {
        get() {
            v_console_log("  [*] History -> length[get]", 3);
            if (sid === '8ffdff7b995c8ad51d902ff0') {
                return 4
            }
            // return 4;
            return parseInt(Math.random() * 10 + 2);
        }
    },
    [Symbol.toStringTag]: {value: "History", writable: false, enumerable: false, configurable: true},
})

// window.SharedArrayBuffer = SharedArrayBuffer
window.WebAssembly = WebAssembly
// window.window = window;
// Object.defineProperty(window, [Symbol.toPrimitive], {
//     value:function (){
//         return NaN
// }
// })

history = v_new(History)
// window = dtavm.proxy(window,"window"); //代理器代理之后，会创建一个新对象
window.self = window;
window.toolbar = v_new(BarProp)
window.locationbar = v_new(BarProp)
window.history = history
_setTimeout = setTimeout
timesIds = 0;
window.setTimeout = setTimeout
window.setTimeout = function setTimeout(func, delay) {
    // console.log(func, delay)
    // if (delay==0)func()
    try {
        // console.log(func)
        if (delay == 0 && timeout) {
            return _setTimeout.call(this, func, delay)
        }
        // func()
    } catch (e) {
    }
    // _setTimeout.call(this, func, 1)
    timesIds++;
    return timesIds;
};

v_hook_href(HTMLAnchorElement.prototype, 'HTMLAnchorElement', 'https://www.southwest.com/air/booking/select.html?int=HOMEQBOMAIR&adultPassengersCount=1&departureDate=2023-12-19&destinationAirportCode=LAX&fareType=USD&originationAirportCode=LAS&passengerType=ADULT&promoCode=&returnDate=&tripType=oneway&from=LAS&to=LAX&adultsCount=1&departureTimeOfDay=ALL_DAY&reset=true&returnTimeOfDay=ALL_DAY')

window.Reflect = Reflect
window.Error = Error;
window.JSON = JSON;
// window.crypto = crypto
window.Uint32Array = Uint32Array
// window.window = window;
// window = dtavm.proxy(window, 'window')
// window.__proto__ = Window
window.undefined = undefined;
window.isFinite = isFinite;
window.unescape = unescape;
window.TypeError = TypeError;
window.Infinity = Infinity;

window.getComputedStyle = v_saf(function getComputedStyle(element) {
    v_console_log(' getComputedStyle ', element)
});
window.matchMedia = function matchMedia(type) {
    let t = v_new(MediaQueryList)
    t.type = arguments
    return t;
}
window.clearTimeout = clearTimeout
window.window = window;

// window = dtavm.proxy(window, 'window')

this == global; //global就是全局上下文代理对象；

this != window; // this 是global 但是 window是代理器，所以这里是 !=;

_console2 = function () {
};
// _console2 = console.log;


print('-------------------------------------')
console.log('当前times', times)
print(events)
print(v_events)
// window.debug = true
startx = parseInt(1000 * _random())
starty = parseInt(1000 * _random())
endx = parseInt(1000 * _random())
endy = parseInt(1000 * _random())
// window.debug = true
// window.mouse_move(startx,starty,endx,endy)
// window.debug = false

// window.mouse_click
// events['mousemove'](window.mouse_move())

// debug = true;
// setInterval(function () {
//     if (randomEvent){
//         window.mouse_move(startx,starty,endx,endy)
//
//     }
//
//     var xhr = new XMLHttpRequest();
//     xhr.open('POST', "https://jbrest.southwest.com/lfs-rwb/outboundLFS", false);
//     xhr.send("{\"tripType\":\"oneWay\",\"from\":\"ZLA\",\"to\":\"NAS\",\"depart\":\"2023-04-11\",\"cabin\":\"economy\",\"refundable\":false,\"dates\":{\"before\":\"3\",\"after\":\"3\"},\"pax\":{\"ADT\":1,\"CHD\":0,\"INF\":0,\"UNN\":0},\"redempoint\":false,\"pointsBreakup\":{\"option\":\"\",\"value\":0},\"isMultiCity\":false}")
//     xhr.setRequestHeader('user-agent', ENV.navigatorparams.useragent)
//     print(JSON.stringify(xhr.headers))
//     _process.exit(0)
// }, 1000)


console.timeEnd("处理完毕，耗时");

//
// const express = require('express')
// const app = express()
//
// app.get('/', (req, res) => {
//     console.log('当前times', times)
//
//     var xhr = new XMLHttpRequest();
//     xhr.open('POST', "https://jbrest.southwest.com/lfs-rwb/outboundLFS", false);
//     xhr.send("")
//     xhr.setRequestHeader('user-agent', navis.userAgent)
//     // console.log(xhr.headers)
//     console.log('结束times', times)
//     res.send(JSON.stringify(xhr.headers))
//
// })
// const port = 3001
//
// app.listen(port, () => {
//     console.log(`Example app listening on port ${port}`)
// })

let reProxy = function (tt, name) {
    return new Proxy(tt, {
        get(target, p, receiver) {
            let res = Reflect.get(target, p, receiver);
            if (p !== 'debug' && p !== 'Object') {
                console.log(`${name} get`, p, typeof res)
            }
            // if (p === 'offsetHeight'){
            //   debugger;
            // }
            if (p === 'exec') {
                return v_saf(function (args) {
                    console.log(`${name} exec`, args)

                    return /{\s*\[\s*native\s+code\s*]\s*}\s*$/.exec(args)
                })
            }
            // console.log(Reflect.get(target, '_cf_chl_ctx', receiver))

            if (!['_registeredHandlers', 'window', '_currentEvent', 'debug', '_eventListenerss', 'top', 'prototype'].includes(p) && res && typeof res === 'object' && typeof p !== 'symbol') {
                return proxy(res, p)
            }
            return res;
        },
        // getPrototypeOf(target) {
        //
        // },

        set(target, p, newValue, receiver) {
            console.log(`${name} set`, p, typeof newValue)

            return Reflect.set(target, p, newValue, receiver)
        }
    })
};

function def(data, key, v) {
    if (Array.isArray(data.value[key])) {
        data.value[key][1] = v

    } else {
        data.value[key] = [[], v]

    }
    return data
}

// _getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
// Object.getOwnPropertyDescriptor = function (p, v){
//     let res = _getOwnPropertyDescriptor(p,v)
//     console.log('_getOwnPropertyDescriptor', v, res)
//     return res;
// }

_defin = Object.defineProperty;
Object.defineProperty = v_saf(function (p, v, d) {
    // console.log('define',  v, d)
    if (v === 'positionalSignals') {
        if (Array.isArray(d.value) && d.value.length > 50) {
            let res = [];
            d.value.forEach((e, i) => {
                if (e && e.length == 2) {
                    res.push(i + '==' + e[1].length + '=>')
                    res.push(e[1] + '')
                } else {
                    res.push(i + '==0=>iii')
                }

            })
            print([].slice.call(res).join('iii'))
        }
    }
    if (v === 'outerArgs') {
        // debugger;
        d.value = undefined;
    }
    // if (v === 'stack' && Object.keys(d).length === 1) {
    //     // debugger;
    //     d.get = undefined
    //     // throw TypeError('asdasd')
    // }
    if ((v === 'c' || v === 'd' || v === 'b') && d.value === false) {
        d.value = true;
        // debugger;
    }
    return _defin(p, v, d)
})

_join = Array.prototype.join;
Array.prototype.join = v_saf(function join(s) {
    console.log('join', this.length, this, s)
    // if (typeof this[0] !== 'number') {
    //     this.sort(sortRandom)
    //
    // }
    if (this.indexOf("TypeError: Cannot read properties of null (reading '0')") > -1) {
        // this.sort(sortRandom)
        return _join.call(this, s)
    }
    if (this.indexOf('abs') > -1) {
        // this.sort(sortRandom)

        if (window.ENV.mathprops) {
            // window.ENV.mathprops.sort(sortRandom)
            return _join.call(window.ENV.mathprops, s)

        }
        console.log('absresult', _join.call(window.ENV.mathprops, s))
        return _join.call(this, s)
    }
    if (this.indexOf('canvas') > -1) {
        let res = [
            "canvas",
            "globalAlpha",
            "globalCompositeOperation",
            "filter",
            "imageSmoothingEnabled",
            "imageSmoothingQuality",
            "strokeStyle",
            "fillStyle",
            "shadowOffsetX",
            "shadowOffsetY",
            "shadowBlur",
            "shadowColor",
            "lineWidth",
            "lineCap",
            "lineJoin",
            "miterLimit",
            "lineDashOffset",
            "font",
            "textAlign",
            "textBaseline",
            "direction",
            "fontKerning",
            "fontStretch",
            "fontVariantCaps",
            "letterSpacing",
            "textRendering",
            "wordSpacing",
            "clip",
            "createConicGradient",
            "createImageData",
            "createLinearGradient",
            "createPattern",
            "createRadialGradient",
            "drawFocusIfNeeded",
            "drawImage",
            "fill",
            "fillText",
            "getContextAttributes",
            "getImageData",
            "getLineDash",
            "getTransform",
            "isContextLost",
            "isPointInPath",
            "isPointInStroke",
            "measureText",
            "putImageData",
            "reset",
            "roundRect",
            "save",
            "scale",
            "setLineDash",
            "setTransform",
            "stroke",
            "strokeText",
            "transform",
            "translate",
            "arc",
            "arcTo",
            "beginPath",
            "bezierCurveTo",
            "clearRect",
            "closePath",
            "ellipse",
            "fillRect",
            "lineTo",
            "moveTo",
            "quadraticCurveTo",
            "rect",
            "resetTransform",
            "restore",
            "rotate",
            "strokeRect"
        ];
        // res.sort(sortRandom)
        return _join.call(res, s)
    }
    if (this.indexOf('getDetails') > -1) {
        return _join.call([
            "isInstalled",
            "getDetails",
            "getIsInstalled",
            "installState",
            "runningState",
            "InstallState",
            "RunningState"
        ], s)
    }
    if (this.indexOf('productSub') > -1) {
        let res = [
            "vendorSub",
            "productSub",
            "vendor",
            "maxTouchPoints",
            "scheduling",
            "userActivation",
            "doNotTrack",
            "geolocation",
            "connection",
            "plugins",
            "mimeTypes",
            "pdfViewerEnabled",
            "webkitTemporaryStorage",
            "webkitPersistentStorage",
            "hardwareConcurrency",
            "cookieEnabled",
            "appCodeName",
            "appName",
            "appVersion",
            "platform",
            "product",
            "userAgent",
            "language",
            "languages",
            "onLine",
            "webdriver",
            "getGamepads",
            "javaEnabled",
            "sendBeacon",
            "vibrate",
            "bluetooth",
            "clipboard",
            "credentials",
            "keyboard",
            "managed",
            "mediaDevices",
            "storage",
            "serviceWorker",
            "virtualKeyboard",
            "wakeLock",
            "deviceMemory",
            "ink",
            "hid",
            "locks",
            "mediaCapabilities",
            "mediaSession",
            "permissions",
            "presentation",
            "serial",
            "gpu",
            "usb",
            "windowControlsOverlay",
            "xr",
            "userAgentData",
            "adAuctionComponents",
            "runAdAuction",
            "canLoadAdAuctionFencedFrame",
            "clearAppBadge",
            "getBattery",
            "getUserMedia",
            "requestMIDIAccess",
            "requestMediaKeySystemAccess",
            "setAppBadge",
            "webkitGetUserMedia",
            "deprecatedReplaceInURN",
            "deprecatedURNToURL",
            "getInterestGroupAdAuctionData",
            "joinAdInterestGroup",
            "leaveAdInterestGroup",
            "updateAdInterestGroups",
            "getInstalledRelatedApps",
            "registerProtocolHandler",
            "unregisterProtocolHandler"
        ]
        // res.sort(sortRandom)
        return _join.call(res, s)
    }
    if (this.indexOf('assert') > -1) {
        if (ENV.consoleprops) {
            // ENV.consoleprops.sort(sortRandom)
            let res = _join.call(ENV.consoleprops, s)
            // console.log('assertresult', res)
            // let newStr = '';
            // let strs = res.split('');
            // strs.sort(sortRandom)
            // res = strs.join('')
            // console.log('assertresult', res)
            return res;
        }
        return _join.call([
            "assert",
            "clear",
            "context",
            "count",
            "countReset",
            "createTask",
            "debug",
            "dir",
            "dirxml",
            "error",
            "group",
            "groupCollapsed",
            "groupEnd",
            "info",
            "log",
            "memory",
            "profile",
            "profileEnd",
            "table",
            "time",
            "timeEnd",
            "timeLog",
            "timeStamp",
            "trace",
            "warn"
        ], s)
    }
    if (this.length === 438) {
        // this.sort(sortRandom)
        return _join.call(this, s)
        // return 'canvas|drawingBufferWidth|drawingBufferHeight|drawingBufferColorSpace|unpackColorSpace|DEPTH_BUFFER_BIT|STENCIL_BUFFER_BIT|COLOR_BUFFER_BIT|POINTS|LINES|LINE_LOOP|LINE_STRIP|TRIANGLES|TRIANGLE_STRIP|TRIANGLE_FAN|ZERO|ONE|SRC_COLOR|ONE_MINUS_SRC_COLOR|SRC_ALPHA|ONE_MINUS_SRC_ALPHA|DST_ALPHA|ONE_MINUS_DST_ALPHA|DST_COLOR|ONE_MINUS_DST_COLOR|SRC_ALPHA_SATURATE|FUNC_ADD|BLEND_EQUATION|BLEND_EQUATION_RGB|BLEND_EQUATION_ALPHA|FUNC_SUBTRACT|FUNC_REVERSE_SUBTRACT|BLEND_DST_RGB|BLEND_SRC_RGB|BLEND_DST_ALPHA|BLEND_SRC_ALPHA|CONSTANT_COLOR|ONE_MINUS_CONSTANT_COLOR|CONSTANT_ALPHA|ONE_MINUS_CONSTANT_ALPHA|BLEND_COLOR|ARRAY_BUFFER|ELEMENT_ARRAY_BUFFER|ARRAY_BUFFER_BINDING|ELEMENT_ARRAY_BUFFER_BINDING|STREAM_DRAW|STATIC_DRAW|DYNAMIC_DRAW|BUFFER_SIZE|BUFFER_USAGE|CURRENT_VERTEX_ATTRIB|FRONT|BACK|FRONT_AND_BACK|TEXTURE_2D|CULL_FACE|BLEND|DITHER|STENCIL_TEST|DEPTH_TEST|SCISSOR_TEST|POLYGON_OFFSET_FILL|SAMPLE_ALPHA_TO_COVERAGE|SAMPLE_COVERAGE|NO_ERROR|INVALID_ENUM|INVALID_VALUE|INVALID_OPERATION|OUT_OF_MEMORY|CW|CCW|LINE_WIDTH|ALIASED_POINT_SIZE_RANGE|ALIASED_LINE_WIDTH_RANGE|CULL_FACE_MODE|FRONT_FACE|DEPTH_RANGE|DEPTH_WRITEMASK|DEPTH_CLEAR_VALUE|DEPTH_FUNC|STENCIL_CLEAR_VALUE|STENCIL_FUNC|STENCIL_FAIL|STENCIL_PASS_DEPTH_FAIL|STENCIL_PASS_DEPTH_PASS|STENCIL_REF|STENCIL_VALUE_MASK|STENCIL_WRITEMASK|STENCIL_BACK_FUNC|STENCIL_BACK_FAIL|STENCIL_BACK_PASS_DEPTH_FAIL|STENCIL_BACK_PASS_DEPTH_PASS|STENCIL_BACK_REF|STENCIL_BACK_VALUE_MASK|STENCIL_BACK_WRITEMASK|VIEWPORT|SCISSOR_BOX|COLOR_CLEAR_VALUE|COLOR_WRITEMASK|UNPACK_ALIGNMENT|PACK_ALIGNMENT|MAX_TEXTURE_SIZE|MAX_VIEWPORT_DIMS|SUBPIXEL_BITS|RED_BITS|GREEN_BITS|BLUE_BITS|ALPHA_BITS|DEPTH_BITS|STENCIL_BITS|POLYGON_OFFSET_UNITS|POLYGON_OFFSET_FACTOR|TEXTURE_BINDING_2D|SAMPLE_BUFFERS|SAMPLES|SAMPLE_COVERAGE_VALUE|SAMPLE_COVERAGE_INVERT|COMPRESSED_TEXTURE_FORMATS|DONT_CARE|FASTEST|NICEST|GENERATE_MIPMAP_HINT|BYTE|UNSIGNED_BYTE|SHORT|UNSIGNED_SHORT|INT|UNSIGNED_INT|FLOAT|DEPTH_COMPONENT|ALPHA|RGB|RGBA|LUMINANCE|LUMINANCE_ALPHA|UNSIGNED_SHORT_4_4_4_4|UNSIGNED_SHORT_5_5_5_1|UNSIGNED_SHORT_5_6_5|FRAGMENT_SHADER|VERTEX_SHADER|MAX_VERTEX_ATTRIBS|MAX_VERTEX_UNIFORM_VECTORS|MAX_VARYING_VECTORS|MAX_COMBINED_TEXTURE_IMAGE_UNITS|MAX_VERTEX_TEXTURE_IMAGE_UNITS|MAX_TEXTURE_IMAGE_UNITS|MAX_FRAGMENT_UNIFORM_VECTORS|SHADER_TYPE|DELETE_STATUS|LINK_STATUS|VALIDATE_STATUS|ATTACHED_SHADERS|ACTIVE_UNIFORMS|ACTIVE_ATTRIBUTES|SHADING_LANGUAGE_VERSION|CURRENT_PROGRAM|NEVER|LESS|EQUAL|LEQUAL|GREATER|NOTEQUAL|GEQUAL|ALWAYS|KEEP|REPLACE|INCR|DECR|INVERT|INCR_WRAP|DECR_WRAP|VENDOR|RENDERER|VERSION|NEAREST|LINEAR|NEAREST_MIPMAP_NEAREST|LINEAR_MIPMAP_NEAREST|NEAREST_MIPMAP_LINEAR|LINEAR_MIPMAP_LINEAR|TEXTURE_MAG_FILTER|TEXTURE_MIN_FILTER|TEXTURE_WRAP_S|TEXTURE_WRAP_T|TEXTURE|TEXTURE_CUBE_MAP|TEXTURE_BINDING_CUBE_MAP|TEXTURE_CUBE_MAP_POSITIVE_X|TEXTURE_CUBE_MAP_NEGATIVE_X|TEXTURE_CUBE_MAP_POSITIVE_Y|TEXTURE_CUBE_MAP_NEGATIVE_Y|TEXTURE_CUBE_MAP_POSITIVE_Z|TEXTURE_CUBE_MAP_NEGATIVE_Z|MAX_CUBE_MAP_TEXTURE_SIZE|TEXTURE0|TEXTURE1|TEXTURE2|TEXTURE3|TEXTURE4|TEXTURE5|TEXTURE6|TEXTURE7|TEXTURE8|TEXTURE9|TEXTURE10|TEXTURE11|TEXTURE12|TEXTURE13|TEXTURE14|TEXTURE15|TEXTURE16|TEXTURE17|TEXTURE18|TEXTURE19|TEXTURE20|TEXTURE21|TEXTURE22|TEXTURE23|TEXTURE24|TEXTURE25|TEXTURE26|TEXTURE27|TEXTURE28|TEXTURE29|TEXTURE30|TEXTURE31|ACTIVE_TEXTURE|REPEAT|CLAMP_TO_EDGE|MIRRORED_REPEAT|FLOAT_VEC2|FLOAT_VEC3|FLOAT_VEC4|INT_VEC2|INT_VEC3|INT_VEC4|BOOL|BOOL_VEC2|BOOL_VEC3|BOOL_VEC4|FLOAT_MAT2|FLOAT_MAT3|FLOAT_MAT4|SAMPLER_2D|SAMPLER_CUBE|VERTEX_ATTRIB_ARRAY_ENABLED|VERTEX_ATTRIB_ARRAY_SIZE|VERTEX_ATTRIB_ARRAY_STRIDE|VERTEX_ATTRIB_ARRAY_TYPE|VERTEX_ATTRIB_ARRAY_NORMALIZED|VERTEX_ATTRIB_ARRAY_POINTER|VERTEX_ATTRIB_ARRAY_BUFFER_BINDING|IMPLEMENTATION_COLOR_READ_TYPE|IMPLEMENTATION_COLOR_READ_FORMAT|COMPILE_STATUS|LOW_FLOAT|MEDIUM_FLOAT|HIGH_FLOAT|LOW_INT|MEDIUM_INT|HIGH_INT|FRAMEBUFFER|RENDERBUFFER|RGBA4|RGB5_A1|RGB565|DEPTH_COMPONENT16|STENCIL_INDEX8|DEPTH_STENCIL|RENDERBUFFER_WIDTH|RENDERBUFFER_HEIGHT|RENDERBUFFER_INTERNAL_FORMAT|RENDERBUFFER_RED_SIZE|RENDERBUFFER_GREEN_SIZE|RENDERBUFFER_BLUE_SIZE|RENDERBUFFER_ALPHA_SIZE|RENDERBUFFER_DEPTH_SIZE|RENDERBUFFER_STENCIL_SIZE|FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE|FRAMEBUFFER_ATTACHMENT_OBJECT_NAME|FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL|FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE|COLOR_ATTACHMENT0|DEPTH_ATTACHMENT|STENCIL_ATTACHMENT|DEPTH_STENCIL_ATTACHMENT|NONE|FRAMEBUFFER_COMPLETE|FRAMEBUFFER_INCOMPLETE_ATTACHMENT|FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT|FRAMEBUFFER_INCOMPLETE_DIMENSIONS|FRAMEBUFFER_UNSUPPORTED|FRAMEBUFFER_BINDING|RENDERBUFFER_BINDING|MAX_RENDERBUFFER_SIZE|INVALID_FRAMEBUFFER_OPERATION|UNPACK_FLIP_Y_WEBGL|UNPACK_PREMULTIPLY_ALPHA_WEBGL|CONTEXT_LOST_WEBGL|UNPACK_COLORSPACE_CONVERSION_WEBGL|BROWSER_DEFAULT_WEBGL|activeTexture|attachShader|bindAttribLocation|bindRenderbuffer|blendColor|blendEquation|blendEquationSeparate|blendFunc|blendFuncSeparate|bufferData|bufferSubData|checkFramebufferStatus|compileShader|compressedTexImage2D|compressedTexSubImage2D|copyTexImage2D|copyTexSubImage2D|createBuffer|createFramebuffer|createProgram|createRenderbuffer|createShader|createTexture|cullFace|deleteBuffer|deleteFramebuffer|deleteProgram|deleteRenderbuffer|deleteShader|deleteTexture|depthFunc|depthMask|depthRange|detachShader|disable|enable|finish|flush|framebufferRenderbuffer|framebufferTexture2D|frontFace|generateMipmap|getActiveAttrib|getActiveUniform|getAttachedShaders|getAttribLocation|getBufferParameter|getContextAttributes|getError|getExtension|getFramebufferAttachmentParameter|getParameter|getProgramInfoLog|getProgramParameter|getRenderbufferParameter|getShaderInfoLog|getShaderParameter|getShaderPrecisionFormat|getShaderSource|getSupportedExtensions|getTexParameter|getUniform|getUniformLocation|getVertexAttrib|getVertexAttribOffset|hint|isBuffer|isContextLost|isEnabled|isFramebuffer|isProgram|isRenderbuffer|isShader|isTexture|lineWidth|linkProgram|pixelStorei|polygonOffset|readPixels|renderbufferStorage|sampleCoverage|shaderSource|stencilFunc|stencilFuncSeparate|stencilMask|stencilMaskSeparate|stencilOp|stencilOpSeparate|texImage2D|texParameterf|texParameteri|texSubImage2D|useProgram|validateProgram|bindBuffer|bindFramebuffer|bindTexture|clear|clearColor|clearDepth|clearStencil|colorMask|disableVertexAttribArray|drawArrays|drawElements|enableVertexAttribArray|scissor|uniform1f|uniform1fv|uniform1i|uniform1iv|uniform2f|uniform2fv|uniform2i|uniform2iv|uniform3f|uniform3fv|uniform3i|uniform3iv|uniform4f|uniform4fv|uniform4i|uniform4iv|uniformMatrix2fv|uniformMatrix3fv|uniformMatrix4fv|vertexAttrib1f|vertexAttrib1fv|vertexAttrib2f|vertexAttrib2fv|vertexAttrib3f|vertexAttrib3fv|vertexAttrib4f|vertexAttrib4fv|vertexAttribPointer|viewport|makeXRCompatible'
    }
    if (this[0] === '{"foo\\u0000bar":42}') {
        return `{"foo\\u0000bar":42}INVALID:SyntaxError: Expected ',' or ']' after array element in JSON at position 3 (line 1 column 4)INVALID:SyntaxError: Unexpected token '�', "�{}" is not valid JSONINVALID:SyntaxError: Unexpected token '�', "��[�]" is not valid JSON`
        // return `{"foo\\u0000bar":42}INVALID:SyntaxError: Expected ',' or ']' after array element in JSON at position 3 (line 1 column 4)INVALID:SyntaxError: Unexpected token '�', "�{}" is not valid JSONINVALID:SyntaxError: Unexpected token '�', "��[�]" is not valid JSON`
        let strs = [`{"foo\\u0000bar":42}INVALID:SyntaxError: Unexpected token t in JSON at position 3INVALID:SyntaxError: Unexpected token � in JSON at position 0INVALID:SyntaxError: Unexpected token � in JSON at position 0`, `{"foo\\u0000bar":42}INVALID:SyntaxError: Expected ',' or ']' after array element in JSON at position 3INVALID:SyntaxError: Unexpected token '�', "�{}" is not valid JSONINVALID:SyntaxError: Unexpected token '�', "��[�]" is not valid JSON`, `{"foo\\u0000bar":42}INVALID:SyntaxError: Expected ',' or ']' after array element in JSON at position 3INVALID:SyntaxError: Unexpected token '�', "�{}" is not valid JSONINVALID:SyntaxError: Unexpected token '�', "��[`, `{"foo\\u0000bar":42}INVALID:SyntaxError: Expected ',' or ']' after array element in JSON at position 3 (line 1 column 4)INVALID:SyntaxError: Unexpected token '�', "�{}" is not valid JSONINVALID:SyntaxError: Unexpected token '�', "��[�]" is not valid JSON`]
        let res = strs[parseInt(_random() * strs.length)];
        console.log('jsonres', res)
        // let strs = res.split('');
        // strs.sort(sortRandom)
        // res = strs.join('')
        // console.log('assertresult', res)
        return res

        return `{"foo\\u0000bar":42}INVALID:SyntaxError: Expected ',' or ']' after array element in JSON at position 3INVALID:SyntaxError: Unexpected token '�', "�{}" is not valid JSONINVALID:SyntaxError: Unexpected token '�', "��[�]" is not valid JSON`
        // 家里的
        // return `{"foo\\u0000bar":42}INVALID:SyntaxError: Expected ',' or ']' after array element in JSON at position 3INVALID:SyntaxError: Unexpected token '�', "�{}" is not valid JSONINVALID:SyntaxError: Unexpected token '�', "��[�]" is not valid JSON`

        // return `{"foo\\u0000bar":42}INVALID:SyntaxError: Expected ',' or ']' after array element in JSON at position 3INVALID:SyntaxError: Unexpected token '�', "�{}" is not valid JSONINVALID:SyntaxError: Unexpected token '�', "��[`
        // this.sort(sortRandom)

        // return `{"foo\\u0000bar":42}INVALID:SyntaxError: Expected ',' or ']' after array element in JSON at position 3INVALID:SyntaxError: Unexpected token '�', "�{}" is not valid JSONINVALID:SyntaxError: Unexpected token '�', "��[\x00\x00�\x00\x00]\x00" is not valid JSON`
        // return
        // return `{"foo\\u0000bar":42}INVALID:SyntaxError: Expected ',' or ']' after array element in JSON at position 3INVALID:SyntaxError: Unexpected token '�', "�{}" is not valid JSONINVALID:SyntaxError: Unexpected token '�', "��[�]" is not valid JSON`
    }
    return _join.call(this, s)
})


_getOwnPropertyNames = Object.getOwnPropertyNames;
Object.getOwnPropertyNames = v_saf(function (a) {
    let res = _getOwnPropertyNames(a);
    console.log('getOwnPropertyNames', a, res)

    if (res.length >= 180 && res.indexOf('Function') > -1) {
        if (ENV.windowprops) {
            // ENV.windowprops = ENV.windowprops.slice(0, ENV.windowprops -  parseInt(10 * _random()))
            return ENV.windowprops
        }
        console.log('getWindow')
        res = [
            "Object",
            "Function",
            "Array",
            "Number",
            "parseFloat",
            "parseInt",
            "Infinity",
            "NaN",
            "undefined",
            "Boolean",
            "String",
            "Symbol",
            "Date",
            "Promise",
            "RegExp",
            "Error",
            "AggregateError",
            "EvalError",
            "RangeError",
            "ReferenceError",
            "SyntaxError",
            "TypeError",
            "URIError",
            "globalThis",
            "JSON",
            "Math",
            "Intl",
            "ArrayBuffer",
            "Uint8Array",
            "Int8Array",
            "Uint16Array",
            "Int16Array",
            "Uint32Array",
            "Int32Array",
            "Float32Array",
            "Float64Array",
            "Uint8ClampedArray",
            "BigUint64Array",
            "BigInt64Array",
            "DataView",
            "Map",
            "BigInt",
            "Set",
            "WeakMap",
            "WeakSet",
            "Proxy",
            "Reflect",
            "FinalizationRegistry",
            "WeakRef",
            "decodeURI",
            "decodeURIComponent",
            "encodeURI",
            "encodeURIComponent",
            "escape",
            "unescape",
            "eval",
            "isFinite",
            "isNaN",
            "console",
            "Option",
            "Image",
            "Audio",
            "webkitURL",
            "webkitRTCPeerConnection",
            "webkitMediaStream",
            "WebKitMutationObserver",
            "WebKitCSSMatrix",
            "XPathResult",
            "XPathExpression",
            "XPathEvaluator",
            "XMLSerializer",
            "XMLHttpRequestUpload",
            "XMLHttpRequestEventTarget",
            "XMLHttpRequest",
            "XMLDocument",
            "WritableStreamDefaultWriter",
            "WritableStreamDefaultController",
            "WritableStream",
            "Worker",
            "Window",
            "WheelEvent",
            "WebSocket",
            "WebGLVertexArrayObject",
            "WebGLUniformLocation",
            "WebGLTransformFeedback",
            "WebGLTexture",
            "WebGLSync",
            "WebGLShaderPrecisionFormat",
            "WebGLShader",
            "WebGLSampler",
            "WebGLRenderingContext",
            "WebGLRenderbuffer",
            "WebGLQuery",
            "WebGLProgram",
            "WebGLFramebuffer",
            "WebGLContextEvent",
            "WebGLBuffer",
            "WebGLActiveInfo",
            "WebGL2RenderingContext",
            "WaveShaperNode",
            "VisualViewport",
            "ValidityState",
            "VTTCue",
            "UserActivation",
            "URLSearchParams",
            "URLPattern",
            "URL",
            "UIEvent",
            "TrustedTypePolicyFactory",
            "TrustedTypePolicy",
            "TrustedScriptURL",
            "TrustedScript",
            "TrustedHTML",
            "TreeWalker",
            "TransitionEvent",
            "TransformStreamDefaultController",
            "TransformStream",
            "TrackEvent",
            "TouchList",
            "TouchEvent",
            "Touch",
            "TimeRanges",
            "TextTrackList",
            "TextTrackCueList",
            "TextTrackCue",
            "TextTrack",
            "TextMetrics",
            "TextEvent",
            "TextEncoderStream",
            "TextEncoder",
            "TextDecoderStream",
            "TextDecoder",
            "Text",
            "TaskSignal",
            "TaskPriorityChangeEvent",
            "TaskController",
            "TaskAttributionTiming",
            "SyncManager",
            "SubmitEvent",
            "StyleSheetList",
            "StyleSheet",
            "StylePropertyMapReadOnly",
            "StylePropertyMap",
            "StorageEvent",
            "Storage",
            "StereoPannerNode",
            "StaticRange",
            "ShadowRoot",
            "Selection",
            "SecurityPolicyViolationEvent",
            "ScriptProcessorNode",
            "ScreenOrientation",
            "Screen",
            "Scheduling",
            "Scheduler",
            "SVGViewElement",
            "SVGUseElement",
            "SVGUnitTypes",
            "SVGTransformList",
            "SVGTransform",
            "SVGTitleElement",
            "SVGTextPositioningElement",
            "SVGTextPathElement",
            "SVGTextElement",
            "SVGTextContentElement",
            "SVGTSpanElement",
            "SVGSymbolElement",
            "SVGSwitchElement",
            "SVGStyleElement",
            "SVGStringList",
            "SVGStopElement",
            "SVGSetElement",
            "SVGScriptElement",
            "SVGSVGElement",
            "SVGRectElement",
            "SVGRect",
            "SVGRadialGradientElement",
            "SVGPreserveAspectRatio",
            "SVGPolylineElement",
            "SVGPolygonElement",
            "SVGPointList",
            "SVGPoint",
            "SVGPatternElement",
            "SVGPathElement",
            "SVGNumberList",
            "SVGNumber",
            "SVGMetadataElement",
            "SVGMatrix",
            "SVGMaskElement",
            "SVGMarkerElement",
            "SVGMPathElement",
            "SVGLinearGradientElement",
            "SVGLineElement",
            "SVGLengthList",
            "SVGLength",
            "SVGImageElement",
            "SVGGraphicsElement",
            "SVGGradientElement",
            "SVGGeometryElement",
            "SVGGElement",
            "SVGForeignObjectElement",
            "SVGFilterElement",
            "SVGFETurbulenceElement",
            "SVGFETileElement",
            "SVGFESpotLightElement",
            "SVGFESpecularLightingElement",
            "SVGFEPointLightElement",
            "SVGFEOffsetElement",
            "SVGFEMorphologyElement",
            "SVGFEMergeNodeElement",
            "SVGFEMergeElement",
            "SVGFEImageElement",
            "SVGFEGaussianBlurElement",
            "SVGFEFuncRElement",
            "SVGFEFuncGElement",
            "SVGFEFuncBElement",
            "SVGFEFuncAElement",
            "SVGFEFloodElement",
            "SVGFEDropShadowElement",
            "SVGFEDistantLightElement",
            "SVGFEDisplacementMapElement",
            "SVGFEDiffuseLightingElement",
            "SVGFEConvolveMatrixElement",
            "SVGFECompositeElement",
            "SVGFEComponentTransferElement",
            "SVGFEColorMatrixElement",
            "SVGFEBlendElement",
            "SVGEllipseElement",
            "SVGElement",
            "SVGDescElement",
            "SVGDefsElement",
            "SVGComponentTransferFunctionElement",
            "SVGClipPathElement",
            "SVGCircleElement",
            "SVGAnimationElement",
            "SVGAnimatedTransformList",
            "SVGAnimatedString",
            "SVGAnimatedRect",
            "SVGAnimatedPreserveAspectRatio",
            "SVGAnimatedNumberList",
            "SVGAnimatedNumber",
            "SVGAnimatedLengthList",
            "SVGAnimatedLength",
            "SVGAnimatedInteger",
            "SVGAnimatedEnumeration",
            "SVGAnimatedBoolean",
            "SVGAnimatedAngle",
            "SVGAnimateTransformElement",
            "SVGAnimateMotionElement",
            "SVGAnimateElement",
            "SVGAngle",
            "SVGAElement",
            "Response",
            "ResizeObserverSize",
            "ResizeObserverEntry",
            "ResizeObserver",
            "Request",
            "ReportingObserver",
            "ReadableStreamDefaultReader",
            "ReadableStreamDefaultController",
            "ReadableStreamBYOBRequest",
            "ReadableStreamBYOBReader",
            "ReadableStream",
            "ReadableByteStreamController",
            "Range",
            "RadioNodeList",
            "RTCTrackEvent",
            "RTCStatsReport",
            "RTCSessionDescription",
            "RTCSctpTransport",
            "RTCRtpTransceiver",
            "RTCRtpSender",
            "RTCRtpReceiver",
            "RTCPeerConnectionIceEvent",
            "RTCPeerConnectionIceErrorEvent",
            "RTCPeerConnection",
            "RTCIceCandidate",
            "RTCErrorEvent",
            "RTCError",
            "RTCEncodedVideoFrame",
            "RTCEncodedAudioFrame",
            "RTCDtlsTransport",
            "RTCDataChannelEvent",
            "RTCDataChannel",
            "RTCDTMFToneChangeEvent",
            "RTCDTMFSender",
            "RTCCertificate",
            "PromiseRejectionEvent",
            "ProgressEvent",
            "ProcessingInstruction",
            "PopStateEvent",
            "PointerEvent",
            "PluginArray",
            "Plugin",
            "PeriodicWave",
            "PerformanceTiming",
            "PerformanceServerTiming",
            "PerformanceResourceTiming",
            "PerformancePaintTiming",
            "PerformanceObserverEntryList",
            "PerformanceObserver",
            "PerformanceNavigationTiming",
            "PerformanceNavigation",
            "PerformanceMeasure",
            "PerformanceMark",
            "PerformanceLongTaskTiming",
            "PerformanceEventTiming",
            "PerformanceEntry",
            "PerformanceElementTiming",
            "Performance",
            "Path2D",
            "PannerNode",
            "PageTransitionEvent",
            "OverconstrainedError",
            "OscillatorNode",
            "OffscreenCanvasRenderingContext2D",
            "OffscreenCanvas",
            "OfflineAudioContext",
            "OfflineAudioCompletionEvent",
            "NodeList",
            "NodeIterator",
            "NodeFilter",
            "Node",
            "NetworkInformation",
            "Navigator",
            "NamedNodeMap",
            "MutationRecord",
            "MutationObserver",
            "MutationEvent",
            "MouseEvent",
            "MimeTypeArray",
            "MimeType",
            "MessagePort",
            "MessageEvent",
            "MessageChannel",
            "MediaStreamTrackProcessor",
            "MediaStreamTrackEvent",
            "MediaStreamEvent",
            "MediaStreamAudioSourceNode",
            "MediaStreamAudioDestinationNode",
            "MediaStream",
            "MediaRecorder",
            "MediaQueryListEvent",
            "MediaQueryList",
            "MediaList",
            "MediaError",
            "MediaEncryptedEvent",
            "MediaElementAudioSourceNode",
            "MediaCapabilities",
            "Location",
            "LayoutShiftAttribution",
            "LayoutShift",
            "LargestContentfulPaint",
            "KeyframeEffect",
            "KeyboardEvent",
            "IntersectionObserverEntry",
            "IntersectionObserver",
            "InputEvent",
            "InputDeviceInfo",
            "InputDeviceCapabilities",
            "ImageData",
            "ImageCapture",
            "ImageBitmapRenderingContext",
            "ImageBitmap",
            "IdleDeadline",
            "IIRFilterNode",
            "IDBVersionChangeEvent",
            "IDBTransaction",
            "IDBRequest",
            "IDBOpenDBRequest",
            "IDBObjectStore",
            "IDBKeyRange",
            "IDBIndex",
            "IDBFactory",
            "IDBDatabase",
            "IDBCursorWithValue",
            "IDBCursor",
            "History",
            "Headers",
            "HashChangeEvent",
            "HTMLVideoElement",
            "HTMLUnknownElement",
            "HTMLUListElement",
            "HTMLTrackElement",
            "HTMLTitleElement",
            "HTMLTimeElement",
            "HTMLTextAreaElement",
            "HTMLTemplateElement",
            "HTMLTableSectionElement",
            "HTMLTableRowElement",
            "HTMLTableElement",
            "HTMLTableColElement",
            "HTMLTableCellElement",
            "HTMLTableCaptionElement",
            "HTMLStyleElement",
            "HTMLSpanElement",
            "HTMLSourceElement",
            "HTMLSlotElement",
            "HTMLSelectElement",
            "HTMLScriptElement",
            "HTMLQuoteElement",
            "HTMLProgressElement",
            "HTMLPreElement",
            "HTMLPictureElement",
            "HTMLParamElement",
            "HTMLParagraphElement",
            "HTMLOutputElement",
            "HTMLOptionsCollection",
            "HTMLOptionElement",
            "HTMLOptGroupElement",
            "HTMLObjectElement",
            "HTMLOListElement",
            "HTMLModElement",
            "HTMLMeterElement",
            "HTMLMetaElement",
            "HTMLMenuElement",
            "HTMLMediaElement",
            "HTMLMarqueeElement",
            "HTMLMapElement",
            "HTMLLinkElement",
            "HTMLLegendElement",
            "HTMLLabelElement",
            "HTMLLIElement",
            "HTMLInputElement",
            "HTMLImageElement",
            "HTMLIFrameElement",
            "HTMLHtmlElement",
            "HTMLHeadingElement",
            "HTMLHeadElement",
            "HTMLHRElement",
            "HTMLFrameSetElement",
            "HTMLFrameElement",
            "HTMLFormElement",
            "HTMLFormControlsCollection",
            "HTMLFontElement",
            "HTMLFieldSetElement",
            "HTMLEmbedElement",
            "HTMLElement",
            "HTMLDocument",
            "HTMLDivElement",
            "HTMLDirectoryElement",
            "HTMLDialogElement",
            "HTMLDetailsElement",
            "HTMLDataListElement",
            "HTMLDataElement",
            "HTMLDListElement",
            "HTMLCollection",
            "HTMLCanvasElement",
            "HTMLButtonElement",
            "HTMLBodyElement",
            "HTMLBaseElement",
            "HTMLBRElement",
            "HTMLAudioElement",
            "HTMLAreaElement",
            "HTMLAnchorElement",
            "HTMLAllCollection",
            "GeolocationPositionError",
            "GeolocationPosition",
            "GeolocationCoordinates",
            "Geolocation",
            "GamepadHapticActuator",
            "GamepadEvent",
            "GamepadButton",
            "Gamepad",
            "GainNode",
            "FormDataEvent",
            "FormData",
            "FontFaceSetLoadEvent",
            "FontFace",
            "FocusEvent",
            "FileReader",
            "FileList",
            "File",
            "FeaturePolicy",
            "External",
            "EventTarget",
            "EventSource",
            "EventCounts",
            "Event",
            "ErrorEvent",
            "ElementInternals",
            "Element",
            "DynamicsCompressorNode",
            "DragEvent",
            "DocumentType",
            "DocumentFragment",
            "Document",
            "DelayNode",
            "DecompressionStream",
            "DataTransferItemList",
            "DataTransferItem",
            "DataTransfer",
            "DOMTokenList",
            "DOMStringMap",
            "DOMStringList",
            "DOMRectReadOnly",
            "DOMRectList",
            "DOMRect",
            "DOMQuad",
            "DOMPointReadOnly",
            "DOMPoint",
            "DOMParser",
            "DOMMatrixReadOnly",
            "DOMMatrix",
            "DOMImplementation",
            "DOMException",
            "DOMError",
            "CustomStateSet",
            "CustomEvent",
            "CustomElementRegistry",
            "Crypto",
            "CountQueuingStrategy",
            "ConvolverNode",
            "ConstantSourceNode",
            "CompressionStream",
            "CompositionEvent",
            "Comment",
            "CloseEvent",
            "ClipboardEvent",
            "CharacterData",
            "ChannelSplitterNode",
            "ChannelMergerNode",
            "CanvasRenderingContext2D",
            "CanvasPattern",
            "CanvasGradient",
            "CanvasFilter",
            "CanvasCaptureMediaStreamTrack",
            "CSSVariableReferenceValue",
            "CSSUnparsedValue",
            "CSSUnitValue",
            "CSSTranslate",
            "CSSTransformValue",
            "CSSTransformComponent",
            "CSSSupportsRule",
            "CSSStyleValue",
            "CSSStyleSheet",
            "CSSStyleRule",
            "CSSStyleDeclaration",
            "CSSSkewY",
            "CSSSkewX",
            "CSSSkew",
            "CSSScale",
            "CSSRuleList",
            "CSSRule",
            "CSSRotate",
            "CSSPropertyRule",
            "CSSPositionValue",
            "CSSPerspective",
            "CSSPageRule",
            "CSSNumericValue",
            "CSSNumericArray",
            "CSSNamespaceRule",
            "CSSMediaRule",
            "CSSMatrixComponent",
            "CSSMathValue",
            "CSSMathSum",
            "CSSMathProduct",
            "CSSMathNegate",
            "CSSMathMin",
            "CSSMathMax",
            "CSSMathInvert",
            "CSSMathClamp",
            "CSSLayerStatementRule",
            "CSSLayerBlockRule",
            "CSSKeywordValue",
            "CSSKeyframesRule",
            "CSSKeyframeRule",
            "CSSImportRule",
            "CSSImageValue",
            "CSSGroupingRule",
            "CSSFontFaceRule",
            "CSSCounterStyleRule",
            "CSSConditionRule",
            "CSS",
            "CDATASection",
            "ByteLengthQueuingStrategy",
            "BroadcastChannel",
            "BlobEvent",
            "Blob",
            "BiquadFilterNode",
            "BeforeUnloadEvent",
            "BeforeInstallPromptEvent",
            "BaseAudioContext",
            "BarProp",
            "AudioWorkletNode",
            "AudioScheduledSourceNode",
            "AudioProcessingEvent",
            "AudioParamMap",
            "AudioParam",
            "AudioNode",
            "AudioListener",
            "AudioDestinationNode",
            "AudioContext",
            "AudioBufferSourceNode",
            "AudioBuffer",
            "Attr",
            "AnimationEvent",
            "AnimationEffect",
            "Animation",
            "AnalyserNode",
            "AbstractRange",
            "AbortSignal",
            "AbortController",
            "window",
            "self",
            "document",
            "name",
            "location",
            "customElements",
            "history",
            "locationbar",
            "menubar",
            "personalbar",
            "scrollbars",
            "statusbar",
            "toolbar",
            "status",
            "closed",
            "frames",
            "length",
            "top",
            "opener",
            "parent",
            "frameElement",
            "navigator",
            "origin",
            "external",
            "screen",
            "innerWidth",
            "innerHeight",
            "scrollX",
            "pageXOffset",
            "scrollY",
            "pageYOffset",
            "visualViewport",
            "screenX",
            "screenY",
            "outerWidth",
            "outerHeight",
            "devicePixelRatio",
            "event",
            "clientInformation",
            "offscreenBuffering",
            "screenLeft",
            "screenTop",
            "defaultStatus",
            "defaultstatus",
            "styleMedia",
            "onsearch",
            "isSecureContext",
            "trustedTypes",
            "performance",
            "onappinstalled",
            "onbeforeinstallprompt",
            "crypto",
            "indexedDB",
            "webkitStorageInfo",
            "sessionStorage",
            "localStorage",
            "onbeforexrselect",
            "onabort",
            "onbeforeinput",
            "onblur",
            "oncancel",
            "oncanplay",
            "oncanplaythrough",
            "onchange",
            "onclick",
            "onclose",
            "oncontextlost",
            "oncontextmenu",
            "oncontextrestored",
            "oncuechange",
            "ondblclick",
            "ondrag",
            "ondragend",
            "ondragenter",
            "ondragleave",
            "ondragover",
            "ondragstart",
            "ondrop",
            "ondurationchange",
            "onemptied",
            "onended",
            "onerror",
            "onfocus",
            "onformdata",
            "oninput",
            "oninvalid",
            "onkeydown",
            "onkeypress",
            "onkeyup",
            "onload",
            "onloadeddata",
            "onloadedmetadata",
            "onloadstart",
            "onmousedown",
            "onmouseenter",
            "onmouseleave",
            "onmousemove",
            "onmouseout",
            "onmouseover",
            "onmouseup",
            "onmousewheel",
            "onpause",
            "onplay",
            "onplaying",
            "onprogress",
            "onratechange",
            "onreset",
            "onresize",
            "onscroll",
            "onsecuritypolicyviolation",
            "onseeked",
            "onseeking",
            "onselect",
            "onslotchange",
            "onstalled",
            "onsubmit",
            "onsuspend",
            "ontimeupdate",
            "ontoggle",
            "onvolumechange",
            "onwaiting",
            "onwebkitanimationend",
            "onwebkitanimationiteration",
            "onwebkitanimationstart",
            "onwebkittransitionend",
            "onwheel",
            "onauxclick",
            "ongotpointercapture",
            "onlostpointercapture",
            "onpointerdown",
            "onpointermove",
            "onpointerrawupdate",
            "onpointerup",
            "onpointercancel",
            "onpointerover",
            "onpointerout",
            "onpointerenter",
            "onpointerleave",
            "onselectstart",
            "onselectionchange",
            "onanimationend",
            "onanimationiteration",
            "onanimationstart",
            "ontransitionrun",
            "ontransitionstart",
            "ontransitionend",
            "ontransitioncancel",
            "onafterprint",
            "onbeforeprint",
            "onbeforeunload",
            "onhashchange",
            "onlanguagechange",
            "onmessage",
            "onmessageerror",
            "onoffline",
            "ononline",
            "onpagehide",
            "onpageshow",
            "onpopstate",
            "onrejectionhandled",
            "onstorage",
            "onunhandledrejection",
            "onunload",
            "crossOriginIsolated",
            "scheduler",
            "alert",
            "atob",
            "blur",
            "btoa",
            "cancelAnimationFrame",
            "cancelIdleCallback",
            "captureEvents",
            "clearInterval",
            "clearTimeout",
            "close",
            "confirm",
            "createImageBitmap",
            "fetch",
            "find",
            "focus",
            "getComputedStyle",
            "getSelection",
            "matchMedia",
            "moveBy",
            "moveTo",
            "open",
            "postMessage",
            "print",
            "prompt",
            "queueMicrotask",
            "releaseEvents",
            "reportError",
            "requestAnimationFrame",
            "requestIdleCallback",
            "resizeBy",
            "resizeTo",
            "scroll",
            "scrollBy",
            "scrollTo",
            "setInterval",
            "setTimeout",
            "stop",
            "structuredClone",
            "webkitCancelAnimationFrame",
            "webkitRequestAnimationFrame",
            "Atomics",
            "chrome",
            "WebAssembly",
            "caches",
            "cookieStore",
            "ondevicemotion",
            "ondeviceorientation",
            "ondeviceorientationabsolute",
            "launchQueue",
            "onbeforematch",
            "AbsoluteOrientationSensor",
            "Accelerometer",
            "AudioWorklet",
            "Cache",
            "CacheStorage",
            "Clipboard",
            "ClipboardItem",
            "CookieChangeEvent",
            "CookieStore",
            "CookieStoreManager",
            "Credential",
            "CredentialsContainer",
            "CryptoKey",
            "DeviceMotionEvent",
            "DeviceMotionEventAcceleration",
            "DeviceMotionEventRotationRate",
            "DeviceOrientationEvent",
            "FederatedCredential",
            "Gyroscope",
            "Keyboard",
            "KeyboardLayoutMap",
            "LinearAccelerationSensor",
            "Lock",
            "LockManager",
            "MIDIAccess",
            "MIDIConnectionEvent",
            "MIDIInput",
            "MIDIInputMap",
            "MIDIMessageEvent",
            "MIDIOutput",
            "MIDIOutputMap",
            "MIDIPort",
            "MediaDeviceInfo",
            "MediaDevices",
            "MediaKeyMessageEvent",
            "MediaKeySession",
            "MediaKeyStatusMap",
            "MediaKeySystemAccess",
            "MediaKeys",
            "NavigationPreloadManager",
            "NavigatorManagedData",
            "OrientationSensor",
            "PasswordCredential",
            "RTCIceTransport",
            "RelativeOrientationSensor",
            "Sensor",
            "SensorErrorEvent",
            "ServiceWorker",
            "ServiceWorkerContainer",
            "ServiceWorkerRegistration",
            "StorageManager",
            "SubtleCrypto",
            "WebTransport",
            "WebTransportBidirectionalStream",
            "WebTransportDatagramDuplexStream",
            "WebTransportError",
            "Worklet",
            "XRDOMOverlayState",
            "XRLayer",
            "XRWebGLBinding",
            "AudioData",
            "EncodedAudioChunk",
            "EncodedVideoChunk",
            "ImageTrack",
            "ImageTrackList",
            "VideoColorSpace",
            "VideoFrame",
            "AudioDecoder",
            "AudioEncoder",
            "ImageDecoder",
            "VideoDecoder",
            "VideoEncoder",
            "AuthenticatorAssertionResponse",
            "AuthenticatorAttestationResponse",
            "AuthenticatorResponse",
            "PublicKeyCredential",
            "BarcodeDetector",
            "BatteryManager",
            "Bluetooth",
            "BluetoothCharacteristicProperties",
            "BluetoothDevice",
            "BluetoothRemoteGATTCharacteristic",
            "BluetoothRemoteGATTDescriptor",
            "BluetoothRemoteGATTServer",
            "BluetoothRemoteGATTService",
            "BrowserCaptureMediaStreamTrack",
            "CropTarget",
            "EyeDropper",
            "FileSystemDirectoryHandle",
            "FileSystemFileHandle",
            "FileSystemHandle",
            "FileSystemWritableFileStream",
            "FontData",
            "FragmentDirective",
            "GravitySensor",
            "HID",
            "HIDConnectionEvent",
            "HIDDevice",
            "HIDInputReportEvent",
            "IdleDetector",
            "LaunchParams",
            "LaunchQueue",
            "OTPCredential",
            "PaymentAddress",
            "PaymentRequest",
            "PaymentResponse",
            "PaymentMethodChangeEvent",
            "Presentation",
            "PresentationAvailability",
            "PresentationConnection",
            "PresentationConnectionAvailableEvent",
            "PresentationConnectionCloseEvent",
            "PresentationConnectionList",
            "PresentationReceiver",
            "PresentationRequest",
            "Profiler",
            "Sanitizer",
            "ScreenDetailed",
            "ScreenDetails",
            "Serial",
            "SerialPort",
            "USB",
            "USBAlternateInterface",
            "USBConfiguration",
            "USBConnectionEvent",
            "USBDevice",
            "USBEndpoint",
            "USBInTransferResult",
            "USBInterface",
            "USBIsochronousInTransferPacket",
            "USBIsochronousInTransferResult",
            "USBIsochronousOutTransferPacket",
            "USBIsochronousOutTransferResult",
            "USBOutTransferResult",
            "VirtualKeyboard",
            "WakeLock",
            "WakeLockSentinel",
            "WindowControlsOverlay",
            "WindowControlsOverlayGeometryChangeEvent",
            "XRAnchor",
            "XRAnchorSet",
            "XRBoundedReferenceSpace",
            "XRFrame",
            "XRInputSource",
            "XRInputSourceArray",
            "XRInputSourceEvent",
            "XRInputSourcesChangeEvent",
            "XRPose",
            "XRReferenceSpace",
            "XRReferenceSpaceEvent",
            "XRRenderState",
            "XRRigidTransform",
            "XRSession",
            "XRSessionEvent",
            "XRSpace",
            "XRSystem",
            "XRView",
            "XRViewerPose",
            "XRViewport",
            "XRWebGLLayer",
            "XRCPUDepthInformation",
            "XRDepthInformation",
            "XRWebGLDepthInformation",
            "XRHitTestResult",
            "XRHitTestSource",
            "XRRay",
            "XRTransientInputHitTestResult",
            "XRTransientInputHitTestSource",
            "XRLightEstimate",
            "XRLightProbe",
            "getScreenDetails",
            "queryLocalFonts",
            "showDirectoryPicker",
            "showOpenFilePicker",
            "showSaveFilePicker",
            "originAgentCluster",
            "navigation",
            "speechSynthesis",
            "AnimationPlaybackEvent",
            "AnimationTimeline",
            "CSSAnimation",
            "CSSTransition",
            "DocumentTimeline",
            "BackgroundFetchManager",
            "BackgroundFetchRecord",
            "BackgroundFetchRegistration",
            "BluetoothUUID",
            "CSSContainerRule",
            "CSSFontPaletteValuesRule",
            "DelegatedInkTrailPresenter",
            "Ink",
            "Highlight",
            "HighlightRegistry",
            "MediaMetadata",
            "MediaSession",
            "MediaSource",
            "SourceBuffer",
            "SourceBufferList",
            "MediaStreamTrack",
            "MediaStreamTrackGenerator",
            "NavigateEvent",
            "Navigation",
            "NavigationCurrentEntryChangeEvent",
            "NavigationDestination",
            "NavigationHistoryEntry",
            "NavigationTransition",
            "NavigatorUAData",
            "Notification",
            "PaymentInstruments",
            "PaymentManager",
            "PaymentRequestUpdateEvent",
            "PeriodicSyncManager",
            "PermissionStatus",
            "Permissions",
            "PictureInPictureEvent",
            "PictureInPictureWindow",
            "PushManager",
            "PushSubscription",
            "PushSubscriptionOptions",
            "RemotePlayback",
            "SharedWorker",
            "SpeechSynthesisErrorEvent",
            "SpeechSynthesisEvent",
            "SpeechSynthesisUtterance",
            "VideoPlaybackQuality",
            "VirtualKeyboardGeometryChangeEvent",
            "XSLTProcessor",
            "webkitSpeechGrammar",
            "webkitSpeechGrammarList",
            "webkitSpeechRecognition",
            "webkitSpeechRecognitionError",
            "webkitSpeechRecognitionEvent",
            "openDatabase",
            "webkitRequestFileSystem",
            "webkitResolveLocalFileSystemURL",
        ];
    }
    return res;

})
let aa = false;


// 44 funcs start
let funcs = [
    'XRHitTestResult',
    'crossOriginIsolated',
    'AbstractRange',
    'RTCDtlsTransport',
    'BarcodeDetector',
    'EventCounts',
    'SharedArrayBuffer',
    'VisualViewport',
    'FinalizationRegistry',
    'WritableStreamDefaultController',
    'HTMLMenuItemElement',
    'HID',
    'CSSCounterStyleRule',
    'FileSystemDirectoryHandle',
    'PerformancePaintTiming',
    'onbeforeinput',
    'ApplicationCache',
    'AudioData',
    'AudioTrack',
    'DOMRectList',
    'FragmentDirective',
    'Sanitizer',
    'onselectionchange',
    'onsecuritypolicyviolation',
    'structuredClone',
    'XRHand',
    'Lock',
    'EyeDropper',
    'CSSLayerBlockRule',
    'ServiceWorkerContainer',
    'IdleDetector',
    'HTMLDialogElement',
    'CSSFontPaletteValuesRule',
    'CSSMathClamp',
    'NavigationPreloadManager',
    'LaunchParams',
    'content',
    'IDBFileHandle',
    'BrowserCaptureMediaStreamTrack',
    'FontData',
    'ReadableByteStreamController',
    'OffscreenCanvas',
    'MediaSourceHandle',
    'XRCamera'
]
let funcProperties = {};
if (ENV.funcs && ENV.funcs.length > 0) {
    for (let i = 0; i < funcs.length; i++) {
        let funcName = funcs[i]
        let hasFunc = ENV.funcs[i] === 1;
        // hasFunc = _random() > 0.5
        if (hasFunc) {
            funcProperties[funcName] = {
                enumerable: true,
                value: funcName === 'OffscreenCanvas' ? OffscreenCanvas : v_saf(function () {
                })
            }
        } else {
            delete window[funcName]

        }


    }
} else {
    for (let i = 0; i < funcs.length; i++) {
        let funcName = funcs[i]
        let hasFunc = Math.random() < 0.5;
        // hasFunc = _random() > 0.5
        if (hasFunc) {
            funcProperties[funcName] = {
                enumerable: true,
                value: funcName === 'OffscreenCanvas' ? OffscreenCanvas : v_saf(function () {
                })
            }
        } else {
            delete window[funcName]
            // funcProperties[funcName] = {
            //     value: undefined,
            //     enumerable:false,
            // }
        }


    }
}
Object.defineProperties(window, funcProperties)


// 44 funcs end
let funcs2 = [
    "ActiveXObject",
    "ApplePaySession",
    "File",
    "MutationObserver",
    "Notification",
    "SharedWorker",
    "TouchEvent",
    "XDomainRequest",
    "_phantom",
    "attachEvent",
    "callPhantom",
    "createPopup",
    "detachEvent",
    "event",
    "external",
    "fireEvent",
    "frameElement",
    "globalStorage",
    "localStorage",
    "mozRTCPeerConnection",
    "mozRequestAnimationFrame",
    "phantom",
    "postMessage",
    "PushManager",
    "registerProtocolHandler",
    "requestAnimationFrame",
    "sessionStorage",
    "sidebar",
    "webkitRequestAnimationFrame",
    "webkitResolveLocalFileSystemURL",
    "webkitRTCPeerConnection",
    "BluetoothUUID",
    "netscape"
];
let func2Properties = {};
if (ENV.funcs2 && ENV.funcs2.length > 0) {
    for (let i = 0; i < funcs2.length; i++) {
        let funcName = funcs2[i]
        if (funcName === 'localStorage' || funcName === 'sessionStorage') {
            continue;
        }
        let hasFunc = ENV.funcs2[i] === 1;
        // hasFunc = _random() > 0.5
        if (hasFunc) {
            let v = undefined;
            switch (funcName) {
                case "MutationObserver":
                    v = MutationObserver;
                    break
                case "TouchEvent":
                    v = TouchEvent;
                    break
                case "event":
                    v = undefined;
                    break;
                case "external":
                    v = external;
                    break;
                case "postMessage":
                    v = postMessage;
                    break;
                case "frameElement":
                    v = null;
                    break;
                case "PushManager":
                    v = PushManager;
                    break;
                case "requestAnimationFrame":
                    v = requestAnimationFrame;
                    break;
                case "webkitRequestAnimationFrame":
                    v = webkitRequestAnimationFrame;
                    break;
                case "webkitResolveLocalFileSystemURL":
                    v = webkitResolveLocalFileSystemURL;
                    break;
                case "webkitRTCPeerConnection":
                    v = RTCPeerConnection;
                    break;
                default:
                    v = v_saf(function () {
                    })
                    break;

            }
            func2Properties[funcName] = {
                enumerable: true,
                value: v ? proxy(v, funcName) : v
            }
        } else {
            delete window[funcName]
            // func2Properties[funcName] = {
            //     value: undefined,
            //     enumerable:false,
            // }
        }


    }
} else {
    for (let i = 0; i < funcs2.length; i++) {
        let funcName = funcs2[i]
        let hasFunc = Math.random() < 0.5;
        // hasFunc = _random() > 0.5
        if (hasFunc) {
            func2Properties[funcName] = {
                enumerable: true,
                value: funcName === 'OffscreenCanvas' ? OffscreenCanvas : v_saf(function () {
                })
            }
        } else {
            delete window[funcName]

        }
    }
}
Object.defineProperties(window, func2Properties)


let bodyFuncs = [
    "contextMenu",
    "innerText",
    "mozRequestFullScreen",
    "requestFullScreen",
    "webkitRequestFullScreen"
]
// if (ENV.bodyfunc){
//     for (let i = 0; i < ENV.bodyfunc.length; i++) {
//         let funcName = bodyFuncs[i];
//         let hasFunc = ENV.bodyfunc[i] === 1;
//         if (hasFunc){
//             console.log('body set', funcName)
//             Object.defineProperty(HTMLBodyElement.prototype, funcName, {
//                 value: v_saf(function (){})
//             })
//         }
//     }
// }
window.external = external

window.HTMLCanvasElement = protectProp(window.HTMLCanvasElement)
window.OffscreenCanvasRenderingContext2D = protectProp(window.OffscreenCanvasRenderingContext2D)
window.CanvasRenderingContext2D = protectProp(window.CanvasRenderingContext2D)
;
;
;


(function c(g) {
    var bn = {}, bl = {};
    var br = ReferenceError, bD = TypeError, bL = Object, bt = RegExp, bM = Number, bo = String, bx = Array,
        bc = bL.bind, bb = bL.call, bj = bb.bind(bc, bb), l = bL.apply, bR = bj(l), V = [].push, f = [].pop,
        I = [].slice, k = [].splice, G = [].join, u = [].map, R = bj(V), e = bj(I), h = bj(G), a = bj(u),
        s = {}.hasOwnProperty, z = bj(s), d = JSON.stringify, F = bL.getOwnPropertyDescriptor, bN = bL.defineProperty,
        bA = bo.fromCharCode, w = Math.min, bi = Math.floor, bC = bL.create, n = "".indexOf, p = "".charAt, X = bj(n),
        bQ = bj(p), bd = typeof Uint8Array === "function" ? Uint8Array : bx;
    var y = [br, bD, bL, bt, bM, bo, bx, bc, bb, l, V, f, I, k, G, u, s, d, F, bN, bA, w, bi, bC, n, p, bd];
    var j = ["3OU", "N2vwH1XB2EK7-VUu7Q", "WEjCJHjyhnb0onRR34ibDwFN", "1O9qwtRDUtN2U5L-PRpppq3sn8_l-tfAQAxrs1gvw_qgiA0sXsrjrvfuJRzT3TqWJfC3q96svzmCdk7dQzEJ9kSS2vp1mIDaFOoFTeVUEwh1fMkjejKUNghhyWBp6iRBqSmO7jxTaQvcjg", "G58et6QtSA", "src", "8zyvWA-b5xSK2BImydU", "YzXwX3LYuU2Tgg", "qgWAID6433mYpS8Bk86sF0MBNmYuBig7v_X4RpndPzcWf_y6zD1fLTUdn_AvaY1o3CAdAV1RboEP7K4-pvC2DPxVZTCW", "4QCkQh0", "WpdW2dxGfd99EePsC3NBn6zrrcSS8ec", "lORJ9OdqFO54FNKSN2F-9MO3_5uE0fmhTlMslk9n1JaHlz0", "TypeError", "Proxy", "_G2eNjei0iDL_yd-zqraDxZMAitiOCR38q3re6SPL2VmdKnsrWIALhJVk7h4bYEL1EQGPhRRDZYZsrZh9Ln8QfABP1bceXs48wPi4meyqKffxH3UiKtk3bPNdKvcbsz9BZwfF4H-zLUiQlzZApEZfZYEsjmKcUW7fULa-swtto7i8hn1DCmueWw1gLxDvzabtcI9swAx1yWSioij", "gsZz940", "sz3dfGbv3lzZrGNot_vTBhlTDnsmQkI", "tR3ARyWN_HKZ9UVvsO2hLA", "ANxdtOxcHfxMU6s", "mrgS4rsRKQ", "1", "eLlL5eh2B8UCXtLQYQ1M1PbrlA", "configurable", "VyPuSFXV7UiigHpP8YY", "gvtKtP0", "U0-zSSGCih7UmA", "match", "1jKxJAuM-wysrVE", "HQzkVkHftEG_mEE", "z0u4Ghs", "crypto", "charCodeAt", "ocwC9ec6VbNub9iLQiA", "3y2HNm__jg3j9y84gQ", "E27rQ1XCoVfh1R94tbquKRE3PxJNJGY-loLaH6ynUkAwcN7PjFgzA1J_9Q", "FxDzRl_O2kj1j1815tqZNHRoJXRtKC9akw", "ibJb8fs", "mDP_Oxqrk3GI", "HiqgRgyWjhq1mR4d99C2fWoweEEBIhQ0wcXgLNWzPGJzKqSrnQ97EGgw88gNAahWpA8gSwVgcPFl9c5_zdWEL9ZQGT68ei4JxDne0haFxN3mmBCq5K1nrdStFPLFL7qFMIdBaOPWlNJfKwDzfutNBKVJh0z7LVXUcW7j8A", "^https?:\\\x2F\\\x2F", "3FWkERuf-Rz7mhs", "interactive", "IlHQIw", "GwnNaXnn7w", "012hRxqC-xzPgFFq_b-DdjZ3IUFOdFFe48C2KLS0W0tLfsjyqAFmDmIy7JFAUvcNmAl5NRZgB8xczNYfxP_O", "removeEventListener", "type", "zCulIAyn1xi31A", "5ogn_N9aMKIrFA", "x7txnNNHGvd5atjhZ1AArw", "JXCd", "vdg3k4AVSoNUG7-fPUwQnqA", "XBunGz2e6huuzBoPzujCPAx-c2w", "pZJS5u1iH8EQLfmzEw", "xJ1Zs69fFtsVKvTNGHkX3IOA6aeW", "hpd67cEQGNg9Nw", "M0yFQmycgho", "Y8hcyfZwAfJ1Qs6YDg", "detail", "kWirPwGe6VeL_jQ2xvuuRA", "nm7oH1zEz1ndngEG", "xW-lGA0", "izLTOW_cxkusgAEJzsOANmonTX44XFg40tSXSJ--HQ", "WG7kAkjSuFv-wl13-Y7BYC9nFAFUcE9Xzp6VKru2ThVhDpvc4h88D1N67YZFS-0Fq0x7IzImH_ctjMkc14LRbZcxDlfwTG5c1DfJ2Q3FrN7AsFGy6KBb9Y_jX7iadOW5HutYcv_O49lRQAKr", "mfBjlstFJcVKXsHoazYo", "LgWIIlaD7waHpBd07ueTVk4", "P_Y8ibkbd4ZQU9KnOU8I", "join", "z8AHtLM", "67Vtydg", "oY15280LM88pGMeTNEpt9Q", "hB62DxKI4RKQjQIG", "Y2KZZSmmwSv6sw", "pYhR1r0HJ-I", "Element", "stringify", "nodeName", "kshS", "laR9gMBNRdsLe4DbSRcv2fi02IiVv5PZBUtlq3x2jKI", "xBk", "pow", "a893tdBCY9Ne", "k9RgrIc", "ij_bQS3gz2Om", "TZA2m8k3c5sDRZ3PAn9-7c733ZSg0MecF3pd9VVA0OrpiW4YTYvlwKy9cWfBkXb9cJ-58aa7yGTBOweMHllci1LFioFpmNGCS7lDUvYpGQ", "AWGH", "CustomEvent", "zFKTDWrt4j76hhVc-Lq-QigBQA", "4h2YMCax0iSSpmlN-4TVUFE0H2EzTRhK-e6VMvG7ZnV4Q4XYry8fUgQppI10ONsl7lNT", "mt9Gqu9xHMI", "YLxuwPJbRQ", "2bF5jpNyOsQZDdz9BG0665Sn3pGwoqCMF0drsg", "url", "M3_FZkfs2GjKryM", "apply", "AaAlyKQfbpYARYU", "Pq0J7rUqX6kmZ_M", "1MNVmcd4As1p", "uXrpEV3JwV21iENFqbeWZDQ", "dPRMuf5yEvcoEdKq", "ZXGAfCKmoCiA-X5glueqTxtRLi9DGWlgog", "Os4wwZ8EGIkODseAFFZqovfunM_a9_OeVhMw-xU", "Sw6JPju0yC-Rryc", "[xX][nN]--", "jIU", "5FLYPnTu9mL_oWlng4-7WT0bJz54ezdj4JDiE_v-K2JxaIaErmNNWSlE0pIob9k7rAYFBD1sQp0o9PY84Ye2VqoePHaUXHt7tle_zGHBzfjJ3HKmltEo", "74gMrbI0Rg", "UbhS_O5tB4Q0f_uYa0dNlNif", "W55txcRRU9YFU9yhe2lp5O2h2YyvidWOBlEYsRVvg77myUVfXpP93fesZVGVnnDlJ77x9q2u8nnCMgicC0IJqQrakIl1w92UVbZMB7gnEUEvPYIlfA", "7sdxmNtFUt1F", "mark", "pINljskO", "lk7LOG_qkw", "_UnHYnjkhkDahg094OrZFwlYLg", "q8kQ-Lhi", "HJAVpbcqcs5PIw", "className", "symbol", "KMpRrMAkdg", "2HjKOFTyiXupnlEM7Mw", "ocVE6PpsJcR4Ka7iPVo", "J-48j5MJdo5WBoDFaA", "7m2TZAyhqjz-qlo_tuDPGwFA", "h7d-z8JeJcw", "CyLNIVjh5kWbhSYw", "qOk30odU", "XfQ0zsg_b9UdIsrwX0Qx3eE", "w_l5yMxLPvd0MOyE", "k9Jlm80T", "4-EDvLk5KplxLqTYFQ", "_-JKz_FYJcRaEA", "j7Nk0Ns", "jPFm4PV-Cb8KfqY", "KhDsClfPxFSN0hwV-tO6YVRrSAcMBU0t2fueadWqBSVtdJbd3hh1XQ", "NCDfYnTqv2Wk7nA", "lluYNAk", "iframe", "IsZK-Olgd-g", "0a1MwrswJuseCJasBQ", "wqpWsO11DOsKN6mfBmIHzsyX_KqIxKalPWxfmXofuYngtn0FH_namoeNVGmsvgD6RY3D2-HVyUn3PTr1L1Z1g3j3urpeoqmqNdMqQ_cmdWwVCbtaEl-qXn4Tvl9H0RRpvADuiw0zBSHgsPV7mWitolTZTrtbuJkw3cQDETC7eAEwGZss45VY4qHJC37DdvVsKR6Te8D5EfBgXBop-kHftyo8lq_iph5zLoDHzia65c3mLuKuLH3smfGMQhVjIpR9j8mcyZqOeFbRCDov7oDwklpEgGqvPk9zV2_LZ1EVtJsWgly0YX0YXp3kBV4f-giQpEs9c0CptRNEEVPzrBjHsCpzs3y_ynXP-N0GLWM5YDj3VMRA_xfecRLFJGvnlKGJP9vny2r1r0a2eLidUT5Lgx9sD73MJEZJZcx-3Hc88zt4P6r8FzJ_nXZ5KaBNq9iKarOWllwpYCeVenOcfsgJ6GJXmNLP2iWEyZJGP-MDpYfCZ6FzMv6Ux8A_r0ztUJ6l6O-WC61STjBMk7v6YrJgnp98sy2EgAIROSld22ZgarUdcCS4a6RHT5OkpZ10WRa8VGGBXgxroKWC4IWY8zVjCzUrCWwqvrMDChddvbFfHwuJQI_ae9relfurB2PjbVfYsYnLxYOMTysfDf8bgKt9kn0NiwaJunoo4beFrKu8enGNDpi1Gmvk_47hZzM3HpTZDvI6Q8Ueq2GN8IFs2ZuSNGiBm03MuewqEpOWr7wxs08i_pOJlaH0vpUoZ_dp3tmtn4bSq0VSLM5FmDhnkkHiSebJ02QP9M3QjkUhIAX9R2pz4UAr2iBTwcF4iMjD_caySQx_jtGYrTfIEby4HCXOQ5QsaLopYO6UNRaMj8ymDD7oRiSUlyjXy9STSCbZho11OtOrlCOsfDF9bGb-9IPWIwEjtZvG38E1pUcwgFJSU9INC8tj8Xaj42ljVtW471oTuPYn1xNoLpGASPVjE677kSIhn-cfvzwynH8y6bFWxAPTrWbuKhse_u6611tJFIRLdZCWCLe2VfrPyqJYCgd5dtaunxdys02TmDwCbAZo65Drb3sOc__cPElB0Nk2EbSp3RBumnT4p5HvPEGjs669s2fg6y1wWY883iV3B_UrfpebPstfCUbqg4QJ_Bf1NsrQlY_lYTpQs5sEZMBimVzNAyrbcxvI73ZjTRLZB8913M2DDUJDwmwsZVwe0BPWD0k8LBUS7YCKSK0LEPp6qcgZr2Q4wkvYf6QsDzubxxfFnFXrCQjQL91TSjkfMmVosk2HMHXpzYq5KyIp-DUxv-iTshI9A5zTY42WNzApnUg4CCHuWiDMVSB04mKffAl5BnUqjoy2jDp68gWAXXoVknvyHZTtYvrOOB93kB10PN9GXNGCUm9fZisgbdRiQLW-DXSsnLagWON6h_llMGe4bP7c_toZzh37hPlsCFD_h9QfKJb6YprHAAOeNB_s0_c_cwyn5zTx7VTvigXXJsyEMl5VXfgebLugCm8-2cyoyuR_5Myaq2Kxaj7MxZHZXPqaT5I8QKbjhqyoUkiqWkbyNwwtPJ9-CuUgHmjvJ6qOqQv-Bd4Wjtsn1D4gr0dpZN7ZO4HHCdv4eUe8jDNgx505aeAIhcTctO8ogYsg-1C8rkKRjTEMQiK9NBMzmjn1lNoR-rxLh3VhzYSfgj3Gvn2uipzUFjYAC9WSpqYLyNnLIOMfV1A7AVbCE1nrEpUjsEKQS0pMJfEOAd9gwxp0C0j0bqMefQ9laEj0JoghlSF6GeiO5Bge_FxbHzbBfHh1fNtDwH4YHpze2VKZVsZJ_Y3l4vwPjYKKQwrXUo5wvZFlDU_5VcTPHk5tcbhrLRL28-SuoEPzG2yw-Sue1ST1OYmYvYWyJBvRVb_UnfcJK16VifCyg2O16UW4SilqCZTgiwL82sy76fAu-SHiomw-ncvlECG812GjJnvg8qIEVgwDXuWbGj6Fn5U7xmtnNvlP1bga1RA7Ttwp5BZ7spL91dOq-8qjKpTNS5aURFScdNH5tM57AKBrJqVkV8QdFnvFt9Y-AuwxD1QVddZ8MkYm05q2oqGQBP1PhnvXWXFmvvTnlDHMHE7q8cIfa399xoa-ugRA1EJNGhoR34d4Fyetda344lFXz-SK0couuAb0Nypdwe1LlINTAAYOsxmJTECkvfRIuZITuAFuGxLhpHQwt2Gct-xNVF2T2y0KLqD6-vHSz7JAdZ1lt8JkTn379r52SPKCEj6H6L3jdpGwHnCXeBVB50PUqv9sa35GtMLRolpItLuMJ7Rk2e-JwMgkCQNWM5mgicU3eJNBtwkR62JsqYb_of-UBq9A4NirzHwF2Kj2pSo3zaA8eUV-rF618ux1uHB4BsUfx0PR-xo5QebyXPn85GcL3JU2JZh8lIsAF7KEfpcO-gHB0zZ981rnoH3h3-dPKDxTGsAr5g8DoU0rRfEsCkzUP7IUs0PIXuPgoBk3MffDzleD0WSMGYtl4mnT3V0nim1Q7D_Vnhn4okuJ4Ni3wTYukFqkBeNuzA5N-kd2tTD3qIi6mCUxPQJDmOeG2mVBRxB_igPTcOMtXd2gqRh7GNiqvS68AD7QVvz7BLbclvHadiXS3TvZ145qwI81BS9_b6AwXMrThbBfYr9Mym7z0S839kFg09EWxdRYjnImbG1HK2pw79nRHqXnZHIsPK3kIG_A0gUMxoRlaGmxUYILQFEdTfXTjjpchXmkW-1GVtuLQ3G_z1vaRvT5HotzK9vOmWuybmm8Basrve0nXwZFKZTCeVBa_OwruTSHhPTi19GkC2OXgfOy-KQnJeoDbXGWLIqzJxry1s51cDseGrqyxlj083Ex3LJzaV3OxC-Uvj-6_AfOrN1bsf_gDkrTzCthg_q5USEQ0mrL1YMC-BdCTAIWzJX3tKCHZinuQ3S87PPVXB9j517u-oz8xjgU-nnRmLDh1HAPzRodHaORR0pZFmlWNSdgnm_C--x2ETdADOUUALucV9Hpn_bvLz-jO64nWrVMR6Ue0ax-Tg9xUz56RkPUfPGG4hV-1UjLbGsslPMNEHRaRrj_5e5d-GULR6xPb7McZx9zkAH9zP0DhODSGCOispzM0h24ixDo2P3P_vUocwkkurGx3Y-mZJnZuSM4NKOtiYCznVVuSFxhruVJcA0ZPafLs434e7Cgj_8aHcPTYlwbbyXRldoldE_gwuXHAonXcvRtAOYNApsd9Z4R5N0jzjijFSSUUhQyz-aEJ3uMdFOrJQtbCGjJktdHFrtasdQi9DL97ZCoy_NjYI-Xx9UHLZChVXF9CAObnD7maQC11ms", "zJtJ", "indexOf", "\uD83D\uDE0E", "LTfSbXfql2CRt3o-iO3TT0xFQ2M5dSA9tOCnNq3PaDggffSt4WtMaVgT3vQj", "CHzMGHfX-2es", "ASPgaF_Mql-S", "ijyIPiq2jgCrzH5o", "xN03x5oYZ4FdR8LpYwFm", "hidden", "JVfCKWLyqnz85jZ1pu3oRh1RenBpSW8m-dI", "bRTLbW3RhUWx", "AlfWMX7sp23ztXoC7s7bEwlK", "ODbTKFep-nixvXkXmcakHkZe", "now", "qbZ028phPNh5Q5fvIAthr6z1sofGjoO0XQBBnyY", "FAOSIjGmzCKfsTlHww", "Date", "unshift", "2U3eanzv6WE", "jd9KtuZ3ZPVfbuT9HDJblYo", "HkCBZTg", "rw2BNRqoijyHvCA2uJjJ", "Bx2Jaymo4QG6qWt_zw", "cJ8b_bI4bbI", "mL8nhJkefocqfv3FFxo-z_k", "innerText", "l8xfqvd5a_xLPem5J0MNjQ", "nnT-GFLI0ETZh1gCkNfHfCprDAt8PmQE1Zi8boHvTFNxH83z", "AWuXcSy0zSrL9mhex6PGGxRDEydCEGZKsLuYVqfJTQkwGs2G3j8IYA5OgKNrQpok2n5eM38SCoAOtv4Bsan0Rac7dX2MTBkp5gjrkSb5tLCJ6H3Uj9ckn7_Aapu_XMDoc7U9GJK96q40aDKIBIAzctYlxH6XVym-HBTVxvlgt_OyxmesIkOVEioH15Fx7mOdrs1KqQAFmyexoIL_J8hF", "oY9mksMbTsQqPN-SNlYat_vpzcw", "8nuIICG0tjPR9jpdm7X_TxBMWhgWUk889KrkUvDFZFQGMIS8s3kiFxEGnoQ4eoQC-yVAAWkHJMYryeV575yTHb44MwzYXGcx6QDq60qF5-OpkhuL9eRlmKbOdMTeWaKlWbcrSNCvpokoR3-IWqp7foANgWy2IyvePGuDkKV-rYb40WaDKDI", "OSPNK22Wt2CU5nsn1abaTVNuIDodB24unvrPaZuCEW8", "tyjbc3Lnl2WOumI7i--fRlUZci8gTiM4t_SVT6zTNBdlPuKHm3wWWBcW0PEzGI5i3QdPVSJYQ85vs_glucv_GrN_MD_DKDF8sF22iFOr-POAlyjWkOEg2-OZJpycFs-rbJ1kEsa_gvdsPmrHF-EBBZdAwz7dKwb7NjXXlZdEvcGtiRq9RUKaciJt9r8c_Hvyr55j43ozg3LVjrjgecQIKa-RQhQTf5mqtlRcRqxvLg", "4axb8vpwDcgaU97a", "anGSZyqF3RTJhg", "lastIndexOf", "X4ttktF_b_4COKq0", "70-1SB2K-hbMmUR46bCV", "zdB_18FWR8ZkWsaEO0UGqual4YuCuKPOAAtOm2cq0ZuOtW8PWIzR5vHqNS7anjPMe7D33NCg_GzgNkO6e0EZsxGG5_41sto", "KxyyRB6UyRWzjU5YybboZ3wsChsUB2xIjojxB86iTB4gY8i4", "Bim3XROLgAiLiQ", "QRqKLg", "VmHkTFrNrljFghRc9aSnPS13BFRDIGgCzYLsOdyhTmUcXam_-lldYGxuvodIe-Ap5305LFQoMbQdyptugb2LbssdSVynYwkYwibHw2uVk8u1ugzp3M9UuYf6Xubuc4SRH-8HZLjE5rxWWhizdYRzO_xu7BT_D0rKeT70tYxOgbvZySXHDlCgBEInzMpkiQuJ1OJvwGlVvk_Tj7rXDrVuTM3HZkkrGOjCxDwnKtpAUC0Rxi8azZBOdVFx9uHWzybKPgQqK3M6hIR57sbHZiIbbLi4YJQPi-fHpOhml7HlQX78TPkHxc22pTVF8YivB7FQSOHAx7QcS7e4o5JUQaciQ9CdfshDIZouSh_8gZLLhtZ59SqrAfM1nKI3g4RLIwNBgzMaZaQDA7dEnlYT7dSmdPmG5VM6kfeoxX-tepPGU-q8lGxC_5ObZIv5kRLkDzg4gwdkI_KNxpRH2tFtnjf3DoLMIGZ5fcZ5DDC8ygikW2tkj13Xn3cvAmfIU7oWljFwFRZ-81eutsW3VhgGoES0OS-STokoMqSK_ImiNJKU0W6_itBNl0WTpG9YXXmfrrcQ8scz-ba_SV9pDnptF-ibqsHc_b-eA1XqsfutR1Sv4u073WNygWIrZxEb4NpFwvEzLGdgPCstlIzj6lHkNAGAfJDiM6ZkAY3bGnZ4fEJCgZ55vmwEq9kLdksWjM_J5j5Xrw7drAiqV4pqDyKpcGBuxZJmbfY_UHCO5CFXCEeKFaPUE1Y2eVUVcDeMtg-AJRETdGxwfa7vnS_lOsubKYRFrQc0Osb3DC1vSLjkgv8IrN6mJa7db5Gydm-sZiYsDD9O4vOeXChhVdphwEANqb5AsjHBjVvcgT0s1eFgKC5at9lI7d4ZKKMvbTxppc90QySNyDxWbehqnvTYi5AFDlZ_q9zfEyJgbA-VQ7HBeoeYsgqE4TuDDtFODo7YohMGEuv6UAqeXfqO0GBpwTyCpn4SfsLdYxvkep_OK4zeCU_3LOxPBYYToeH_PBZMKrut-QrqnXZwrENUhioCflmp-uqEtDJzFvzWGe9oFNbzi_yRBkRfj5vduQx7_ongbHHZzABJIOyPXIgERnsax9xfDQxfSoYKSuDB6T2Pb-CM8xLTl2Nm8G7w8rYfd2_6Br4ngiMrYHZWp9q9YD_3gy_DP74g4Plv3OsxTouf__9oqnqaN1B38fT3LIrtxvPIK7gt4KjRl73kUWtL7UO-0B6RRHX2H9TLLcIdiF_e9dY7Z-cocZ1V5fVh1Taso9LNl5OeU_hFytktfWZBkJHMGtXhCxV-RP7AoT8yxW4Il4P6O77Co5EBttwngZiTAtdtzOKS7Y7_LW0Pa4yMMKBy5smxMtk7q3Ik2j4dkOSGXL-fnjj3tSRLkpuaw9HGmDnJlQpDgdMcKgRerkWOHl_XkdB_2kkuAjftMuEbUBKH9L8PdyrkpDcXn3Ih7alYyNpOKQLUyP8bVMw0UL8TIvEknjBBhLyprAWtyFNS", "vqMplJV-KA", "string", "TCXWJTrWuH3g", "form", "JV6pBzeB8Q", "7p8-0A", "0sY1xNQGd50", "o6Ax0p0GBotYVYCbal8R7NHi3tu6", "function", "tQTJXyqC-EE", "parentNode", "KaBz-oRpAINqMZDXcg", "LnyeKTw", "x69Ttehwe-sydKj1cCoewcGO5aGll4zqN2NLmExGtYztg3NdQQ", "cfVj1dtILPRuTdCn", "call", "EWCfKls", "message", "jehb6v1iLNJCBtmmJnho_fus", "cL9S5M99ee8uaA", "put", "name", "gvg2io5dUMVTGYCMXWRPsbfw", "decodeURIComponent", "CgufbiE", "YMYp2sswbv4KBcg", "__proto__", "eut6gdFFVMtlUsjQNwE", "iLprgQ", "AhGUPCq93iiEsmc1gO2kDkMELxR0Z156pvmCQaiXB0l5bvP61HhUPwcN6o5qHItbrXQ6I3ZWd6ka4e8guPaTU-d_YFCYQkZy9SeviBDB9veZ1wLsq8Q", "CsVH4dJjHeY", "nRi1Uhfcvn8", "vbdLrfBoEfYlaruAF1VpnNydy6urmKe8PGtNry0H4ZT8qWYHd7WN18jVCnS5kUDkS62Ewu-c1FX6Lj7_L1BsmXTqpKJZvPm4JNgj", "tHvGag", "gLsi3KsbDpJpCoPtO2kwmZXYz8Lzg5e_", "HlmuEwv79DLWonApmJA", "cg--BlrLrQzT1B8Eo-TJeWokVycKPCRO1NWPLMbxdGMNWM0", "IEWTPj-UoSLh", "push", "VnioDA72ngPi31cX9cOzayAbDw56fA0Z", "80", "([0-9]{1,3}(\\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})", "G8QKuaE4", "HQf7HUDY00OaxQwe7f_qcXowSwERCVYIlcaVQYWvGTZqdIXf2T9kFmok7dULGaU5vA", "log", "charAt", "Imi9DDaV8gfE3FMgvfnibkZ5Y04cfw", "X7kNzPl3GIgYNIT9Cg", "iow", "KupqxMJfIfhc", "osc0nJ0IeIpKDZv4Iy8wvafstojeuv-SUhpw1R1934CDgBlGHM-e3Ku9EWGR2Sj5TqWD1qrmvRf7BBjyAhFN7xy5zpx5gZKCQr9RIp9Dcg8BfPh1Zyz8CRMjn0cTuS9RsDfFug", "-3jzO23tomzDhztV86bFDwlTAShg", "PdVhltxDVs1s", "9VyQaCvv", "raY3h5cdV4E1XdKJEg", "Cz_3YSbPq3HM4G0MvbvbGBMXPw", "CsxwnspOS-RND8yaGQ", "cqZYqfdscOFUJrepRWctm4WA6eqH1Ko", "rJAwj80fe5QrCg", "lNoa-r8dE4py", "xaVC6Ot6Q8I5aaXMSXBR0cGXrdus-pWy", "encodeURIComponent", "3HLkA1OaylfYmxpH97SMbT0tFhtPblUK5M2ydIWoGS88EoCrjwI2MXA", "rAjsIRfKkUW3mhg", "_ugZvLQqIqJT", "Q0acanGs_g", "TRUE", "oXj9VUPUt0Ht2w5c6YTNZCphXXQDETkHy4bXaNSjZDkPRbrTsB5LH347p5hIbuMfiy0rATlsF-gzjY5xm5rWWdwfHR3fZ1YGyizDpn8", "4bVuxuxDXQ", "maw00Y4Sb9UvAIq9NQ", "HCT1Yx2Ng1qA4XZwuA", "RnytCguf9FLRmg12vqW8ZSp6KhVAK2kPzsLnX8j0WA0fQpvihV1pPW96rg", "length", "QW6cJzmm0GrxtzMq-ub-ABVKbFI_MDBj9Ks", "h22RdyqyuSnC72l2i7_zQARYJTtDKCtRp7r4PenVbnVQJqSOiB4AUDdN165rC90", "YGWXaC6d", "90Kodg-ygDXx8EZWvr8", "mm-NdiCm", "Float32Array", "7x-Jf3j43TeUpHI", "sin", "open", "parse", "fYJ5w9MnRIgdA7DQ", "FhaRLjm6pgmj72lvt7ihOF8kcUheEgZS-g", "ZqIKqqQ", "CEHPAHbXn2varkQ", "2ptj2OIfPdc6M9OBIUVl", "glLnKHf0tn_ZiQ", "Evw7obskcb0MK_E", "appendChild", "head", "ZAzwFkvTqk2skQ85oMSha2o9QQU9YgADm8r5P9GmFTZOCtWQ-FoRT3h0wY4VErJpoi9QIno3f9wTn4VYnM2IPNBYChz4GgEFhEzV3xKI3dCb3EP_ofsd0YaIQfztb7LEGrA9Kw", "IZpOjqliLv4fJQ", "JTnBZmT_hke05HQGwPXfXkgOehMwYEd6", "MQeNayG70TKXqzQekOeoE1sBeWgnGSY5u-vEHeyfPiY9JuGbxXYBVklQjfQwI4FswCIeWXMXZpR3obxytNLjA_9YZyrCPHMl7h_kni676fGUnz71z904n9HOPsPBVo_tKoBpJNCjmb86Py63V7V0P8hEzy3eF0SwQUKEirQt-IafxAuwfU_XOW0H1qde6mjtv5s8pkN-h3DnnrX0eNNwaqqgECh5IojzqS8aXrokP0I94ixz9eBwBHAax7q-oRPrD05dZkcM6vkMiKapaRt0BNrDL7c_otGp2LQHqYzMKQeLA8oxzqCPyBglqoOfZo4XP8-r88cGaIPYj4l8d9QJbfPuL-E-XPBgJUqQqKOWvbhr0kPbe4Fe9r0YtPd5Ti5S8xU6EvdpMscg_RdAxqjORLCxjyFKo93N80z5c6qsb6WisHEw2e-mAOrkqDbIBAUd_DZQOYGp_KES4fcK_k-mNfLLBghAAelKFEvbo36CMwJtujbltzs7GkCjKct21Aglb0BLmzHMlL-XX3Unuy_8Ax7qNoJZF5SU_YaAW_rm7S6Z5qQ_xHnX0w1-Kka4l8tlyf0c35ruD3gVdgBTXOjjl7Oskui8PjSs14fBI2vQxMdHnVZH50dfA34E2vR16J13bAlXQwQXy72filDGEDfjSPLWR8hUY-e0fDYTKQRh7ecIzFsax-t4eQl646W3mTsEnm6kmUrFZ69QKRzwRBoEscdcGd8MFjGqjhURNDinM8iNIwMVC3t7ZVnmui70QkQsCQN9dsfA62GYGKThFdpm32ZOfLmfaFMKAZ7t7tgk2vbuYNaudf3RUwfXVUhfe0EpzZr_CX5FPatWyzNj0OsTmgmw9Tu_5UFJt4RJIBEmkLhv3aACF694FkQP1vxWXUG75wo2CL4t6rTSsfBrbggUjNyhJzQbX12zIty0FtLV_A-dl1W5fq1vLbS6y0klbsyWFyu3V5T87D5dymfMzi5nF6W6G3GfOJPvDOOsMz6NCM0OdPtyt5qIe0FnQ8TVhRbU2k0BnjIZiHpTTCXDjpH58XlzD4vsacJIVPLftZv0dhF96tTT52BArdvefwS0gxt0XYzoHe98MRFok5wzLzBnPLwsJfCpxBOhX7PyqCi_4QsKrFTw1MVtFQSOU8p3pGUNFRNj5qHUJRuDyx3yBcIX2Q", "top", "ghzzNAKag22DoyEY", "ltNWsQ", "\uD800\uDFFF", "QSPrdQ2YwQ", "4vwdwLQKNb9cRu3uAAMowA", "uQeNYzGn0SOTj2B8pIWnEENMPh1zQXh3quKCAarbCVk8Zw", "C4JVpeJ3", "21", "status", "KgXKIHPTrnij", "EBbRT1_euls", "document", "4DWaMiSz0CaKvD51y5ukRjEYUlQ7MwQh6JKaTuvDflwmL_m12nJNRA0", "^[\\x20-\\x7E]$", "VB_Gbm_6inii5yx-3LviRQJ9AUMmE0E03eXqEPPLIgY", "Xvsryok6UpU", "bNVygvFZMuFFDdDeKB8uiA", "ReferenceError", "Zmf-W1jdt1z15Qh1qaSlMRwrIiNbMnQ0rJrPCrC6", "NNJV4P5keOFjNKqtb0c", "TEqKYXmyzC3X7XoLxrmTAAIGN3ZeJj9JqeixEv7OZEx6U-zylzBdYRVAyqFkXpoBiSo", "StMMtusneg", "8QS0AQed-AaY_yN23smMFCRVFg", "QoB2nepNfM0_Fpc", "weJS9-B9XupbKaT0CVVhgvPKztf75MaxZwcJ33tTmt8", "62aFewTlqy_3-gxV1pDiTiob", "pK5knMFZAs06HA", "L7sjh4AcYo4VUw", "getOwnPropertyDescriptor", "global", "70XPKWP54XXotn5wlJWqRRdNJj9cKiR7_rq9F7DQfWBTIruMhzRZSi5czq1pVIImvyNcFSZkbMsp0KEh_J2paPweN1PKCzY-_Rrr6Df6hfPWx0zuh4By3bz9MJuUB9eveZUrZg", "Option", "A1nYaybVuw", "nk3jVVXYqHfD", "iFykX0yu41-WiE1m39OiXXY9Dw89Lk5At56uB4-RQQ", "Intl", "TQT3X17Lu0mT1koSosGHPVJwNndTdAEPhtWOLL7wBSpXA-WQ40xtKnR34-lXK7txkV0xdy87VqNNhpxO", "8UvgECr1iHzrxwdg", "iqxTv-AZ", "PI", "frhb4vh0AMgzd-Gk", "QyI", "Irox-ZMcb4gRX5fR", "closed", "-wzBKCz4lHKt", "Hel$&?6%){mZ+#@\uD83D\uDC7A", "sD67Mzmz1y6q_DgPq_XSW1cVOldHOw", "pwbgJk3TzlmlrgMG_ePOJw", "ZnuoEgib", "EwmDZS-1rTmWuip94YDJQlwRbis4MUd7pOzULaqDeigLVbbcpSZYMUIZ3uAXbJJzywpTczF0Be89m-R4s9z9Ftg_bRXLJC4a8j-98HOR46o", "VTWEeCS1gCep_Dk", "lQ7pBl7H23C8iykU_syKI30nWw", "ArrayBuffer", "undefined", "4Yof77YgItlY", "Qb5Wpw", "G6Uxk5k1Q4s1V8Q", "4GnRcHS6vzjiqCYr", "AEf4cQaa-3_r4mUD", "vQOHczeiyT0", "String", "A3-XVzy8pTjUynw", "M71_jN1WXvo1WMaqYVkLuOilzg", "create", "zUKUDgGa3AO9l0s", "isArray", "T1yuRT-ewhHP0hI", "-2\u202EsFaLMqzoh\u202D", "rtQ", "LH3UZzXlwmDyh2Yj3eT-cw", "3ewd-5k3Lb1Oau0", "qh3xclPCsxjftw", "_gLMYn3PkX8", "4dp9w456OJhdAsuEQHwnqoStmw", "OyPfOWT8hWKDvjdVupjSTkkSZiYBTS8uuuvKAfuBPBFiF4fXkiN5WQ4O1vIVbJ1GkhpCUm5nCMR1vKhS5NPtF_90ezuePTQ", "-Cn4FH7fhA", "lNIth5sferFTH4g", "cW_UdWjn4Q", "iW_qG07axEXDgA", "97hcqLNOB_Q-TpvtAUQs67y3n9c", "lCPeEgw", "fiPfYGr8x26s5Q", "a_RNh7A0", "HEzcIEH-5Gzd4G0", "I8plzdtML9l1Q9HSASxAqPG9vqHT2tKfD14tsAQtzP8", "xUKxGRiN_Q_k0A9N4b6yNQw-AkxOCgdb6MHFZM2xWWI6FIfFswxkEnou6NcaQq41834QYnZwJKAD3Jx9m47fbN0RS1WoTEMS0XbUuVrT2czbp1u9551IoJXzc7P1YK-DRg", "WgeUO2a0jxCMq3s", "1VHxXEbao3k", "_irHMnzo62qQqi0", "xxOpexe1sgnQrlkU", "ngeHGAHT4gOl-F0", "h4hkwcFebt4DAJnheXlt7fu2h9KBxueQRQtA21Rz97U", "sPQDqqV6NbUzbqSzMyR5ww", "e5Q6j9JJb45ZXsnJLWZA8eS6h-iBvajAGw", "e41zwdFTIsYaSJ7ZYxwB97rp9fSM", "M0KdfF62-QnexSQq-KfMCExfN3hz", "dq0h1g", "location", "ryzRPBboknk", "bind", "CEToTlH3r3XEgFcDrOw", "n7dk3ehfaMkFXg", "Event", "dUY", "BXzzQXb8v3jzsxQ_9ufSBQ", "EDjWeH7-0VKNmA", "73iMegS10inQ4Q", "Qj3NMkz0tw", "isI", "CSS", "37cQs64qXg", "idQ2losGOIcgQZvQPg5c-qeh6rqd5-aURw", "2L1e2pY_Jc0yAIGFFg", "jQPgTFOV", "\u26CE", "W49-ytNGHtI", "NmGLbzioqCI", "defineProperty", "8yXzXWaay1M", "xyDoD07b21GVwBxP0ZiRbXEgQgUKLzVPlfvkNMOsEzF3", "yyWKZCG3", "Y2iBcC2-6yfpoQ", "XHG5PFA", "RcQ129siW5gILuk", "from-page-runscript", "kDzCbGnT1Fim2Vk99tQ", "object", "osc0nJ0IeIpKDYulFmc5oImf-obUpumgCTY-0xtNjZ2Qmy45Rdn0uuzxDWSV0T3EGP7-", "3kfhTB7gpEzUkk0E2JX0NA5lEVhcIVxXuMjlcNiyQ3w", "CVzQYQjSoX3R4FQAsbHKAhw", "J80yj5kHep4", "ykrvRVzf6ho", "f7M9xo0gEokO", "3sZg1MFTf4JZ", "1BToDlPLwFC7lhcT8v3NKF9yeRIteRwXmemeRbjiWm9TFtmR7w", "UY4q3pEIGg", "event", "VMZ2099LNM97DsjKGD4X_u-nubnW2cSGDBIn", "nF-cPj2lziA", "Be98zchpM-ZsUw", "firstChild", "roMfrq83J4gjbg", "\uD83C\uDF7C", "Deov2pAcb4tAQondcDML9rykl4zd9eiPChoz7hByx5_Mzy8mIMyB57zjbxvFynCpY5P3o4_i30iva2udMhtUrlni3A", "body", "aq4", "catch", "XFWjGBOWxA", "4O8Vrpw0Nw", "1pF02PxYfMgfWcD2blcdk834ubaG", "26UUraw4G7E6YvHrBTA8sY2T", "createElement", "zrZKrPFpYvIrdKrsaT0HztKS5qa8jIv3LH5WkGQUqpXF2ThfLavcjI6VVnKV0VziS4zXzv_4nVLxG2b6PUhyg2Xx_IZFqKCnPr0zdfcDK2IFGo4ZFEKtbS4epEFfyxV6pyWDyxc4ATzFqq0", "BhTtWmeZskW_ul0RtNE", "AUu4XyjrkxA", "SE6nAgKQkQc", "98o1tc8JK4xD", "60z_ClfZuVnklRBV4ZfcfSE_GgZMeWkr3ZT4Ssf5WgRBRb6qoWhWciVp_pdHG6E", "QAfXfDLVkTOapHsXv-CYRQkQf2UZAz4nvODXHvzZORUgdfWDnn1zD0wI3qNjKYxw", "0gipFxqc_w", "6UDYTkbbtRXO", "Sh2yRmKr6yWo", "7_oA5q1XN5J8UQ", "WeakSet", "IDeyGgyb-A6ilEETpsuCJGMyPHNYbTBPiNmRJY-yGDJIDeCc_URcanp14OJTNLt9iFkzdB54U7pNh9gKnu3uesJeUkLlZ10cxjzSpXf-m4Xe8mf4i6pa-NG6A6SpJdPSF4hXL6_f0elJCUDpLdscHvc2u0GZHxOQARr-78cN0f2PsCi-Ewn8XEkkzoswzFmYsfkxijMD6RyJ3YHwFfg2AYicG1V4C76VkGxuCd1dUScH3XF_1t8VIT5V_6KMmFiCVxRsch4n_ZIqvpGFMC5FTv-wd4Usjvjepsw1zeGjImmsLuBPgJvPqCd-1YD5ZLspXKGKmPtIC8mdq8YKH4QnXNCEWpsbcM9_F0mq1seZh7Nvs3rkRuQ9", "FD2TcT-8xhaq_zsb2u3BekccXw", "-Q7aPGeh6WqOtHkgkvmSCEVfaXMDRw", "5zKGQ2TnnQ", "querySelectorAll", "X1OXdyGqlCo", "Si3xXUrFlU0", "-gzsRFbbrUKP2UICuQ", "uP4", "M1CJISC1xTfc6HYhjdTDTmFJZXIzTxs9_Nr2VqTfMAV6Cti10W53SUV31qQ-BZxixgleXDYEWJ0y", "qp1S-Od2c8YNPA", "CwPcblrs7Bg", "data", "toString", "ym-QVSiZsy7xr3kzt8LOEQtLJ3d1c1o83YGvQb37cEocO9a33EktSyU-uYk4A6Ubty03NA8SVIsowr8gy52OaLcoInzqR1t98BOZplbv_snpt0zitJYMwQ", "PSrPd2b_zjekqzFKz84", "T2CpCTWN8A", "-FPVKl7wiWzD92NT_LD4VhBFKQdhQ2to7L0", "8C3PcXc", "9weiC1rN6x2X0EIM8a3Df2coXT1edztXhZDGKN-sfCRQAYbR9kMUXGo", "ZWKfZC-x3j7E5HdIzqnJHgtTHC5IF3RFubM", "TSC8ABuKji-E01hJmp-HCXkVTXx4MyJ9", "rXaUeSui8BfS", "XWbUY3jso236pQ", "SgT9C0-0w0_L2QY", "sort", "pjWzREOV4RKjs1dRlLed", "replace", "-FHDaH397HrI", "pNIM9PwfTg", "qiE", "MCqFZS2wqQ-3_TZt", "2QKzUB-EhAna7QIS8_M", "55cCqqMZYogpLduqZFUA6Omm", "o7tYsadYBQ", "JCPnS0L3rlGrnBNe2YHtPzZaMVJB", "hUy5GhOipBvSoDlN", "0eo0uNwnXoFMCduAQQ", "Ai_qAFE", "F3frWQPy", "zbd405NcAc0jCQ", "EXStRFi_hQ70lGtKxbo", "MFmRJyA", "Lo4O97EgCLctOaA", "uV-cfiW52yTk4Q", "lyGrTQedhRGM0hoU8PHON2g2cxolfQISht7aXLbqXnJdD8vTrVJ9QAo_p9MUBKBB4Awhfmphafll78Vbj_LcJ9dzbmn_Wn1FyTjw5x6a84GP9Fa5", "gQX1WlnNnTOPykE-", "BAGiDwKF9xiyhQ", "X0e7XQCYkwPahVsdmMz2PyNjF1dNfXoG3Y-nYZXlW2Q0KMmu3FotfX9kp4NkIK0Tun0mPw4JbKMA6pcLzLmDcpQADXe0WVFWz0zChAbnxZf74lGg-KVbnOCwT6W5JvmADKE", "ct0xz40faJY", "kSXFDzbDgCHO2wAc", "BfNH8fs", "z8M73ZYRXg", "AG3TaH_-vmL8tXc", "aooWqbk_ELM", "kJJq2cJOOOojEd6OJnlA", "8bVkipQnSg", "yWTIVA-X2l69", "P4JBgKEoId4rAIWrIQ", "CBfpHnbDyFuonh0Y4uSBMVUhRUwnbwc", "UD-cYSGJtyE", "oa5O_LIqU9QTIPa8USJ65u0", "U3DTeE7nolb2lQ", "SubmitEvent", "7gn2TVvdpF-S6QFb95fmaDJSHHMBPGYb_cLaH9Q", "HpxGwMBbd_d3DPj9AGJWiac", "navigator", "QAnmOEzGpA", "7nPuFUmM3EHOjQxG4aKaeys7AA1ZeFQaqMaqO9HLLSUtFg", "Dk2lUgKc1x_UjF0", "8Ty4CwCYlg", "\u202EIUaXROaFh\u202D", "EXjYY33h", "HMBI", "C8ht2_xMf_BwOIaY", "lP4b654", "empty", "tmaqCxSNxELOkQ", "D91X8vBEZshsXtrPXn40l5mgzJbQpe6NOw", "JhevZUnWtzewti5A1A", "noB7iJJZXNRAGw", "05cN8ZonKqsFLw", "78cv-OsmWq5vVrmy", "bYVYqK53K8gTAPDvKg", "-8RB6f9oC_1gJ7H5UAECmYjJqfH3oLzrbDR70HwO6c6-4jdpBriVtorJDSHoxlmMQtSUlczHkxOyaiP5bCVi2GCq59Fe_O-nZYdwSb02OjNdQe8HViC7FXkUqQAE-FJ4rkaKjxliUiyy6YRYxDrB6wiBGeMf6d0n49tKURSqIB5wWcFjkqwFofmtGCDdJqYwbUW_NpSuQaEAWVZ9rRrT_HVXg_qOvVl3YJONgG30tc4", "ow3NKnq71XQ", "OzfSKHDSo2Kp3H9jyOY", "Float64Array", "8F3NL2s", "WpIX_aYgKw", "mOxmgMpQSNxzX9_HMS03sJOqn9fH05bTVC8PlkV0yO-6pWxHG-O3yva4", "y2_dN3Y", "yKs3vNZQcw", "XwG-BwqE4zqPyQ9vpay_NC53HUBJJGZKmonMINiMeGYYSa-RsxILNCUj25BaZdBut3U2M0FhKpMUlcFI5qaRYo1aIhH7NENIlHGj9G-Xj5njvkfpzcUN3NHne8Q", "OIhni5xaIdMyHZfgLG9y4-_xx4Cj", "charset", "_YED5Kh9MLMiePGA", "PJZt", "querySelector", "s6Znu-EVNg", "k9RliclIHsdkR4m1A2kivA", "byteLength", "jtsolYcTZKx2MbG4E2o-u5-D", "frameElement", "Yh76A2bY13OvlRMWx860", "l1rLJGv8437Iu3x7jZWnRxAFLjZqbyI", "ffQ3jZgvWJEqC9U", "d7030ZsBGY0QTpHJWR4Qv-K-286do5CLHWw0oFQvgYG11HE8U4Kw5takPVaaon7PaKrq6MO35W3fJlvMMSZVrUfzwKg23b2PGfkbHM4BSFZzbQ", "WFS1O0LJ3xz7-WxR_M-4KiZ1XTwB", "-k6CfwaK", "\uFFFD\uFFFD[\x00\x00\uFFFD\x00\x00]\x00", "IHy8UkqxrxTtlUp9z4DyPm1kWQ59cEsXk9_jTYWxCT4", "d90hx5oCe5x9QN7ocRVwoaTlkND-ipjvDgsboh1jyPuZ80BDJpb91rr6KRLG-T2nLsfyq7rorjCLRECwEh9C5RyDwf9h75_ZRKJIILkTBB13TIQ4WGDLHUln3C07oj5Ln2Cb734yARiG3rd_rAXI2z2qAYQp-rF56LBpbUXLBk02LPsEqaonl9G5ZDDHWtIuA0C5CaqAaYsdEBwTkja9wWgK4OjR22AeS8z6t1zCiIHbddvOTD_X953uCicXVONC7_K79K36eg", "CSHtGBruuxK6mVc9gtyjaQ", "Hm6PBnn6ww", "YMg00o8XbolaFcT_aCoW7qXpiZXC8euFRxs77RprwtLCwywlItXM6LSuZQTNxmmhfN7upoPhkmiDXlm_CiIR8QG8mM8g8c3HGuITU5ADUQ", "565d9fRhEeM5fOekCFBqjcubidHo8dTsKGcxvHNd3e2orFspZLug_5PQRHmuukTnYsLG1Z6F9hLnKmWRdnE1jXn--8l4nbv4K8E8B95NGXRtR8JPNDa8QGocqBQBsyh49lf3", "ov8gwswXd51I", "8HWBKiWLmhbc-m46ubW0fw", "63iUURGztzU", "NocA6vIoUQ", "PI585vRDKsIk", "ABW6EgST8AaqnBlJ64DDfyJ1ensdIHwO1ZzJLcH2X3sUHsKU9UxUYnJ96Lwabuo8zhY7KlMzT7IT7J9O2bf9WMpWWkrtb1UUmHuT6X-r1cue9j6Xu6JL_JicEKGgCKqEHJFPJPDa4do", "towG4KowWrkuYKfUIjUM3t-Gzv-F0rutN25bm19JipvXjBpHGu3PtdmjA3eb7wTeDo7E8KXlnlThIznmK3w7nW3v0PsO5NmjZ98xSqwSfmlFBKI", "dSibKj2r4B2qoB9F84uddgkoaXU", "Tzi6TBHezgTe3QUN57_EKXJjXkNZZwhR9sq5Mt63UyojCYWyhg", "13iuDRGfs0ze", "MjSfETi50xyvxA", "textContent", "-1nRe3-q", "Error", "s-Ehkg", "nTSiagG4sx-UhFgHz6qFKHwiD1I3XX5P8qKwM47PUw", "j6gthZMEZ5EnE9z4TjFg5eSBqtSG-K3_TFsgg0QPy8nT2XprAZqs_6S1TzDWjm2YTObmzM_88kmnR1mtUTQO", "-KRf4sM", "BLJ8nsVZAdEhU9DW", "lgGJG1aU30HsrkN3r4PMLjlYQDU8FkUajZrkNsm6aRILALDcj1NnXQVGk4QOfdQY_iU", "jNoDwoAACJhLOcqJ", "wZg827U3Vac3AdCgIlsWoPGn8sr947zPAFYioR8mnKDdzG4fdsDe_w", "DQvHMyzMj3GZvmdOu-Q", "6T2VJSS-2CPx", "xKxQvNZ3HNUWC7q6FnMQwA", "Zv1Is_N6c_Je", "eFKJNja3uBPc4WYJ1fqzPFQZNwlaEAdj", "S_cxz4IhV4F_NZWMLRlL", "aeYbrw", "VxfEbSu-i3mFsW0rzb-iU0YJeBp-Xik2u6v6BfmDQQ9CYaDr1WF-Ow0", "\uD83D\uDCCA", "createEvent", "Ia1F-t9wG4Ijdf0", "bocHpoQ_U7EHbc7XcR5e0g", "IXDnGl7K1U7euEVYqaqE", "P2u2NFTc", "^(?:[\\0-\\t\\x0B\\f\\x0E-\\u2027\\u202A-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])$", "7sJs3cRoKupdGA", "UPUF-qAzW6FMcOnISz1Uh4HIu_jameDlYC4U1CBK9Q", "svsm1O0he4o", "m-k", "JDn4G2aD10U", "MFb3VVLYp03y1FhfoZb1Kz4", "getOwnPropertyNames", "jmngJU_8t1nPm0gMh-7KZjR6GVtxBmEF972rNpXWWnEsAv2K2DwWcg8Cvf8IL5Avxlw", "some", "TDO_BSOY-A6rm1karg", "cloneNode", "nZdOi_pKNO8EFqCtXQ", "eFncdGL1lmD9ujsn-O_DDBlDL2l7GFA4-67JFOyRfko5TeLY1SBKAFdLm_dgH55w3AI8VXtEMM4z-bR_5I2kTMB_fGWfc3E--gDq-1P3sr_aym6NxpIihbnTesfaVo73aps", "AAOUbmi9ujGSuQ", "wifUfH3o6m-86mULyOOKXk8mJioWGDQmirWeTavaPg1Af_LWqT4cVAgMytZrId9v3U8I", "tKQvoJU4NJA", "GZwwi44SdoRUfvE", "-ijnE1jVll-rwlw", "FS-vB0CpzReqhgtq2929fnFxWQM3Rj5WmN-Ya521HGciDfea2RlVGms_vdYWBP1evS11PmIscr4K", "6wS4EkajrzSti0xM4Q", "o-lrxchYMut8Upo", "LbAe8KwQRLgOEA", "sDOaYhWVxmuF9Cwf6PvKSlM", "0d0hx5oCCZlyX97aOzQE-YqniYfC_dCUUQwo-wNk367jkEtiTJqggO-9egPi_XI", "NGaBPDanwWbu81Ik", "aPcHnuN9epBSV8nwTkgKi4Lc-JK18ML3QlMIjmVYvA", "tQyVdj6h1DOqrg", "all", "14piocVBZck", "E4JI2bZy", "A-1F6OhwMtNCE84", "vtIHrK0xR6JYbcWvBWAC7dCX7rKhxYWr", "Jd8Jtac-Rg", "ZzGtDQ", "sIxZvvlRf_o2", "Un7pA1vP", "CjfoDTvytlKBsV9_mtmzfzU6VT4DLxwM", "wqQUqr8pRw", "tsN4idlIM_1MB8PC", "Document", "izzSTzmkyn2yy1NHgMyRGBc", "hrNzx91DP88xBMOFMw", "NHCaAwzUixrl", "rZ4b", "VpM04YYOLo8IE86Gby0Evu68", "Jx2XcTuhyyi_8SEGhtfBUlUZZyIFSCsQ-efZEeGSOQ5uA7mBl35SFAsJ2O4xC8ZlnTgFR3hbUsF6sbdA693zC-N6Oj3QF20uvVSizXui-euIvH3DmtEm67iJMtrLW4mpKcE4X8rwsOdoKXXOX_Q0LM9RwzfWDV27W0yYnLA89rT0nROraxvUZi1OlssF6S3Z74IK9VtxnHzt6d6ifMlEOqq7GBomIpb0pg5LSqo9eHggt2ogoMgqAG0XyJTruBi9GghKHV1NzZBZkbqaKBxpHMHMDeYii4v40edQ6tGSOi7SBtQz6fOU2hFjmOvZZdAlYtek_dshOJ_JpJd4KpBcPar0Pcl7Tv1IcFOKqe--_Y0xzUzOc6IY-5RCq-t8ECkUv11gC_80eZJxuw1b2afLNtnwljNXrMvF6Hm6V_G0aLb4uCRJ07b3Gv73pSTBLEU_rCxOI5q1-akO8v4Q833NY-TfA19PXasxDRbOuGuNKQNO4DzG9HEYT12jNMBYlhQtc1pSgTbU1Kr5VyF25zegC16qZ-pHNcSZoKnoHfr55C6V_ag13mDMyRs_KB3z16N40OkG1oLnJCkFfTBebO3Wzamyh_eiMz-Ov9PWOznEkosOzjoe_1JZHXUng-9k8OIePgVDWB8Xw57ZkX-fDDb1H_WQA8Yce6z8JnQwaiMl-sRLkgE7geNpcwNUo7ixlg9UjnW09gGaI-YFfg3oVRwPga4eQ_gKJXWkiRsbIzGEd8SkdggEFSZ6C1Gs73DhUFUpEwFPHoPdoEbYBKPrJ4d7wXZQW-HPYQwGWoLilcN13urGJ9yyVLvbTE31PQxIe04pxIz4AGRcKb9PmTI0mKlJ3iHq92KcpnINu40EAkArufpjwKwPGqhQRWFXzK5eDgP5vl8sCZZq87318fpleDYQuI25OQBZV1y1I8CqNZTLyFSAl0H-a7Zj", "yaUGr6MlTaEfZrbyST8", "pbA5xQ", "hAWcbhrpqTo", "\u3297\uFE0F", "oq8JoIshSqUGXqn2Ug", "SqNe98I", "CkroHFvOkkXozA", "1von2LoPY4pKXrXLcjgA7Q", "ns0F5KgyB6M", "max", "ZdkuhaYRLg", "PxHQSSizvlaBmQE5qo7OREA", "WH-CMS6ilAzVxXY2", "aacAgfQJNrQDEajP", "Promise", "wMpIqvNoGcx8d-3B", "4L1g", "MDTiUkrUog", "1JpHtK1cO-kcAO0", "qtkAqKk8PrtoPvCYQlZNytWD-eGFhIq7b2433y5BuJTD8Ahrarr9w9nDHj-8v1XaA53B07iJzlPmTniCTV1kmDu-3MxEhu3rM8QhBsZ2dSFMU7QveC7jAWMelA8FmGRmplXm2AZtTBXo8-xdjmKqlATHFegCsq95", "YV2SLSy8og3N-30_z8W0Nlg", "g1aWRiui3A", "gy3ffH7Y-3q-3Fk", "j37qHG2fyFrcghxg87yGcj8pEw", "xqZavOF5cuIJJKWhQE9_gPDP3bSHxrK2HzZXtDYa8NWY6ykbB6Xa9Y_EB3iN8w_9WKeG3e-Z_AXpREO3NEZ1jkCX7JUpqKD-LPpzJvMBMTdTHv8zNHql", "EWfWVA", "true", "4XrvYjiQknrmtWMLsg", "application\x2Fx-www-form-urlencoded", "oNoS8ts3a4k", "JeYXq-kFUK1n", "9-RVsvNyBcRMTbupZg", "mZ9qnuNcPsQ2DYbADS9j6e4", "zeo-kpsFaIBtWNw", "MiLBMWifoV-RvXs", "Function", "isFinite", "9muYMDGk1CbN-SZkyJebHCUXOWNlPjh06ZmlU-iMfUs_crXrhjwBNA9Rk75qHoE", "cYNC7clXOfw3eu2ZWVJE7duR0f613Q", "KjDjWg", "F65-pY8", "9dBV_et8H_4-MOg", "Tyv2C10", "1iA", "4lDaPHbshmXA_GNJx7D_RAxWLj9wTnFu7LyTSrvIaXFqcbbMkiFWAR4H2qNndNY7l3VJDiRAMcMg9usl44W0VKgPMH2VayRyuUizyXn7o6nBzGaK6cF-w5aLXNWWOJa8atEXLsuB", "PcZf8Oppa-9h", "KWOPMiSi", "dtVL-PthPfFTbLbpQw", "IhzDLS_FrnCG", "eIl60tNGNsQvGtGdInB48Mf02Y2JmtPcQBt5mFFzxYiCiHBqItDj-bWpd1aFjXfAarPGr5Lz02nTWQXWQy5Zvy-TnYpMyI3QCok", "a9JA_O5pHO1CN6v2bzhSj7qP", "vlGeaWnWixC4wEQZtv3b", "AvpSvdphF_ExCde5", "WjGqHBSDplqHnQUEjezyb1pgGkw", "uGXyA07ImEzV3A", "error", "href", "CAPROCXV2Fig3xcyuNq_eCEpA0MnBwpR3Zg", "jtYqzJEJApJ5VNLNMARI_6jthp7uu8TQRhkUqTA1xofbxwsIWNa2hsz9ZxTa8SaOLMT8orGtnH-_NgCbUgdY_h-jm-05g6CFD_8FY8RQL1tTJN4gdxqQYhxgyioV_W0spCDN8Xpdd1qejw", "1q4D_qs9WrRiWYI", "TAuXYCO4sDag", "pI4SnI8JGLs", "done", "Y_lmvts", "3tZLuvdiDtRvKvc", "0oAG-rIpbqcJKqmuEVdava2j5eE", "6fk2za4hXaBdZJD6Vxs92oE", "PshA5w", "KQLKBim0vU26", "3S_eZ0HvlmGg8EQFycPWQUEMV0E-Rx18qQ", "wetW1KI3", "qoJ1icFEA54jTNeF", "vMJIruR-ZvJvMfn3ExItxofEuabNhffGIyVtv1UM6a7k_yg2a8DTrfPDRTHi0hahT_Ke18bJ_GnaCn6NNz531yCbuNMKlcW7Kt4qR6cz", "JF6-FCGD", "Eg4", "vKlz6pcJDuQXY_i5EldEn9Psug", "left", "aDbaaVzt_g", "CQC_GBg", "ne1E7q9IT-9NYqChGw", "Bk2UPD2oqi_N6nYTwuqqAEUfCARHCxdpvfuoTqqVNwlON7Kgr2U-Cw0ags5lNMFXqX5cSzBYLNphtrYpvNKUK6IkLxDEQHsto1O_s1bOvKPskVvl4Ykpn-r7f8vVUoHxf_Q8UJP4zvVJa2rrAu08IY1W6TSHOzKkL2rzyA", "Xs8", "_F33X0PTrg", "4JEa_qcwMuc", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=", "z5w", "KyesUB2cmQY", "Int32Array", "Image", "iclqvYsadfl_YvOjSA", "CMhZs_Rzd-9v", "6DyGIxi30w", "8rIQxPVwB5ICT5D8Bw", "min", "onreadystatechange", "click", "height", "IG_3W0jaukLWtloKstPse2s0WmEMfSkS1NmGZYs", "OWSRJTyhiTGj7TB_nbj3VwslWhkyQA", "L1S5GwyB6gLiiw", "abs", "UsIgqtpNS6JUbeTNWGswpw", "Selr3t5eO_9WDJjtdTYyuA", "VUmjUBq7lBff3kN0lZzI", "0Fg", "FALSE", "HcNl3M1cLNhSM5bRfCQ", "URL", "j7Byk7VyYcIWQ5W3", "oHbdKD4", "RJE", "Qy-hEBK46Qw", "J6slhrobMp4VD5CBGyJr9O76jc4", "get", "xNl23shfPMpmUNWFJ0wPs-65trfR7LDCGVAF4Q06k7fY0g5YOYCYrr6xJHDWoibwAtr35p__g37fIFOCFXsxlAaaloYho5nYVLdfJbN3HghUPvVzBiqXPE5Ux2Bt4RcW00yT6yxXakvfjMNOplOXiDPvf9M-lJsbl8UQKwPJFTlLdOwn_c04mI3gCg", "KwjTCXzrlm-yphc", "nPgc8vUUDpJlF_35aw", "fkW7XACE_gjr0A", "readyState", "zQTAPHGSp3c", "cvcErK04SLpRZb3kVDBAmYrGrfD_kfznaCtKkHMM68i64T1YRKPJh8jJDy7sx1G9AtiQiv2HnBGwbCf6ZhQgxWyg7-Ac9-6jb4JpV4x0JytCT-oLSCj_BDxG-UNDyRB0s0K7zRlgXSiz4bUYyD7e2kiOG-EZ7d4t0plRDSXoIBx_XcBro-wJpeacWC_fJKA0bk-OdImiS6kxG118qRDW5Wtmwe-__URvf52IjHP88Yq3fbv_dj3lyOvcF1U2ONMs3JDNk9qBOBCcR2d98sehwQMV2iqmN0ZgAnyDLxZE58JH2By9aHQLCI75ShxKvBz79VttJgD8vEJeQQaz-QCD5Wwm6i3_mzOI8bZXPTNsIG3tEJEGqk6PMUODY3O-xeHVZIugwgGkvxbjOO2HCG8L30Q8SLKOcQBdI505nS98-lQRMPinUS49yDBtdKlJpIWCLubQwwV4IHbTPWnEL5JaqD5Yxc3Qx2rCmNUHZ6MZ4caFO70gapHNloBj9ByqP5rMgfPSXusHF2EMwv29De8Jg4Jz-mnfx0JoaG4ajjUxdvpaIXfhOv4HQdT19sQlA1akEjDGH1QrruPTp8TAs3x-BHx6USt7qu5RFlAM7ugORUuASYbJLMmW3bz6VDqyNxfRuIDYlZCRAGlKS-tw0bstxz1YjQ_YoCp9oeKdx-_pPCTUX9jkXCztlN_xN2Z3S5LDSqd8FpxP6zDLt5k9ldvDbi_cwBeLsId7AsPD7-k3qR5uvsLT0vyv5NIwDK44noX2z8HbwBRCfJsFzT59yxCiFb2ZlGtNoYvE5QNwZ0SlB2MciE9pj2ZHkI04gZqWpYHjRl4kyM3a-HHceuGxGCqlHpx9JPp4OqnJbkzLlZT3Vm2oGiv_yjfI1pvCBGbQ18E1cpv4zEzHJWA9MD2us-zSSmg_5NeGjpty-Bxqxz05DrsQBII-o2ryryl-GYfjqUZR7bAzvE5uJ5WPI6hlG8W_xGR0xrZf7np1hidjs-IWmAy48GDxNQZRlajrkBoRVJ4PNNfKFOTuOpGWm-IEUVc-GdPH9gsj_w3883hXKlMxutC6KTxhGKLaVSBczdZ_WOXxmkEh8TKp4NC3fEi6tqH09zynq1QhHshpjXRrSLJ6Lc7KZItRThe52tVTvA-zZ42Rzc_rCnwB9NpcJIl_lhWcW22KZ0aa8zEyHkuIXY981cSQXFFejS55I0h1gQOGWglpKxxD99DfCPgTe6Mr6ZRC_yM-yyCJb_R5T26c3U6U3AmwWU_Ia5sIDmhZcjg59UTsYWW5mMrsLDhtvm517q7T70N6DN6GJZn9cWFu3BB4Dii8G3qbFX0vuH7TYUY_VzVryNaiwDE2nUHGBj5E1DuvTNOCZpOnNk0iyFolM5ZaD4ntOTYOJnd7PZNkL7HXZGixgbnkA6Q6_qgidzLrPeKTuYtKl0yhxPcrWQOm1o5fMNCrJdufQA31ck6rkq9_dUW66H2gtRO-nliFOovVYQcEB7gXZbKzWHwjlo79jPAUtdzK_iLkajed38GMHK-CJMttAPq41uuvWyP7Shand1ktJsYvSrl7Ti_3YPbb-Vq4YYtQ24Jg3VVxvxc8JIvZIcabXIupPyPpymY5gIV-NbVY1IKu7LR9we9mqgfh6R_K1zhnEzLtYVNmmiOyyI9Bq_o53y40jeDZ02qb-SD10ISTSmNQWpPv_OZvjoicfaRCDAoyagfSQwyrR5U59x7FGxsKWKtOZZkxlEczVhOuduRCKF80Liyyfcxw02EnSK-Hj0kOrAkbSjbbOyQgLIoFpDhDWs2YmQ_IEckLqMvxibpeysPSAw3ePed_4MN5TQK9BJ-dCh01HtMyfFKqqLTppyz3cgW58CKNh2WvbsnF5t-hOVSDDvnI36JPPzXIjvm2jAjo7k3_Fnw6WNKE3kSpg4uhsaF0qmG-rQdjmtT6DW7ujCe_ZC6m5vwNUgNdVqLHT27U2edjnT4nUr8eguVdiEthVIR4vkU77p2jysy3tIj2bICBQsXMKz_FJZGl7548B89vT8x4EJhIRiqD04N4V7V2YD9Icr9kdRpzg8vw0PnLUb0rwCqABDY75a6IyljREwLjvcsWMT4lno2tqQovmC0KRk9BjsEcUXzpJOu4vwAQoODjuNJi10GoYnoMh4kNz8cCRkZT4l7mSSnNpbgn_s5G6FAof1S64CV29zzN8INLPTT6wXNRc_rm6eLPwNkGJNok74JjVDm6seJqBO-NW3fVs_v_NMT2ChvKeBxF6CiJqvcrNysW5YS19xwd7fyWf-U-iq_Vz6N5CRxJLtby0oMrOsYHo2JP4mZjwtj35qPBVv4GnYLrqDpUj_Wx-HFt1_htIxY-8FHerPNqpT86U4MLrA_YqEJWKr-jHKWntCAMs5FfTIQ7yN5QRvTgK9Fbo0auuGt9mkKg_CixjqEycnw3XJF8u0he-hdELq9FF0O_c7t__0rBBKK4-BIkIvmspRvsljjZSdojhi-ImQxhyjABq1DR93DgyQfmp4TikWdo9Bz_QbIojFMcvShz3Fnvw8TV33lkbVMF_KHdnjQHB00uzWzVGYpER4P79EJnC8u3skX6UXmRDrz8HvKd0a3GHWnP0nKQnt8yh956bmkuKOFoHM3ax-sCMqtIxSe3imh3jxAnlIRFlMgXySN1NTwda2Q3voqIT_-nfDR9e-y8YGGrlFRLh9wlbyCsXstaGBZMWaiBkn0N1iD1Aa1PX9KYEGKigBmPAOCSR9ozd4Ce3mu7P3PsUOt-p7R2H1oeedPNOwUc6Idt6HPG3LTi3oL8ZAjO0LPuo_RgJYUHBBiKMcL7SHP9kpUyMEJPXf3nlQnovDZgj-siMx3Ag37H527gvB-I_Zoa6b_uZQyCi2o5w_rwTC5ZgzKMhJdfqgsFHVFPnc-3vamOdXX9Xjv-ubXBN1kyoB-2uo31qVEbqCKXhPK0kmRLi0FZCf7LUxkBCyY9c3Yn3zeC-vYyUHAcEKFSW_-BWJitxLGvVm7kfPt0C6kDAPRNiP0kDgE2Am0jFxmUZLfXpVQmlUagKjpr1atNET1HSfG2srsdrzkXFuoJNPUBKFso10GEnbpE0bODBHH36tudzxLxwh-6maeYvqhzKR136_HSjNnVHIWOpGx6YeW52sbm2QkzHxsZ87NAKkxBZaiL9cC3KPb1y6NHSoSrPwoSOD-CxJpSLxWgk6mHHpqUI6I-WPUQStNK781ApKp4lHjyWWSIQUV-i7fCeiLdLhP-fRIYWT6aysRaGfIN5JR1qC6gvsrzjaIzfcDegYRHbNb7QSI7XUfHwWmhEV3j2SI", "VXPPM3DxkEqklm5Y2JmbNQpp", "self", "1XrgRVLP7FjY21JOzu61JRwoXRdHE38FuoiFOQ", "UNDEFINED", "LEw", "IVn8DVjMoFbu1Epe8pLUdjd6IBlDaFFLxQ", "_6dS8fBsANMBQMfLc1pr0e7kmg", "Object", "0vhnk9RPJ8BIW83MYjc", "Symbol", "JQ2gFRW553WN3RM", "_rVsxMVQINIITYbHfCIS7LPp7emGgq-RQhBr_lB4xPeLlFUFZcH2s_qySm2J_3arXI2Z-cykwxDAfRHVVSh3z1vG1-g84cqNA9lCYvEyWVQEbaQ1aD7aYxQGhzE5qntTyw", "cLtB8-IAG9s9Xw", "EgnnBlLIrG27kgguocKVb3Qvex0udRcf", "7f9t_fl1Gu1cGrCse2REqJDHns4", "kYId_78MNrQd", "lcokxZELb65KE97mazov9bPmmKbPzYrvTw4IsRZG5_4", "RXCkEC3HhhuV3Ro", "initCustomEvent", "attachEvent", "s5Ua-qsYQaImcIvRLjEA2cKc", "QJEUtKwhQ6wzeq2NBHZB2c6VvvjRpfS9Nmp_pS0Oppf_uD05StXstsCXSHW5iFr_ZvqKzZKNyVbjQ3jNcyI0iSr8p5kdn78", "O0niC1M", "rZgG56EiSZEdf-mgCg", "load", "mhrrQ0THxVyS", "clear", "VkW2TiyWjRnKiw", "82DoWlk", "DR2yXRSTww", "RuYs14wZVrVaC8ye", "LhSeeDKosCSLpzdg_J3UX0EMczYlLFpmufHJMLeeZzUWSKvBuDtFLF8Ew_0KcY940hFfR3FhPYFuj_t1pOihDPx-cxPWOi9y6w", "UT6HcyqrlWSP7iQD9A", "BAy8VDSC9RaiyT5vkJ-ecGoGTA8gcTw", "HJJ5", "_izHdlSViA", "nRWXOTG_3Q", "sowZ8rkpcacVffXtRG8CyNmTlbO9k7KHICYDyyc", "a0G4dwW5ljLw5lFGuQ", "An8", "J9ESt7sAcJ9_", "Gh-OND31jAGkyB1F", "sbtCo_VcbA", "dMU7tA", "YsQpgbcVNpU", "documentMode", "p9Jix9BNHN9gGonQLF4Wu_GiqN2bvOPbWksKwSZ8", "forEach", "8rdB", "etApzg", "LII0h5QxU5QWXw", "wMIv3MQlN7pRJMU", "GAKILj2l3Sk", "LwnNdzTV0SuQqXlD8OyYTgMcYzdUGiFw8Q", "9NpqgKx4COo", "_xaTOy262S-DtWAyh-qjCkQPMxpseF1hp--wBrrNCldhK9S93nAkdhpdy_EvAI1n4UVURgoGTNtgpfErv_W8BPRxc0jCVDtsqFavhFbfo7__00Xft7w_1P-mY4GCNrvsdZg4G47jwsx3aD-bRbU9P8cGlFnLfzy2IAKG8aMs98mX4ESDOC_RcHtwvPQfjHn9o5kDvg0iyj2o_KDRNd4ZJae2AQcAa6L8tXgSGr5xagI-xxpjsfwJSBhHnomtpULQOi1ZTzsL4e8exKXvSxs2bb2DGf443Jfhgd9J6N-scgSHFfwtpLDdzRkAz9KWWtkIf42stsZrOei-m-8-B9RLc_e8Tvs-ZaBAMGqyhLuzqpNSlET1LY1c_PobyrIwUHBx7zB9X483esp4_GU--6OKPpfMzD5-vJrYqx_MD-SyJpvUlkp_2LapUP-G2COJLE9O_noLEryinqEksLwxoVGbSrCxVht7WelQIQy9_37eKwIT0ljr7B8YdRGuJNd-4F8FTTomwizG3PLSbnll", "CiD_HAX0qlO3i1t3hsW8cSQ9TgY2LAIMl8H7Ip-rGjZOC8_e81obAWFz24hbHfxvtTFWKXp0fNsThJg", "R_M_xJVvGZR7NY_VPEg9", "53eoChOHjzeo3VQa4g", "Vo0", "0", "RhDmHBc", "Ng-YUyTutzevwGYjis37", "NUXLanPtjHv98iJTlZeV", "7g7ZPAziqk2rgX1_", "4VfdO3HrgWLH-2ROwLf4QwtRKTh3SXZp67uUTbzPbnZtdrHLlSZRBhkA3aRgc9E8kHJOCSNHNsQn8ewi5IKzU68IN3qSbCN1vk-0zn77uazZz2GN7tB-xZOWa5qRBt-9etA5dICGzw", "32u8Hg6G6gTNmFpAo4a0OWBIKw", "Infinity", "-CWKIjSjwDar7Dtmz5iAERZNLzp7C0V4o63yGOGGdEI9fdz7lDczDgIA0OlnQdoVwFECFn9GCZ8wsPVBjJypT_doDTLJDWd2rEip-Euyu-qJmWLR9-Iu16jaX87GTq-raqtpCtaqiNI4NCCcSbNUG9UA1D_SdSTydB_WlLA7xdW3p0upYD7OPGMA5qRHpiypstpO50My0HqX4dS5YNsAIqOpCGAJCfbj-RsdDftgPl5_6TE78Ld0UnBRmIS44AbLFiwXAElPwOoXgKipCEx1AtaAbbUtqtup14ZJmpDHYEKJCJdpq6PYy1srwszBad8-Jo8", "Safari", "UEr5DV_byGWfoUZetK4", "l6hvjuZSOs4", "WCGkDBqN7hiFwlQctevgZH8lZEI4WmhAhNiYI5HSTT53WMjX3BNoVXkj95RdVg", "DzU", "b1eKcQqH", "dt5i9vJ3", "i_p2w9BRIcFsW67ZeQE", "PGSbKgejvDXnti5_gZ-ZFi9YJ29L", "hu4S9KkxOqpBbOr1CDxw3Y3auqbMg_zvYj0UzzZN5-XWviAeLu7ajoeGVjf-yBu2FvvIiaHNtE20SiSkYAY7wSabo8FaouytZIZ5dbZ4LCdVTeUeVQz6RgIlpBUFklc59Faq-gh6XVSg-_xjlXCm1FDaUQ", "Sv0qjLUbE6JxV9akZ0E", "qfx0k8lSF9tdRos", "gMdL_vdsDexsLa0", "ShWQOC652iyx93Ivie6VX2pUciMuBDxz66rYBrzHNhZvJ93KiX5EZ1oG3OckE5pkzRBwGCJUTYRw-KR79ILvDrF-Oib8ZSN-4WL7mF-97_-JliXDqLog1-3TOdfASILifIlmE8ymvbp-PDr4WvENE4Ba0DjWJT6_DUqAmOV8o53tyxmkbzHbdjZ8yeAU-X7hqK8cuVQvqzv-yJS0fdsPKqOGUzBsLNGv6x4JHuUlPkZqr2gvlqwqAzYCwpPWqh7xUnBfXAlI8MRXnqi1ElV-EtKAGr4lttT227NP8sSXNyLWF9dgtqHN6Bw0l5OqLtMoPJO57dkzdKLMntVibMAXZu20fPQwV-5aIma3rPyn_bM41nGUcpdFvKMRrKB3DTUevURoIpN7bMd2-HkEif2dEI_hlmdIkZKF-le0fb2zKZ3Z5DN-nubdWu--pTyJMAYDvHAfCNim9bAzr6UM9l2SJd7KCBAwVaURUR3TrHrWKSYX5G7x_1FZFQHxYtNh4kQZRxNAkiPe2KmCIm9w0A-bTFG6Mr0UHo2giPzFXeSktm7ZoOV34zHLnAYmJiS0zJ15zOUA_8bnZjocb0kgIbGj5O61guKzfiWI2ZjsfDfdlN5A3QVIvl9PEnAnhuli14Yec10GQFZxkqWCkiS4X1u_CuC4H8ALaeKpajtSDw974_cFyhhw361_AhA66riijXJRkn62mxCvef8YflHpXgIMps9OH8RaJUfvgUJReSb8dMC7eCJBHyEnBED_32fwSk4vAAk7UsuRrQ7FWb38WYZt3mBHQa2tM0YZb-PiqJdsz7fXUYChb_SYQ1ytQQ4VJBN1iZX5FhgcGOMEoys_-LhqzVW18DGh9WEp_JMYRAE3wu4piL0wAeoWA10ilr4JHUnV4FQrBYQT7rny-N08bD8D36irZ1YUGFS5JcK_Ad2r1mLai2KsbLk7Z_21wEgrSdSOPmGmfNrtpgcZ7GO4xRB5JPasH3zVDui6Ve6rZynPV8RYYr8i5JORAStqAozen0PR4REqhjw38Bp2CS3XmJ_q0goIPuuxIN4tZrjDqdKjLB9x9OK03kJIjfmWSTbtlzY4UpXqKP1hAEJor5kvdjV3dq4xZJ_8wB2vbeazkXj_zVwFt0KZmtxgFR2zLtBgthhRWUxqmOrOPweC8U-fBNhB0o0YqJVTO-X5x4RAvR2jBhUFnMXdDLzv7IOoX9ZAupuw8cmHejBNxSXz6Wz4IFyWNPrxA8AbsCeo2q4IXs8GSsZ7hJEdrXua0aeRqbXZZ4kxgfd2SwMk-PO0caaVfHEAPta6mF0Htw8yurywCdaYnPNsyKRGxZ29YKcZgdTwhPyjHB17D_nWD54V16uEQLgu3kVNrU5544vCWoH14EiH32l_9OvutLio9Fuw5GgYrIgjXmo1lmSufSmw4f0g4DxGf2vYTJxyGir7uZFqHleQ-DA56AZ_0sImu4Z_WXawvaUoN65xIIY", "-uAfo78wEpgA", "Bw6yCwKG_hupkA", "nQ36Hl759GOSmTo0w-r_AWA", "jTK9SDqKxA2F2g", "akqaISK9", "04gO8ZU8QaQicZvTIjoKyNOl-rGZw5no", "", "zPFUgrY5XddafsOl", "akjwCEHusRQ", "5FOHYDCgmS7xuXN2", "getEntriesByName", "_K8x25Q8BJQ3TQ", "LxXDc2w", "443", "wP4K5-p6M-M", "iUvJZGX4mBvB43g", "map", "bPt9395UQehVBISDVlJC1LrD", "CiPdb23kmXP9-GEphA", "fBrSND_ZginR7TkWrqXDFBddYmpqXjgh0vf-cer2Lnt9Yu6Bg3JVHEdpj7g4bY5t2U9C", "961e9-JxP_MkRO-0", "th-RZRqs", "I8E03donUpxNM-iZUi1ZncfZ4Kk", "yleGdiPdtg", "QkiyHwY", "hnr4REbtgmjIuTQU_-PYOjpHNG0", "Wmm5FFGtiBPFklM0irmwODV9GFxoHAlV14HVJMO7WCwnXJWSiEMtDGJ0sZxJRrA9smQxN2huM-wE889A0JCccNoBQkioVgRIjWqNmj-nl920", "9ZYMuKkHTKwaPOKS", "5O8C86onT4l_JeH4RA88xITB", "sco08pBESJN6", "PR6EIj2Y3TC29Q", "xu5Nmqw9U95YRcSgWw", "a59j8ZwhXv4QdA", "Rq5s5Q", "9qJ4mf9VD-c", "Uint8Array", "bmOUVD2e", "U9Ym2aoFb4NySN_YchBis6_5", "vo1U_P1oGOoBNazgUDJZn5TKmujmktziIClb7AZGqrLRq1BRcOzzp-jdRmbx4xWTVYjR", "hDqoHBeNpQQ", "-0C-ARyFrjDo9EQX5uk", "1TjXWTCnz02701ZLss2FERhRGAgZIXg", "Yn34UEbRskTZnghA6aexOiVuDUVraEdFiLCKf82xS3EyAIG-zE81FCJ-qoVSRulxsw", "input", "GYJHsvh0deYVdemDRXorkMGb8f6HqPyUbn0w6Q", "4Ua1HRyJiw7diwR5o7GxPDV5AVR3UQ1W3onAac23W2Y-EZ2HhkslBS90vYlNRqg9_2YpLnV2KqEa6tBE05rRcdICSFGtCRtEhHWGyU6ah5bs-F2v1tEEqNesBoD1V-vHB-gzeuw", "n5YS_5MqcLEKOrWPAVRKobmm8eLauaWFEVdHr205u5-ipFstfM-TttbHJ0uZxwPFXMek4s-3xneUNxnlEA", "xeR5n8hPad5LFciH", "KwCZXiCJzj2b0BI", "nodeType", "GVCjCwqf7x3Hghla9q6UfDN5WWcCPGgY1oX0M8C6fSQQXav56R4NMi0rvIdFfeMj1DwlLE4zNqwX1oBdwLGLbI0ODgz1IkwawivBwGGm0tW75D-owM9OooDiVPr1QMWdH-1Bd_-UtP0TWBi-c4d5CL5u5R38CUvASn_otZZVhqPT1T70T1ygBgQ0i5o2yE6L1O9pw2Nm_0TZluTkT6luVtbAfkM3A9uDyDwlbMkHAH9Qgy0awJZNf2Iw6frc0z2UDUU0JUB7mIRj9cHfbD4AX_m0YJZJmKCX9qkjlbHoR332f7gY3seqvmh2sJahNPBMSPvbwKwWV6yL4p5UQ-ExBIDPP41BIZcoSRXPwIzF3eU46SqxGvQtlr4ssMVHIwEHkHRKN-VGAbdJmFUZ3pW4eqC1pE86i-yv3XWxYaCHX-q-0n8Fr8HaIYn5nBTnBQt5iA19eMHM2pRdwdZ1lCvsPcPAIGQ_boEpXnH5yAipXWhuvBzclW5yMSbUU6ANkSl6CQ1NsluutIOkEUhU4QG2OSKUTYMbc6-A5dWRdY6Uy3W4ktpRjHbSqG9aG2rY_uVRt8Uz9LC8Q2woBXB0TdvatsHG5riGCUnxgrqhR1bp8aprjyI3g2ImYRIR05tOyOhqHyZ8PDE2k5Tp9krXdQ2AftbxdPY2QMjZGnt-f0hxwJVzpzQ36sULbFARlMXV_Q0Wow7f6hvtB9grSiCpfWZtz6EnZvwmB0PP-CFNE0CSH7_PIBc6eVdTY3Dc5E7FJxEecm96Tu_klzazCYqHKZ5eqh8-Jt3ETSFvSv73xa9a7ZukJaPbbJuBN2Smf3hzP35S4umFWzBrScFSgUwNq_hT9WGTzB7egTAq1utTaTBU6-oJ8d4DM6Q3ZyBylo54QybL23sGP6kvnPTVjZMPPRdhpYbsUj5gdhSSW7vdYbTZvgqGpyjEXoMPS4zYrxUFGNi7TgTGbruS0HpyxiSIumUhP87dYV33Pc-casncCULxL-Z8RIoPuumhD1dSJIjs5QrwhnFopl9PtWsOflvv6a3U5nM2FPzbH-xiJ5f5gvqGWHcekZXu-BB75JLndHvF1zMILOyNGptDFilbgt5fAApcQLVISunI6juOZdPN7RyNpCJ68HTr9a4Va3TJR7IngGU4JyYE5p-_YDLxgCXwfrYj4PRh39hwRYGGzL50qmCBMEh97e_EbYbtxLXbbOh_oe3Tl7DiUmF4rEu90BOfR0a3Adr4bN4dkkTZ7dwnfNRpfZ1Xo-YmhWTt5tDNmpWdWcsEwtotcGhCo9DTAd_9ECY_WvDz4CMy33UPj4nmII2Dr5ED8Jo", "R17BYWbk-lHe9mwkp9OKI0oicDobMyESuw", "iGD7Qk3J233NtgUZwdLfTyA", "SiLeOGX99maNoCY5xPC8EUEWdmoATzAjrvHYA_qBKykacuzS4iIWQktKmvsyBNd62jcERW0BeIF4huhorMr3DepXbw2WbiBhqEq1uXqj_eSbhSb66Isngd7ULNTJcdnlNJhnLc6Eze1o", "naYji50KaZ8CRdSHMlgn4tnmw5yT8YaGE3hq7BlvgaTBj1E0JNmo_O7v", "UXWyABGC6Q", "zd8jzYgceY9JJpDJfixS86a_yvKBvqLeWRdh9UUz6bCTyD1wYZyCuqztPxnX_mu2W7Wt6sWgoz7RUgObViUC_AKMjY4", "qXmvRyKL8hz6", "^[xX][nN]--", "v1OwWweVrBPg2lxonP27ISx8Llw-I2ZHgdb7J8SlRnNMbKM", "g5knl5UfNQ", "IXumUli27g3v9AI9w532OXt_CkNJaEJC0pk", "Math", "BCmnQQ6b-jSf0hcLsQ", "LFT_WULNhEn3lgxGscmKOn0mPkwPIw", "737ReW_4m23wt2AunvCBXE07GCAlTR4j4djZIsSFYXYOa6HRsCQzaCACwuI", "CD60UhiC6Auc0gIlpfTiamkzRAU0UkEOntTJftK6HChDEtCT-kUhDGIp8c0UEbxsoiZgY3cyYexSnJlRgsCQOdNaFSy7BgwOjXyW1RKN1tSD7ALgufYFyJm4AvTkd7_BGq94bqSWoY1DCFLQJ8sIBrc6", "3oZfqKM", "EYotydBBSukrQ8LGJ3pJv5itvMP6vIQ", "lVfZKkz9mnO7kUYl6Q", "OdYEh6Y9Tfw1UQ", "umWEeCWj5RnCsSMtnqHvZh1NV31XCA", "KSLcNWX7i2GDsCc", "O-Icoqc", "S9IT9KQlQ7p_NrA", "ESCMfE2FwhuAom0W", "detachEvent", "Tw3ablz9", "width", "2xzhEkX5wUO8hxQqxMCLNWI1", "TGnIOWb__G3G4nAuu9OaLQ", "YCnge3WV0Xjomg", "u-xG8t5xHtZSFLGN", "JxXZOzU", "NI0A6a4qV6htdrO-K2E", "2O9ZiOdYafM_Ra4", "esVB_O5lLPdwLLegWCpTkf6Ds73lm_LkVWhNkXZD4tLOpjNAAaiGn5HeU27u9xOkF8qGwuKOnzepfi3AMgYiz1Gk-tpOt_u1", "LjmnUBeL0wmUyFhN6ufTPWkjBgAnW1gFwQ", "set", "5UC3M1U", "RegExp", "vxLNAimTtg", "2sUG6cMhdJc", "3laqTBGJghL51FJNsITIZTViAh50O0RX2oWsd471X11uBpimllZiNj8-7o9GcKMOrkNwMRl1DPUM8pwc2L6DeZ4jG3niGlQV3D7BzQ7Sh4j04liOpY4a8bezQaO8LfO-CPwDSKre85kc", "AoxU3P5GOw", "bkX8W03WqQ", "3K5Ps-x9IfJoLOq2YS8Y0YKLt_ukhJO5Yg", "kB34FkrHkUWiymJb6cCMPXEwHwE", "ldk60Y0fVIZCWZiKJgNhu4inyprSzJGhSHAT5lok_7g", "25t7nNsQU8ozA8yAKV8UueL70smk9pSPD1Vmq1Nsy8SkylF6Xcfyr-7mJFjYvTrVcp-nqMOt2SDQLw", "concat", "which", "bU7sD3TSomY", "getElementById", "vL1O5udyAvAwd-GCWVVKy9uG-bOj88fiKHwx3icB8dS372MhVOva5sidXlrhkB-aOd3A3Z6U3EPwPnCCZWEqkm7x6MlE5ef_PeF6E8Q1ekl7X6NBRlv3Yn8MqQUNz1Vimhu8wmIsCjqvyv4ViGWNnQn3EJYUpqc_jtQDSXW4USR5DtZUuuMTsOuQEkrIbu1jFHSLIsP2HOVraEsy3hOIkj8GzLPtnlcrN9zV7kr0rdnPaOLoYCLk2u2ZBUEvM99mlMiYxbiMaFDHEB18lcG4vhVw0nf3ehAmVSXJZElQnI4c1QujYHFuANCuGn1I502C-hwsfSfFqBocG2S-skbfrCZvpX22nFnF46hVKVUqfiGrBJc", "1ZA", "Cc5T5ORpSw", "File", "jzWkEBGT43G8ng4mjfiP", "XfMkldw2L_RpRw", "6\uFE0F\u20E3", "c90C4fgJV65KdqaKfjZKkpTXpL_Znv7xYTdKwCpE68i9oytRRKKA25LaBHz--VCuBN2EzqCInRLiPjw", "1Jtd268_Nvs-", "start", "9NRW4f54HPRH", "window", "g8hgicNYW5t3WdPQdhA3v6fwqpOA4sa1AUQn-Bpx6aq95Q", "filename", "a9lf8Pt6d8lhJ7y3", "TbYk", "xBeWbyGr0SI", "AbIs3bQ", "3vt-2dE", "3epxndIicvhGKanjTwol2Y-e", "\uFFFD{}", "removeChild", "-4pamaEFBa5P", "RNcbsrsFeZ1uUsCW", "xzK0YRKvsgk", "tOF6i8VKMfhCBNv6bR0Mmg", "Qw_wQRXFykOex1Q", "iterator", "^(xn--zn7c)?$|%", "pHSyWVWTnxbNjg", "dVb2QRf5", "BWg", "uL8yiZ0G", "twHRbGjt2mrYsQ", "LXuWGy_ezA3vnFgWvKmFQU8BABIQAW5wng", "complete", "kzK3Hwme_QuW0UcPq_HueFo3XhsuREYVmemdfNvWUWZgDa6bwg9gADwy-OlVAg", "RBmSXz26pj8", "udcCs4kwMLplL_G4MnMinvvM15-9mayyAjBhv3w", "-S2Obyyl0y-fvA", "syGzKzfu", "dispatchEvent", "8os", "iu1f", "constructor", "j99UofRkeqZlI-I", "toLowerCase", "OffscreenCanvas", "4FXzE07FzUjOiVIVgcc", "rrU1mIcmb5M4H5LrZBRA_af-7fO2j6C2BQc", "4MYkm54ef61vUoLTaBZcmA", "DNtR4uxnCocTY-M", "jGmNICS26SDZmmU", "jkGXYC-z2j3b9VJW3K7J", "2KgvlqcLYZIlBuv-Wzdq5_eDvw", "floor", "oawWpL4Kf64pLPP_CHhL1rE", "multipart\x2Fform-data", "LROoHQKn6ASQwQM", "boovhYIcN5YHb9HQKRoBkbK_xMLq", "slice", "tFHzBWDKoUOB", "mvV10dtLUfxMEJI", "rU_EcHrsuHTnqTB1ww", "r1qDfjumuzY", "8h-ZMymz3gSpon5rmpiWFRpFOHR8VV51qKr4HOyzXQ", "action", "Sakxxs4b", "NeYtiagMd51W", "SiXzBVffplWvjA", "UoxSvIBGGg", "Xv4T2rU0Nqk", "cGn1BFXA", "BUHwCVry", "oV-8VwuZ0gD2nxYSrJTTfyluQENqJxYbhw", "Ltoeo7IxaaI", "KByWcDqguCyDrygrweaAR1oWezY9OGoR__XjWO-ZORBaQ6nu5SYOJlwE2vkgOo9V0DYMU0AaVMFgh_BO7uOyD-1oLTzRWSh55hP94wnv7vGcvHbCtaN55rOMItvITv37dI1lBoTB-_VFbFuFUO8lLdZMwjbSAFqHHkOFrvcn_LHcwQGyHw", "every", "CVzgBETWt0760Q", "KyKNJTOktTSg9CFOmrzzRSgBSl0ZSFI7-b7FUOjBal0cct-8-DhmXVRf79E8cZ0KvGZE", "bQu-GAef8Q", "PDHCamv-_HmbvGdU5IzpDFYKA1dcGAV0pvKlC7OLLh5-I_Ov7mtYE1VKwcZqPZ49", "RRHWf2L6gWmfoXwrnN7hVG1JcCw3am0dt9HuB73EIw", "4fc22fc50fc4bf5c", "CC_G", "VuY8yZsecpxgQuLzbB9-uw", "8i6DLiym7Cuc7WQo2er4RwpcXXY", "Hq8qm48Za4kSV4SeEFVr5_irhPzt", "X7leo9NsZNc-O76-ZXY", "children", "jhL4SGPGwQ", "apFlwA", "Int8Array", "1Bvifkew4mGe-D4sncvrJCtjci4zdh9IvfOOTq6jT158QIuM4jF2ZnRp2-4SLN0lqw", "123", "reduce", "number", "L3KBKSi9zT__uC5NlpqFEQ9aHDRiD0og-7P9PpuXeXYLbrHupn8SKjQUno4nZ4x5uAULKRtmVYoRv7NRo6D-b-sQbQOKNzUKrgzzkQOr1-OvkxOZmddJvqWJItztEYbiL8g1etmfkvgAWwyQRdcGXtoWl0zQflODHEDwwah2m9n5wVywKyLyBWhMw4UNsDak3YBS7Elrrjf678E", "ya1Rt-pyC-wNMLnbNBZczcGX1emUypj_OHBDgXwZg9X03AlZC_bZpMGAUXiF9x79Xpfe7q7vk07CczPpN2wpi3z386kF6c-sa_xjRrYOdGRfUvQBVnD7ZCYeigVR0BNT4g3FxhshGzzU9uxJwmrylxvjDadu9J410tARCzG9OAlDDsB1p5Jf8vzgfyXHfu5-LxmefMfuF-VnQQMu_Byt", "aN0yg4McN69SXa-VLU0j3A", "5t5UsvhiCOt8MuLFRRQCj5zbuP_Ko7zufCB1o29N8MWx3HRqApeP6JLUACD2wRKJL7XCn5TGmgOxRTCEISRwyiy_6MtT3Out", "{\\s*\\[\\s*native\\s+code\\s*]\\s*}\\s*$", "enumerable", "f1jddWP0l2H8uyp5zKbZHCcYL2RvEm5-xffdDeuack0XPqTd2D4RChEHw_E3ao8tmls9VG4ZAoso87FXuJa0WPgyak3Dbms_8lrkjkK4-PDvkXqK0IUhlKTFVJ_QV47uK90tYMfnnYVtcS2bZeJNRNYUg36PQACsQg_FoPt4uJ_Sg1P1PXaROnAxhq1GuiG19tAYrAR7hWXuwPCiOZFOSLX2WWwSIdfx4QcQE-VRLw130GVv7r5IFHhCic-up0WBAhFdBU4s5oAExMqjYVk_W5uKTId4tsX4kOhW95udKQ6YA7Fj-PWTpVBp0p_nYI9la8H1uZZRYsWe7NgjYYMuOf-4dLdnBKUlLzfHq6fB_v11kzzYOdARq9sc9d5gRGJN9h8NHpQ8PIJxvThf0A", "6GuQazG8uCXIz3JLpausQzwP", "zsF_gN9PAtZ1a4w", "2Gv2CE7dzmzEhBgC3N8", "Q1uLYTz4pg", "Bkw", "F9Mhsf9LQ694aunwQg", "PwXaIEGx72OG", "ZMk-0d8", "z4sK_5MVQ6YefojOEDg_xti4", "cNxet_J4J-BFD6WgEiJDhZf51v_73fXX", "yIgd9r0tdaMjOemoeTIpk8OSu6OXwo29dzQNtiZTgeLksH8SYOfMkYWTTTI", "ZaU", "guoW8K01TKt4N-bdSgg01JrTvL749rjsfTYT3QMD-6TSuiZaF7PXiabOWDLt9EGDXPfIi7TRp0KYPXqoagQk0SiKoPhY8-ipYIJ9cbJpKit7A_k0HRjuQD5Q6wUcgU8CtkXry0xkWG3_6fFYyWCy4h-EILELwZZ3h4NSZSjyPkNwWs5su58M76zHTGjFZuZwJnSgdICkaOwgX2cxrgyf9H9mzf-5zRQ2K8CGmXv2-pTiDbKmMz2nxJ-GEmxsZtUq2aHBp5HMMC7KWnlG99y11h8V8Fihdxd0D3SdZhdAp5oS7FbjDXpgVN_keEZJuWGJ6gl2JAfp9EZaYBW7tgbMuywBsTT4gSegytZFfnFRe3m9Pd8PoVSZGSPIZjaujrSdaJm0j26GrhXjJ_jcAWkcgWZuYL-fZQAaM6NltihD82JjYrTmBgA41Sw5f_YnmMbPKOC_pVVzKWb9fyfYP5hJqyIX292awDeY05EHfuQY", "onerror", "rluhDEm14g7RlRBLiuvMLz8pJCtNWmsdnsmpK5-7DD5UGJfGvU07czpxkaRB", "BzLoDhXslECmuFM", "8e0RtL4sQYlYe6fESgQ", "ZLE", "puk2j5QA", "VTPWHDHAxlSS7VV45Q", "jtl8y544BeIgI6mvSg", "CZ1u1NhPK9woe5jZ", "4Aj0Ek_X3EynigwT7tqWIXYzWEAwZRoOmMfKd-7rGFkFGdXWhghoWBIjucoEL_hQ8hoifG9zQqFh6N5FjNmGIMF9RTPnXX5b0SHbvRqI54OK5gjntes_4MS-BPXQKfSo", "Pftxl91HX8tWCMDOKisU-6nzmIHilJrFQAQDqRJ2ydz8gQI6C9bN6rr8QVPY7DKUMdXf74vvjVrSbh-KWSwE4wK-m9Y-mcaBSpEdWJFNHQtoXowOG23UcyoPhCAtnjsGxnOFg2A", "2xfqMEfZwnSp", "v4Qa26IhOZc5cLmtT0I", "UIEvent", "ahL5eEOhj02jsw", "D0ytAA2R2w", "qoJ-mMVdJMMQX461ImBcpe-4y9-ZntCDCUJD60Qsio2WlFQnQoKsvM6kO0CJkTbSR9Sk69qQkDzEFRfZBmdfhAvz3ZZ8u4eYWa1YLYETbgUiMYlafXaPIVY4hHFo_TtEhSib1g", "5uJhgdhFV4A", "onload", "x3r-Q1Hak0jPkwgTqon5ehIuDEFAMkFd5527JtivQCszHcL6vhY4Inov4NAQWKAduT0SfFw6I6gc", "kPYmx746SLw", "G-QlgYg", "submit", "baRK-MltOQ", "KQGvCQm28GQ", "G1KhCQidnxrrzgpB-YLcaDl7Yzs_eXsb2ozebeikQGwdQr7V7wNPbnwS9LgLbO8z3RZUYFciGOgSzoZGxKSxMqVKGRa3MhJUoSid7C2r09iAuwDuwP4IrZ7yEbY", "target", "C4UVoLw1NKYpJbn4eg", "RiL2Qw", "setAttribute", "LN2", "OZICsbo-SNgaMq-KJEQike2R", "30W6TgiQ9jj1wlFg7w", "u6orhctXUA", "ylG_XgqQ9DXS-GI12u-UJCJ5BkBwIUVF", "FkPLOnH_mFXvu3Bd0IaZMQ9fFmpRNzQ", "PNRE7PxwGPllM4bhTQsRgg", "7Klk3dhhBv8fJbU", "HhvoFV2ojg", "0X25WB2J", "boolean", "LtEbuw", "WKQwj50fbbEFQteI", "Htk9g54IYoNYNpLVZDoB-w", "Et5vwdtTN9s", "DOMContentLoaded", "hasOwnProperty", "UuAR9_sRV-Y4K-fZ", "XMLHttpRequest", "KMM_gI8fZb9LEuOTP2BRpOGmqqM", "Tnc", "bOlG7vhvDPpWYOW1F3w_hMmLhZDk9NTIc3hi_k5WsNXBvyNuEZrik6fYGlr6nx_5NLM", "DV0", "parseInt", "frame", "ns9pxJZoXsFhRcq8Gx1noqzih8X3ga2AQhhDvVwmzbGx0DFFBoqJ2_jtLgPQ2S2ZZ_GoofHxrnmZZUPkBwoF70WY3dUMg5jVAfMcDrR2Rg", "fireEvent", "_HnfI3DizGHF4ilAwrTjUQlHYA", "KT6jBQuBlB-Zxlo", "gyM", "oiH_XHjOwGyEzlM", "AX7uCUTZnl3KiA", "wTk", "Bc8Fg85-HqM4Rg", "split", "yoFY8PFkFOY8ebLzSBYmwZrextS7tpuiajhnlFcT44CC-3wsXvD7xOSaRAO-wFOqK6yQh_ylqgyrRzv3dRhFzi3__-5BzO2zM8UwTNs9MnIxX4EvFEGo", "YspV8OdwDvBxO7LxQyBekaee", "yeJnz9lOLdttWYHzMQhkp7Xlkd7GqeGKQghl8kRvn77fgAV8epzrvOz5Mj6A_XvHFb2orsO4vy2eVBnqCTQG0USizbstnpCFRLtDMK0GSUYVKaU", "JmbkV17wt0H_yh9lsprDLityMg9WHjcQ2Q", "GyXSKW79knU", "TTXpWlqms16jhFU", "Ek2df0OlzzfuyDcq6KHKGw", "wot40NFENMYcWcKBLXVPp-iigrzV_7ffC08aqAMjpv_c3l5Rfs_M1LX4cmXDty32BdWiytP7wTHzSluBDlMj_kzV18hz9uPRVL9EL7xgUVgBPq9GRinIc293gC85mxxfhQ_HrDlUXGXYt419_mXRnXymBY4UjZQAgox1YkucbzAMIqMA3op3zPfpSgW7SdMOIEf8G7KJbpoeUwZh3jM", "3rBrh_JKQtoRaobcXw", "Uint32Array", "xakfrrQJerwqLsbwCXBM3KTN-euowb77OTIR2zsZ", "uwCrGxDX8A", "setPrototypeOf", "32WlIz674SGY", "PRTnBFXG12o", "KjPbPX3WhG64yg", "mukwmJkMfI5lUciENFY94u2t4YWL9riBWFEH1lxi14yAjicbWojD8__5KxWSj2f3M6T12MK18n_-DQu8aVIWuwSI-vx2_JSIW7RfC6t8Bgt-Z5UgESyRIVs8qC9w9UERxwTVshgXfCzDwdp6hw614SjgMs41k-pPiuIzWg_PNjVAafRIl80uzZnOWl6hWdISCQ", "FBPxB3eQ0lG5lFcussSJP29hSUM4", "oRioHRmb4xav30lR", "cototZga", "6wi2GU6WnDM", "s_l02JI", "zkuRd2yV", "SRCOPie3wy6fok4W3uCdVg", "getEntriesByType", "k8xUudFreKwXeOjTXBVW6e7mrL6J_vDfV0sW8jI", "8VX9SBv2", "wPYj9NVGSbd_c-3aQg", "AjDxVlDYtVSL2w", "AIc82owfMpcSZpiAZH9GqA", "FH6fGnHT", "N6cxkZoPaw", "5lzWMHrgimn-sHcE8uXcAwdKJmtUFVIi9quFQb3FcFUtQvrZxTAEV0NAjrJYOcU7nlYCHS4hTIgx8_0v6p-pQr8xO27eNTwstyetnWzS8rfYwmaA04N7qvnYeYWfFs6gYM0aDMbvwPoUNzC6QrNsZJsty3qddl7qGA3f0Pd9-dWwjg6qYWHfPDo9jKUOvSi26MJCj0cyzCu8m9_kIJorMO_9TXQjYNGHq0EBAOFgIAQ67yVorfw", "9", "yKwg75AzQb0Zaw", "i9NSsOdpDfQ", "P8wyxakYGoJhR9vDDwB756_7", "CQif", "getPrototypeOf", "6Yg33Jk", "D8N3nN4", "nPQ_n48h", "EAk", "_XCZPj-l", "HQ_SO23CmCq4sy1UtND5REkVVmEBSRo", "WNxjyuxJNvxjFtrTHy8f-w", "dI8KorQjQLYANOyeXGUJxt6YyfKt8MTlLX467mQbrOT04mY_ZKrU5cuaW1jqoFyGNNbJ7d2Z2V3AfX6BZmYvkGXBq9ZA8eH1INw1UdV6EWlwGI8HFF62Mmda6CNhxlcg-g76hVdaRDXHi_MckEX50g3HVZkWsawN2ZY9BniJFxw_A4tm-uQNiaqcE0nNevRzG3_cPI-reOY8ZUsmxxCp6EFYz5S6ogooIMWakA", "round", "IJBY7NNtbsc1aeM", "DvII3KE-K6F3V_LSODg", "WNcp2q8AH4twS8rgMgFJ9qfmnYLSjZ3rFQ", "csBKrOZ8ZPBtM_zpESto2aGFuaHdkeXlTmAI0CFU-bGPsnhRY7CAotiXVi7SlxijBf7KkKXEmBKyCQj7YxMoxCSCp8h2_f2oYJ5md69lJHwORbJ5aWu0Ww4B9wABkUo150Oy_1sR", "ZOMp5eMyKr8tdw", "1SmiRwqEhQmwzBMO-fPWPmA", "unescape", "OsUvxI0JIaJ8SsL5EQ", "F0-ZfniG-Cvb0g", "qchN5fNkdfRzJbi0YWl5xY_jipKSztyDMTh7zkk8q8mw9CY-SKblyd26bFG9zViSa6Tx0PqJsnD5fCvnd0lc", "console", "2CCiFAeRrwGL1FwIiIGcIGsMVkh9LjBnjZs", "any", "2-Fd4fB5MNVYIcOnKXlu5g", "pa5f-uk", "v7gi1pBAApU", "7NBT9fpiLfRXPLCvUi1Xm_0", "AJV1lNMtIA", "capture", "mZZoj9FkBNUPYcnS", "PDDJIGm19mval2c9mOKoBA", "AUyIZ2qSxjbc", "sn7_BmXasFTVkXoVy9DhKA", "dlDMOQ", "OVqKekWh7AbjyD8", "Jcc73YAYE4NoRcPcIRVZ6q7yj5HpgoH7DRBVl19nzt3rkQksEOiAofE", "fS6iD12j5w-mkU1U_e-UYXd3fWkSCBwZwJHnct3-QXpWGg", "bP43278AZIZcQ6TBcT4H_aCUg5TD6cSYGhc5", "yBKvAB-Khgy0lwdO2rXrSwZCEUFxRFov8OyEb5zWN2FvUpXqpHo", "domain", "7pZH", "enctype", "V9xZ8-lzGPlaaPaD", "F4Rszd1aKvklB9mZMQ", "XXug", "3nU", "Fl2uBgeS4hDKjwMUztDFejJvVGYNFBRb0Y_WZ8C1ejAHYu7FohZCCmEvgslTe_4dhj0gJ3Z8N-cJmNsDhMr1PpdXOnKkJE0MzyrO6B_l1cWYtj-4w91PncXHBPXhRsKcEv5xIfafpKoLE03SfclGTL1h7C2qA0bNHGu724sXyICtg2LKAkmhBhsXwJVzxUOL2f5mxGpWq03hxtawTbhQH9_KZ2F8ENC1jQRpacQWEnZfu2AYjcA", "VdAAtaU2", "\u202EsFaLMqzoh\u202D", "Y1A", "ogs", "hq9-5ZgqONQ8WeieMXFJs_3X", "pLshmIAUH6geWt3b", "characterSet", "gPsK4usmN_Y3euw", "substring", "jfs024VCHbx6XY_DZgt967A", "qhfNVCm3wl-lwkpRndOTABN6DhoPMGB5ooWHZYKOYg", "cp54poVT", "0r9nkdxUGsISX8WWaGRm_-KkhY-dg82aHhR-k0clmMo", "zQqCdQm-zjar6D8RtcvYWUEcWSkaZA", "cos", "U8Ma5K8gcrJOccHBXCM", "txfs", "-dMW7q9UPaNQVum1E2oKgYa4", "host|srflx|prflx|relay", "n8wukoIMJ5dRTg", "XDOpXFOUhwqr", "gNgWv6gvKo1Ac--7XA", "iWeOYSCx5Dk", "vtJdtv99JvhSZfjX", "LPInlrsfcoxXFcmtNUEH", "u22KMz-snCzruyUhiqrgUT8bTUJ5EXk0rA", "niTvUEHB", "NniIJyCLigvC4lE", "TRGVMy2koFS992p_qw", "-5YTu606K6oPKuuHRGMQwd6U-qiQq_qEf3F6u2xKsIvF7Xp9cZmE_86RVmnq4Q", "HOsH5b08I6FWZOjGMw", "2PYbmPFvEA", "ed0NrL0tUb5PeIbwUhQ3", "0es", "Ql-hKULplzzKtyQo", "GxOmRgCDnxmkjg", "p5MFv6QteYQ0fOPkCn8z3rbP8-it1b2DBigB1Q", "CvljrMxVZM8", "hhqPJR6yiw", "k90H_YE4U7VAdIX8ThU", "1ALcb1nwzXW-lhh8pg", "WjG3AhKU", "580x14oSGYliT9vRIyEV6Z20k53noN3eTQ8esw9y0uqolwU_MomrtdE", "02DyTlzbrl_lhR8e0sPtBjFrAVFD", "ZHekDy8", "xU-3C3Kv9hXniBdKlujGCi02Ij1N", "whGLLjmkhzGk4yl6ncvfSGwRNmwUYWYz7g", "AX7JaHH89nU", "RangeError", "ChayVAmyih6uwTAU5fo", "XUnXFVLUg0PapxkYupz6", "TVTyNEzO6AHZ3wFA", "5x31RA", "Km3oGQf_o0f6hlpvzs-yeWApXA80ahsJkIelPMOwGQ", "Qfd9m9FLU8daBNuBE1RE_6noj4j_veeHUAk2-h9rzcfN1AYvCMDxqKKofRnN9nWNeYOy4MzW3HzAUUyQQiIJ9AiondoylsqGRrJYXYNLE0Y5", "bMMG87k1NKdmdLCSNmRSkI3M_Pjv0di5NjINxitLsMyejWwKY7GE05TIHi3OnwOqUcKFlavixgSnTiulY1I41iyistUQ_PvxJPFoI7hc", "method", "3pMk", "SO1l0eJrRfpVeuT3Zw", "prototype", "jT2OdU6R", "jqkshJIFZpAmEsq4ekMv7P6u2pWM5aDJC0QnuQ8k1PWUy043Mdeh8K26e3LCtjCMXvbj5Yjz9GbVH1OmSHdPqEXcx98h2cTQAPcdP_sRVF8eYZtqenTRd1MzjSs0rGMA72zYonRJIQCM3JsyrU2uuybhd703nrFYpvEmaFacfDIcMq1C38Q2mMi2PVyvRc5bAhOjB-bXP8FGfi4I9T6nhFo675zQiDAHCPj7-C_SkuXaVMfXSQDL4o6vZzRYV79w8eOi5q7pT3XvMztTg6aTnS1mtV_SXzEFcQjfAXUrius78COARl54Z_uNImsvz2in2z8IUDGgkjExNHLbjmXwkTAIiUKSsk-gzot5F0ADVRmFZ_R13hKhQCKwP13NqpShDPzFsXX4kXWMVcT7IFA28W5ZO8LvH28xf7BK8loIkiN0Q4z7f0pYvgExWtom0fHqWYOjt1lWQxm-FBXsEK90glsrtay-qAaetaZoEtdxlqP2T-EOG_D-yq4Qm2neV-2p8oeOcIhoekhw6sKAI8V67PcHkh66tDY0Rh5u60ZFR6Z0UBa9FI1oNKCdgaFWdwqKcV-rNigDkd79jbevxggWcxkJJXdV2po0ZSQ-ssZ_JBeuOum8WKHhuM-OCBTRWHr4xKjnqL67ZRo6KoUfvecAtFIt-WevxVkJ_czts4qaSBWIcamFAAKe-6qFXxESOOafZMQTe7Uzww_2mbNY5quiAECwnDr43_IParSmnJ1rh24a27Gn4KCBlbNsIt1X6_GeuKSotEhsH_Ro5EJV9C2MP8724R8l1u63kV9eAyHTNlNApjwG-hIv5-hL9ca4xu6ObyIM9_D00gKzD5XZb0_WasBTVZtMZoe6ATm__eOSJRn0NEiQpx60_qT_KkyjuLRBGuydvzibCxFcBmGAwIOnPgBIgaTy0rURl3FDuxUGM5U6d-1L1wKFyloKRamHzDBjsZ5A0zsaT-LqUNw5NabQqU0I7oliwFAG6VIX25Vz63jk3gSUQzINu9uE5W55I_t8QIvkd4uDE-2-pN8qeyRRbKevgW5Qi1HSlx0hGQ8fyb_PXVQWfdGuCQ4_ortWJM3Op28Lgl3clLjAGTvO6o-QkkqS93pScb0d5QMOO8YmA62lCaItZiiE9P8g03rHD_r0vru3JBhkguwACvoQ42H0LAj5Exq0kF5fNzegYrJS_7f_KSU2-ksKVxRb5WbwbVVHWHM2g7iobYtnJ41IhvlrgwsB9g6jHJsMOwbruD3ggCfUPDnwN7V7YR0tGk9chjCwTwbW9eOQBAdQkEQGgdunhzQff6raC_2YB1gy8mMXe1zUbB_oYSEB2xG-SDoXaAhF4qXNtUVe6iS1cmJqpVqaEP3xCebTXjpHuy55HfU1YqCREQkzCF0IUuYQR8ayFxztr9yCatwLooZTFm7FTo3mzeM98j_VmNlINm6PqqZgDf6BVrTqNGWCFz3fzoEcBjHd2SGOxHLisCvqT_-9FmJ3c-Q5Bt3ecQALqbPTpoN7wKiiiUeXHmuzuK3jfs7ueOUJZYzk-JjALleTPXPUAwUDRalCY8VTcRLZSoW0jC7QFu4jr95Oujke3XZQeKWoQJq1L-TcS0uerxVN3KsdWthxqKqR0ZpXsoAT3m-WjGy-ixYAf12PAD86tFPGrfw199RIvnIa_o-spwLsnFOBjKrwJQ55cw", "wwqDIwmunQ", "h3eVIzqwlhXO9TY-4rPET0ABUSx5", "sZBrk8tS", "0cZkn95FFc0", "vUG8DFre8ALlzSxqkO8", "cKI_3IQJFNJhTdmNXX8sqLP3xJLnne3He0AM8BU-1uvV_GlwffvyiIGmYz_nsjvOc7Xp47ObiDaLIEnZR18A", "assign", "ceil", "addEventListener", "t8dSufJiOuxsdrGkAw460JfE9_fRhvHGcg", "close", "SN9qnvVFKdoPKvKdUFNG", "xXC6SBGZmRPLlQ", "aO8inIseUZpxUIzOVRkovrW1", "WkGtCAiX1RLtjk0xtJbXZj9zK3Y8cmITmg", "Kk-8FBWA8ALChRNwq6e4NS9kPgBWMnca2pL4XZjqXREDEp_91UJ7J3ppqqQdUqdEhyk-AR8qJawxiIlxn6Sefpo4UBTxDgwY0SHCrj-B09qI83_9o7wAk8TqXOHQObnXOL8JdKutts4FOAzrfIdKLvw2oG7mSG68MTn_t4t46-vN-EnVBRPhSxlg4rg4jQSK2c4yw3ZQulfUmrnRPe9DE4PrJXhFUufQ2yktJ8tFXGw-wx4Gg-ReOFl4tOWOiFvnOTp9O0p-lqQl16yHVGl3CPO_f4I2yurcpdUJ3azhbnzwLfddnZKc8idU7rbkXqw3XLqewtU3S_ng0OUCX68UBOrfXpFDZJBEWUXw89fahNNh8i6iCcFwlv1UqJUUdUlFmyUUe5FvS6JbhhUt_7ShOaSI4B8LirPgtW2RPsuZ", "FSH0IwKR7WWnuzs4rsjRaRskQjMpL19Z9rH5KajxbQ", "dTLbZ06Kng", "Vni1DACTowa4zAwV_4aufXk4cgZGJCUBm4M", "dVuRMSO32D7c6A", "HG3tHhvAwg", "ByuQdS-z8A", "I0-MfnGY-w", "UJBE6cR0cMQ", "wZxGobhBFQ", "HtsmnoMHEpxWFpQ", "pSjxX3jf1X6ujg9xrKLWVSxqWX0oY2k", "description", "GAWqAhSD4BaLzBtG77igPTB9OltcGCdSg5HpSYy_ClVbUvL1x0xAHWIm9sVJUbAZrHcuGCwqIqIj1NBgvLyLedddLRLrKEpTjm6ZykXhxMultkLhirc", "c8ADqr8mULBTfKjq", "writable", "getItem", "X_43kawUaapmTJk", "6LZ6x-RNCMQAQNE", "S-Y-z40XY5JVSg", "FBTaMCPdv22RjA", "9PlHqQ", "TwX9QV3Nzn38nEsw5Q", "izU", "fJgujYobZQ", "JkfuVUzGt0P401cdmfLJJVk", "sbwGquIgSak", "u982g44rdpROFYfS", "performance", "\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67\uDB40\uDC7F", "xj63QgiBgXQ", "Reflect", "b5oZp7BybIYzZrg", "6Z0slY4f", "Array", "svg", "KmGKfQ", "awj6SUPQvFSs3BdP4IiTeDl8", "uKApxKsKQoIbCIOsI3F4hQ", "bcEarrQvOw", "NkjDMmLBr3rrglB99w", "4fIPtI84RLpNJpvfEg8", "94ZmishKE8E3", "Xbg5z5hoAw", "DM1l0tFHXdJQ", "h4Zqz89QEtU5WJPDOE8ar_iq_Lv8rbqIVhpOino11uw", "2C-tUBKd", "6W2NZi6kpivfyW5zgJiqVw", "30q6AwaU", "0KsXsK86A64j", "Ef5-pdhXb8NbU4U", "jNo-0Mw", "dvoL4KdWN6JLfe-oGWYRh5-ysrfT3qKwH2Ek9gQc--LypVJwaYmCr_GYAXS4qF68c_HVn9SE_ibHBV-vezo9n0aOtg", "gDfEbG34iHqg5X49kcnzGFQSJQl2Ww9_seKTVLbaGlhuPcWl_SAtODkN2eEyFp59whdKUAclHtd3tf4kqeSkJ6R-bVDYd2t1u0C3k13TgO_sw0385aUh2eWFMZ2cJaH9boY1ON7sz9xsYiOQSeNr", "N_Id-7U1Xw", "umGffzij-ALYpDsKg7L1cwVK", "(?:)", "6TDRNynflSnR5h8SpbbHAg", "fRirGg2X2yC29jxW1oiYAQ1M", "k2L6SEzO60XD8U9Iwuq4PiApWBpgFUcMtYU", "3FOfExKP9w", "kvtI3LchB8Z6Go-haE96isOppOrck4OeI1MnozskxA", "F_Ef-KURFqF8R8X4CRU", "n81Pr_x9ENZqJefGOioArJXC", "YM488ZwXPo13ROn5", "RQKdJDWi2xC0", "IgnwA0DIiFiK", "_DnzTEvPommGww5H7rvdfDxZNGE", "3NZvjdcMWN8QU5mSYG985rnpgtbYwJ_ACE8FkQ", "JSON", "cCSDPiqrhj2q83pgk6i6GwMKf3JHCQ8", "fromCharCode", "YWugQhqHjxHz6ElQuorK", "jsYXsLstQpVjMqI", "setTimeout", "5-cK--Q3W79ea_6a", "jasZjON2", "4mWjNGXG", "w17UYXzc0Hr8oz080g", "TmzIdADNhmT3s1A19ZGABQ", "x98", "arguments", "yYsO56o7", "DLpH--pWRw", "gK8Zgg", "iqUoyZ4Ze5VDT4n4Gw", "Pq8JrPYZWeEFOf3JP0MnkM-Muq6ih6e6Iz1mzx1Asv-d9no8S6GXp7jVEGqi4BHlRuiBgdTXpguGdyP4", "MNc80a4kaoFJ", "Y5MQ8uwbVq8E", "u80LubgeW6lSfdO4MHAI4A", "UTiaaiCotiCb7i8uysD2", "8ZlK8w", "value", "KivxRF-x327QiDE", "VUDaf2j1pH3ouStxv_ToXxR-B1FORlJN9ui1ApnzZRl-Mvo", "D-441NMJcopqS_LiYBV1", "EyClDRuMnRyI3F4o9-zVJnowPnFnLhYUnM6PNpKlDDRtQd2WwE17PXhs4uBRC_hb000kag1lRK5LopQgxbC_", "WH-QEQi20DHV", "cAaMaiC6ojar9T0g3eWzH1I_J3MIVCQ5rfL3RtfXO2w2OPDjpSxRZyxawA", "2dAmlYgALqd0ILOz", "filter", "fU0", "Zq583tYeQtdMF9yFdlMBpvM", "OAzZDi-8sk23yR9Usu77RA1BVVEvW0Qp69_WM8fDHA", "tcgtnpMHd4RPHOiFMlh8pvo", "wt16wfBNc9JSLZg", "fMkbqw", "ud1Xreh0MOg", "IGO6EhOGhAHVmE0Fv8-DM1dnaw8JIRIOjofREtboTAMRO-qDxgRgJn9mqqdrXbZV-zEzGA", "wZoft6E2VaM-ef_4OxdH1unN9qO89d3yAigkjT5D9piUrTxtH9bN4sj0QSL5p13BHIzvuN-azUHqL27SNA", "tagName", "70", "Uxz3VU-1gg", "_G-CMSE", "Ozq8XheQ7RKj3VUWiNOJPnVvWVI"];
    var P = bC(null);
    var bv = [[[7, 130], [5, 152], [5, 138], [7, 153], [8, 95], [9, 96], [1, 98], [0, 204], [8, 203], [1, 39], [1, 179], [4, 135], [3, 230], [0, 18], [7, 67], [4, 45], [5, 232], [0, 83], [8, 176], [8, 162], [5, 168], [9, 74], [4, 151], [0, 129], [8, 202], [3, 124], [6, 87], [1, 191], [2, 27], [6, 145], [4, 1], [4, 106], [8, 196], [5, 81], [7, 215], [0, 21], [6, 136], [3, 17], [0, 158], [2, 123], [2, 26], [3, 221], [2, 37], [9, 111], [6, 6], [6, 128], [0, 133], [6, 46], [9, 34], [1, 121], [4, 97], [9, 73], [2, 156], [4, 223], [1, 94], [6, 36], [0, 14], [1, 190], [3, 12], [7, 224], [4, 163], [6, 60], [5, 137], [0, 197], [6, 53], [7, 99], [0, 207], [1, 155], [8, 126], [8, 201], [7, 72], [3, 131], [0, 55], [7, 28], [2, 32], [5, 157], [2, 167], [8, 40], [7, 103], [7, 172], [8, 119], [6, 142], [5, 102], [2, 141], [3, 192], [1, 85], [4, 52], [2, 93], [8, 100], [2, 54], [1, 118], [0, 19], [4, 31], [4, 23], [6, 189], [2, 182], [3, 105], [5, 38], [3, 86], [0, 226], [5, 113], [3, 57], [9, 174], [1, 177], [7, 13], [6, 82], [8, 214], [3, 44], [4, 109], [0, 175], [0, 51], [4, 71], [2, 78], [5, 132], [9, 187], [7, 199], [5, 30], [2, 112], [7, 0], [6, 222], [8, 90], [5, 209], [9, 180], [9, 198], [2, 195], [9, 178], [9, 62], [5, 148], [9, 8], [9, 146], [1, 233], [1, 48], [3, 183], [5, 3], [7, 186], [5, 114], [3, 143], [4, 218], [9, 219], [5, 169], [8, 79], [5, 194], [9, 213], [5, 104], [9, 76], [9, 9], [4, 58], [2, 140], [0, 16], [6, 64], [4, 117], [7, 20], [5, 88], [3, 80], [0, 69], [3, 91], [4, 75], [2, 173], [6, 41], [8, 68], [2, 147], [9, 127], [6, 170], [5, 116], [8, 184], [2, 4], [2, 101], [8, 115], [4, 234], [5, 33], [3, 11], [3, 188], [0, 217], [9, 7], [7, 108], [1, 22], [5, 125], [0, 63], [5, 35], [0, 122], [8, 161], [3, 107], [9, 227], [2, 139], [0, 24], [5, 43], [1, 166], [4, 164], [7, 159], [0, 144], [4, 50], [6, 200], [6, 47], [8, 229], [0, 160], [9, 25], [2, 15], [8, 165], [6, 84], [7, 220], [2, 235], [7, 236], [2, 89], [4, 2], [0, 210], [7, 42], [1, 66], [9, 77], [7, 70], [2, 208], [6, 205], [0, 134], [6, 211], [4, 181], [7, 206], [3, 49], [4, 10], [2, 193], [1, 110], [5, 171], [1, 150], [1, 92], [7, 5], [8, 231], [9, 154], [4, 185], [4, 216], [3, 56], [7, 65], [7, 225], [8, 149], [3, 120], [1, 29], [0, 61], [2, 212], [2, 228], [8, 59]], [[5, 123], [1, 101], [2, 204], [5, 99], [8, 18], [9, 33], [5, 235], [2, 53], [4, 136], [3, 37], [2, 180], [5, 95], [8, 228], [0, 195], [7, 19], [0, 197], [9, 154], [5, 108], [2, 80], [8, 143], [1, 21], [0, 146], [9, 213], [4, 224], [8, 49], [7, 55], [1, 200], [2, 111], [9, 185], [9, 207], [9, 10], [2, 189], [6, 209], [2, 8], [6, 97], [1, 54], [2, 102], [8, 104], [7, 175], [0, 126], [6, 226], [6, 1], [1, 116], [4, 177], [1, 113], [6, 115], [5, 170], [2, 129], [6, 73], [9, 69], [8, 75], [4, 140], [0, 118], [0, 51], [5, 94], [6, 157], [7, 9], [7, 201], [7, 120], [1, 196], [8, 20], [3, 68], [2, 65], [8, 150], [9, 42], [7, 133], [6, 71], [9, 3], [6, 173], [7, 142], [4, 199], [4, 2], [9, 17], [6, 208], [8, 128], [6, 176], [7, 149], [6, 45], [9, 220], [0, 211], [0, 16], [0, 89], [4, 109], [1, 192], [8, 141], [5, 172], [9, 131], [1, 158], [7, 214], [2, 182], [5, 218], [9, 11], [5, 28], [0, 162], [8, 56], [2, 183], [6, 76], [5, 160], [5, 236], [7, 174], [6, 127], [5, 181], [8, 92], [4, 29], [6, 50], [7, 107], [5, 184], [9, 36], [3, 103], [8, 13], [5, 84], [2, 198], [8, 5], [4, 40], [7, 161], [9, 151], [0, 93], [4, 58], [1, 152], [0, 46], [7, 39], [4, 79], [0, 88], [5, 125], [8, 52], [7, 145], [0, 44], [3, 164], [6, 30], [6, 186], [7, 82], [1, 67], [9, 179], [8, 167], [6, 231], [2, 35], [6, 163], [9, 100], [3, 191], [1, 38], [2, 6], [2, 12], [3, 0], [4, 78], [0, 22], [0, 138], [4, 156], [1, 23], [9, 90], [3, 110], [7, 187], [2, 4], [8, 105], [6, 112], [7, 25], [6, 32], [8, 221], [0, 14], [5, 27], [6, 132], [5, 81], [2, 43], [9, 63], [7, 72], [0, 91], [3, 139], [4, 119], [2, 34], [7, 31], [9, 165], [4, 96], [3, 190], [4, 193], [7, 85], [2, 148], [2, 232], [4, 210], [1, 134], [3, 202], [7, 223], [9, 15], [5, 7], [0, 234], [2, 178], [4, 229], [8, 215], [4, 225], [6, 217], [4, 166], [4, 57], [0, 26], [3, 168], [2, 59], [3, 62], [8, 24], [9, 206], [4, 144], [4, 216], [5, 171], [7, 155], [4, 212], [5, 98], [5, 70], [4, 60], [2, 137], [1, 106], [7, 77], [2, 219], [1, 159], [0, 222], [1, 147], [2, 41], [4, 203], [6, 135], [1, 169], [5, 227], [5, 188], [9, 66], [3, 47], [0, 153], [3, 124], [9, 83], [5, 122], [4, 117], [9, 114], [1, 205], [4, 87], [8, 121], [9, 233], [6, 64], [2, 194], [4, 74], [3, 48], [8, 130], [7, 230], [7, 86], [7, 61]], [[9, 101], [9, 126], [4, 103], [1, 224], [6, 135], [5, 4], [3, 159], [0, 58], [4, 13], [2, 26], [8, 55], [1, 196], [5, 147], [3, 132], [3, 77], [7, 160], [3, 44], [5, 27], [7, 218], [4, 93], [4, 62], [5, 162], [5, 228], [9, 60], [4, 206], [1, 170], [9, 168], [4, 203], [2, 105], [5, 180], [8, 110], [9, 5], [4, 176], [1, 171], [0, 138], [4, 129], [3, 56], [2, 63], [3, 212], [8, 102], [6, 230], [4, 142], [1, 12], [9, 178], [6, 215], [2, 141], [3, 66], [9, 219], [9, 97], [7, 182], [0, 29], [4, 52], [5, 120], [3, 190], [3, 30], [5, 46], [1, 232], [4, 122], [1, 31], [2, 143], [8, 3], [2, 25], [2, 47], [6, 94], [6, 191], [5, 87], [4, 211], [9, 209], [7, 157], [8, 187], [6, 70], [1, 112], [3, 169], [9, 233], [1, 118], [6, 226], [7, 0], [4, 201], [8, 164], [1, 40], [4, 221], [9, 234], [5, 9], [4, 67], [8, 28], [3, 223], [9, 98], [5, 156], [4, 109], [9, 50], [0, 174], [1, 134], [3, 116], [4, 140], [1, 23], [2, 186], [4, 227], [4, 57], [1, 210], [1, 222], [7, 76], [6, 148], [0, 85], [8, 48], [3, 36], [4, 123], [4, 14], [6, 75], [5, 96], [7, 202], [6, 177], [3, 125], [8, 61], [6, 124], [1, 165], [7, 175], [0, 2], [3, 217], [0, 179], [4, 53], [9, 45], [3, 39], [3, 181], [6, 198], [3, 65], [9, 71], [3, 214], [0, 192], [4, 38], [7, 73], [0, 185], [3, 69], [4, 199], [3, 91], [1, 78], [7, 43], [1, 197], [9, 19], [5, 32], [4, 89], [3, 49], [2, 81], [0, 216], [0, 150], [1, 204], [5, 106], [2, 208], [5, 133], [3, 17], [0, 68], [4, 131], [3, 144], [1, 37], [0, 149], [3, 213], [5, 114], [6, 35], [0, 64], [8, 108], [7, 229], [2, 107], [2, 167], [2, 83], [2, 183], [3, 54], [4, 117], [9, 79], [4, 155], [9, 235], [2, 104], [7, 115], [6, 146], [5, 154], [3, 205], [7, 8], [1, 121], [4, 163], [9, 139], [8, 18], [0, 24], [6, 84], [4, 74], [8, 95], [5, 119], [4, 99], [3, 90], [9, 172], [5, 236], [8, 51], [5, 10], [4, 7], [6, 1], [7, 130], [5, 113], [6, 200], [0, 15], [5, 151], [8, 100], [9, 21], [7, 59], [1, 152], [4, 20], [9, 86], [4, 80], [8, 153], [3, 34], [5, 82], [2, 193], [1, 22], [0, 72], [6, 220], [1, 136], [2, 137], [0, 6], [4, 231], [1, 195], [0, 184], [3, 207], [1, 158], [3, 145], [6, 33], [7, 173], [0, 111], [9, 161], [9, 127], [5, 225], [3, 92], [2, 42], [4, 128], [9, 194], [5, 188], [5, 16], [6, 189], [0, 166], [4, 41], [9, 88], [8, 11]], [[5, 231], [7, 205], [6, 140], [8, 208], [5, 2], [8, 93], [0, 92], [1, 100], [9, 12], [7, 99], [3, 150], [0, 194], [2, 190], [9, 172], [9, 236], [0, 198], [9, 177], [0, 68], [1, 25], [3, 35], [0, 185], [0, 30], [4, 226], [1, 37], [2, 143], [3, 28], [3, 87], [1, 207], [6, 123], [0, 214], [4, 176], [7, 58], [6, 22], [4, 26], [1, 50], [9, 166], [4, 4], [9, 86], [8, 31], [2, 14], [9, 76], [1, 141], [3, 129], [8, 154], [0, 72], [0, 47], [3, 165], [5, 136], [7, 164], [2, 57], [4, 34], [9, 39], [6, 203], [7, 10], [9, 151], [0, 46], [8, 43], [5, 183], [5, 144], [2, 223], [2, 77], [1, 192], [8, 232], [9, 91], [6, 159], [7, 75], [5, 157], [7, 63], [4, 51], [5, 174], [6, 84], [5, 114], [0, 112], [3, 228], [3, 119], [5, 64], [6, 17], [3, 36], [9, 216], [6, 111], [3, 3], [4, 103], [3, 131], [3, 54], [4, 69], [9, 218], [5, 156], [1, 127], [6, 20], [6, 213], [6, 169], [3, 210], [1, 52], [1, 212], [3, 235], [4, 149], [7, 146], [0, 13], [9, 94], [9, 21], [4, 60], [2, 90], [0, 1], [1, 132], [9, 187], [4, 48], [4, 122], [5, 55], [5, 121], [4, 116], [5, 82], [8, 33], [8, 160], [8, 128], [8, 118], [3, 178], [8, 126], [0, 88], [1, 40], [5, 200], [9, 53], [4, 221], [6, 95], [0, 168], [1, 71], [3, 16], [7, 163], [3, 45], [6, 78], [6, 8], [8, 191], [0, 85], [3, 115], [8, 193], [0, 117], [2, 162], [1, 182], [1, 65], [7, 224], [9, 158], [1, 74], [8, 134], [6, 199], [4, 102], [9, 167], [0, 153], [5, 139], [2, 148], [2, 67], [0, 11], [3, 38], [5, 220], [9, 113], [0, 186], [6, 196], [8, 89], [7, 137], [2, 152], [6, 79], [1, 105], [5, 6], [4, 180], [1, 24], [7, 181], [9, 107], [6, 19], [4, 147], [0, 61], [6, 66], [1, 145], [1, 120], [5, 110], [2, 170], [3, 175], [5, 15], [2, 56], [4, 83], [2, 204], [1, 179], [8, 233], [5, 73], [0, 97], [1, 70], [2, 227], [1, 62], [0, 142], [7, 206], [0, 18], [3, 189], [4, 130], [7, 217], [9, 155], [3, 222], [7, 211], [9, 125], [7, 133], [7, 135], [4, 23], [3, 44], [7, 32], [8, 49], [0, 124], [6, 81], [7, 80], [7, 98], [6, 230], [2, 184], [4, 0], [0, 171], [9, 5], [2, 138], [0, 27], [6, 219], [2, 209], [2, 197], [9, 229], [9, 225], [3, 202], [7, 215], [6, 161], [9, 29], [4, 109], [1, 41], [7, 7], [6, 108], [1, 104], [4, 59], [5, 173], [6, 195], [5, 234], [8, 9], [6, 96], [8, 106], [4, 201], [6, 188], [3, 101], [6, 42]], [[8, 181], [8, 38], [2, 10], [5, 211], [8, 212], [8, 199], [8, 175], [5, 182], [1, 86], [5, 207], [2, 101], [0, 208], [9, 146], [3, 33], [2, 156], [4, 88], [6, 142], [4, 104], [3, 25], [9, 126], [0, 177], [7, 97], [7, 17], [2, 18], [4, 41], [7, 92], [0, 209], [5, 13], [2, 234], [8, 131], [5, 143], [2, 72], [5, 76], [5, 47], [1, 179], [0, 118], [3, 37], [1, 123], [5, 216], [6, 83], [7, 21], [7, 226], [5, 160], [9, 217], [0, 107], [1, 163], [6, 120], [6, 149], [7, 205], [5, 31], [6, 87], [0, 109], [3, 0], [1, 140], [2, 89], [1, 3], [6, 82], [4, 193], [5, 153], [2, 85], [3, 49], [2, 5], [9, 16], [2, 100], [5, 57], [9, 75], [8, 141], [1, 95], [0, 228], [3, 214], [6, 229], [4, 63], [0, 53], [3, 233], [5, 198], [3, 6], [0, 84], [4, 99], [0, 197], [8, 166], [6, 40], [3, 222], [1, 78], [9, 111], [4, 19], [9, 223], [1, 105], [3, 56], [5, 34], [5, 204], [1, 1], [4, 173], [0, 145], [2, 30], [5, 8], [6, 46], [8, 61], [3, 115], [9, 133], [6, 189], [6, 132], [1, 202], [3, 231], [9, 12], [0, 121], [7, 103], [7, 39], [3, 125], [2, 167], [7, 58], [4, 15], [1, 32], [0, 227], [2, 135], [5, 159], [2, 67], [1, 98], [0, 9], [2, 60], [8, 117], [6, 147], [5, 188], [2, 194], [2, 235], [3, 190], [7, 183], [1, 110], [1, 170], [7, 195], [6, 225], [7, 122], [5, 134], [4, 138], [0, 4], [2, 91], [1, 230], [2, 54], [4, 144], [2, 169], [9, 124], [0, 50], [5, 203], [8, 62], [9, 70], [7, 150], [7, 155], [6, 174], [5, 80], [6, 158], [9, 213], [6, 23], [6, 44], [5, 148], [8, 108], [5, 45], [2, 220], [2, 171], [2, 36], [1, 236], [3, 94], [9, 26], [8, 64], [8, 29], [7, 24], [9, 157], [3, 224], [8, 77], [5, 65], [4, 161], [6, 51], [3, 191], [9, 128], [2, 139], [1, 116], [1, 2], [3, 52], [7, 48], [7, 210], [6, 14], [4, 69], [1, 184], [5, 151], [5, 20], [9, 73], [7, 74], [8, 186], [2, 114], [0, 96], [9, 168], [0, 59], [6, 106], [1, 66], [9, 71], [0, 35], [0, 136], [8, 42], [0, 206], [0, 27], [5, 176], [4, 127], [7, 165], [4, 113], [4, 154], [5, 164], [4, 232], [0, 201], [7, 196], [5, 162], [5, 130], [1, 185], [3, 172], [1, 129], [4, 112], [3, 200], [4, 81], [4, 102], [3, 119], [0, 93], [9, 68], [0, 178], [0, 137], [7, 192], [5, 79], [5, 218], [8, 7], [2, 187], [3, 90], [1, 55], [5, 11], [9, 219], [7, 28], [2, 215], [6, 43], [1, 22], [0, 221], [8, 152], [1, 180]], [[0, 93], [3, 116], [2, 228], [3, 185], [5, 109], [8, 32], [9, 67], [4, 132], [3, 151], [0, 203], [7, 214], [7, 182], [0, 211], [3, 99], [3, 235], [4, 232], [9, 76], [1, 97], [4, 198], [8, 24], [4, 118], [6, 17], [1, 5], [1, 60], [1, 173], [3, 92], [5, 106], [9, 129], [5, 153], [3, 166], [8, 162], [1, 71], [9, 170], [9, 20], [6, 59], [9, 70], [6, 82], [7, 194], [1, 89], [6, 87], [3, 225], [8, 234], [1, 48], [7, 98], [7, 131], [9, 186], [7, 81], [7, 135], [9, 192], [0, 123], [3, 21], [4, 155], [2, 183], [9, 104], [4, 35], [1, 18], [9, 229], [6, 107], [9, 179], [6, 206], [2, 161], [2, 69], [1, 16], [0, 201], [5, 64], [1, 22], [7, 45], [3, 3], [9, 2], [5, 62], [4, 212], [4, 147], [5, 102], [1, 199], [0, 39], [8, 168], [3, 110], [2, 15], [4, 78], [4, 111], [2, 149], [5, 139], [5, 210], [8, 41], [7, 58], [5, 120], [8, 19], [7, 13], [3, 233], [3, 213], [5, 38], [6, 189], [6, 180], [2, 191], [2, 84], [3, 56], [6, 144], [6, 57], [2, 114], [7, 108], [4, 224], [8, 145], [3, 128], [5, 157], [3, 1], [8, 172], [8, 73], [3, 29], [3, 83], [6, 226], [3, 103], [7, 94], [0, 49], [8, 160], [4, 122], [0, 86], [5, 195], [4, 204], [7, 127], [9, 101], [8, 174], [4, 219], [2, 33], [5, 184], [0, 220], [3, 0], [8, 223], [7, 227], [1, 12], [2, 65], [6, 146], [8, 197], [5, 217], [9, 66], [8, 88], [8, 137], [7, 156], [8, 112], [1, 113], [1, 8], [4, 42], [2, 159], [3, 90], [5, 72], [0, 75], [3, 14], [1, 40], [9, 23], [4, 200], [9, 31], [2, 74], [3, 9], [1, 222], [8, 7], [7, 54], [0, 26], [7, 202], [1, 169], [2, 230], [6, 207], [9, 164], [9, 125], [3, 11], [2, 51], [1, 175], [8, 236], [1, 141], [7, 126], [6, 142], [4, 165], [0, 47], [4, 52], [8, 148], [7, 105], [8, 167], [2, 4], [7, 190], [1, 117], [1, 77], [3, 181], [8, 43], [5, 150], [7, 63], [8, 136], [6, 130], [5, 96], [1, 158], [0, 187], [2, 30], [3, 205], [4, 50], [9, 61], [3, 178], [8, 34], [4, 143], [4, 68], [3, 53], [1, 163], [6, 221], [9, 134], [6, 176], [1, 140], [8, 152], [0, 218], [0, 119], [4, 231], [7, 6], [1, 44], [5, 28], [6, 25], [7, 121], [3, 216], [6, 91], [3, 124], [4, 80], [3, 138], [3, 10], [4, 133], [8, 154], [4, 177], [4, 193], [7, 215], [4, 196], [0, 95], [6, 208], [0, 209], [4, 46], [7, 188], [3, 79], [9, 115], [3, 100], [9, 55], [2, 171], [6, 37], [6, 36], [7, 85], [2, 27]], [[2, 213], [8, 145], [0, 146], [9, 174], [5, 70], [6, 132], [6, 10], [3, 100], [3, 148], [3, 25], [2, 136], [5, 225], [2, 131], [8, 235], [4, 99], [8, 2], [2, 160], [7, 81], [1, 161], [8, 30], [9, 184], [8, 224], [8, 142], [7, 124], [8, 22], [6, 80], [9, 17], [5, 59], [4, 11], [7, 151], [5, 94], [2, 155], [4, 9], [5, 172], [2, 47], [0, 220], [6, 108], [2, 31], [4, 141], [2, 16], [5, 196], [4, 197], [4, 169], [5, 195], [3, 4], [1, 221], [7, 83], [4, 32], [4, 111], [4, 71], [1, 167], [1, 60], [2, 137], [0, 35], [1, 214], [9, 76], [6, 20], [5, 77], [3, 14], [4, 153], [8, 89], [7, 29], [0, 54], [2, 227], [2, 0], [3, 199], [0, 102], [8, 96], [8, 156], [3, 68], [8, 19], [0, 1], [3, 158], [8, 165], [3, 13], [4, 91], [0, 210], [1, 101], [7, 188], [6, 69], [2, 37], [8, 203], [2, 90], [8, 67], [5, 232], [8, 170], [0, 205], [2, 234], [2, 206], [7, 177], [8, 202], [4, 117], [4, 65], [9, 182], [2, 230], [0, 223], [0, 194], [4, 191], [9, 103], [2, 140], [1, 209], [4, 12], [1, 50], [8, 3], [4, 44], [2, 179], [2, 36], [5, 74], [4, 201], [7, 154], [4, 204], [8, 176], [5, 39], [0, 73], [1, 51], [3, 164], [3, 226], [1, 95], [2, 52], [2, 126], [4, 236], [2, 86], [0, 150], [5, 198], [0, 138], [5, 186], [1, 134], [7, 49], [5, 173], [3, 135], [2, 5], [2, 152], [3, 40], [0, 208], [4, 109], [8, 217], [9, 180], [3, 119], [4, 159], [3, 116], [4, 75], [2, 34], [0, 115], [6, 6], [0, 48], [2, 8], [7, 93], [5, 211], [9, 133], [3, 63], [5, 200], [2, 228], [8, 181], [3, 21], [3, 88], [7, 64], [0, 28], [1, 139], [7, 42], [8, 233], [3, 149], [8, 84], [8, 53], [4, 38], [5, 33], [1, 23], [7, 107], [4, 61], [1, 26], [0, 92], [3, 143], [9, 187], [8, 66], [2, 178], [6, 27], [1, 128], [5, 45], [2, 56], [1, 72], [6, 190], [7, 212], [1, 55], [4, 207], [6, 168], [5, 15], [5, 87], [9, 62], [6, 127], [3, 85], [0, 98], [4, 218], [0, 118], [3, 157], [6, 222], [0, 114], [4, 229], [4, 43], [0, 97], [7, 125], [0, 144], [7, 112], [1, 163], [2, 183], [9, 166], [1, 171], [0, 192], [8, 162], [3, 110], [1, 105], [5, 219], [5, 79], [9, 123], [7, 82], [6, 78], [3, 41], [6, 189], [6, 129], [6, 113], [1, 7], [4, 231], [6, 175], [7, 120], [7, 122], [7, 121], [9, 106], [7, 193], [6, 147], [2, 104], [2, 46], [6, 18], [1, 130], [7, 57], [8, 216], [0, 58], [8, 24], [1, 215], [1, 185]], [[9, 70], [6, 111], [8, 27], [6, 107], [2, 110], [5, 202], [4, 6], [5, 26], [1, 186], [4, 96], [8, 113], [9, 224], [4, 228], [2, 121], [2, 160], [9, 232], [7, 185], [1, 15], [9, 221], [7, 166], [4, 231], [2, 193], [3, 147], [3, 154], [8, 201], [0, 88], [4, 125], [0, 72], [7, 19], [1, 163], [6, 8], [3, 89], [9, 174], [9, 175], [3, 152], [0, 29], [9, 44], [7, 80], [5, 222], [3, 199], [4, 2], [9, 207], [4, 198], [3, 49], [9, 21], [5, 191], [9, 52], [6, 208], [0, 223], [1, 170], [5, 117], [1, 16], [3, 47], [9, 114], [9, 91], [1, 25], [1, 134], [1, 211], [9, 65], [3, 4], [9, 156], [0, 213], [7, 176], [8, 218], [2, 1], [0, 32], [6, 33], [5, 171], [9, 92], [5, 31], [9, 203], [2, 40], [8, 178], [6, 73], [1, 141], [2, 187], [7, 83], [0, 119], [2, 55], [6, 3], [2, 177], [5, 137], [6, 10], [3, 210], [6, 45], [5, 61], [2, 34], [1, 167], [0, 67], [6, 69], [3, 23], [8, 135], [3, 63], [3, 74], [4, 116], [1, 140], [9, 59], [8, 226], [6, 138], [0, 172], [6, 60], [2, 62], [0, 20], [5, 233], [5, 143], [0, 102], [2, 48], [9, 132], [3, 184], [6, 24], [3, 81], [8, 36], [5, 164], [6, 75], [4, 41], [1, 126], [4, 214], [4, 136], [3, 13], [6, 148], [4, 58], [9, 85], [9, 17], [6, 100], [6, 209], [8, 109], [8, 234], [5, 82], [5, 42], [3, 50], [5, 7], [0, 101], [4, 162], [0, 131], [7, 53], [4, 159], [9, 115], [5, 11], [2, 98], [8, 12], [1, 66], [0, 225], [4, 46], [4, 146], [2, 99], [7, 43], [6, 145], [7, 71], [6, 165], [8, 68], [3, 157], [3, 150], [1, 77], [3, 236], [3, 30], [3, 0], [6, 168], [9, 227], [6, 200], [7, 235], [0, 128], [1, 90], [4, 204], [0, 22], [8, 181], [9, 169], [1, 86], [0, 215], [7, 123], [2, 188], [5, 212], [9, 139], [0, 9], [5, 54], [9, 229], [0, 130], [5, 182], [1, 142], [7, 14], [7, 127], [8, 205], [2, 87], [7, 95], [1, 192], [8, 220], [0, 161], [7, 155], [8, 39], [6, 78], [2, 194], [2, 105], [7, 124], [9, 37], [2, 51], [5, 129], [8, 189], [8, 183], [5, 112], [0, 151], [6, 219], [6, 195], [8, 180], [0, 120], [2, 158], [5, 122], [2, 93], [7, 196], [2, 206], [4, 173], [3, 38], [4, 106], [4, 94], [5, 84], [0, 35], [0, 56], [2, 76], [7, 57], [0, 64], [9, 103], [4, 153], [7, 216], [3, 133], [2, 97], [1, 197], [3, 5], [2, 149], [0, 108], [9, 118], [2, 217], [5, 144], [4, 28], [7, 18], [7, 104], [3, 79], [3, 230], [0, 179], [6, 190]], [[7, 135], [7, 64], [1, 171], [9, 109], [2, 216], [9, 86], [8, 122], [1, 14], [3, 4], [0, 191], [6, 96], [2, 165], [8, 33], [1, 2], [5, 72], [5, 234], [1, 37], [1, 28], [0, 183], [3, 62], [3, 20], [9, 213], [0, 71], [2, 85], [7, 39], [3, 65], [2, 110], [7, 201], [6, 79], [3, 22], [2, 51], [9, 200], [8, 30], [0, 58], [7, 31], [4, 8], [8, 108], [1, 136], [8, 67], [6, 80], [3, 107], [6, 186], [1, 7], [6, 77], [6, 131], [6, 180], [1, 76], [8, 184], [3, 66], [8, 226], [6, 16], [4, 231], [5, 235], [2, 38], [5, 46], [6, 112], [7, 44], [3, 95], [3, 99], [2, 111], [3, 169], [2, 19], [2, 70], [7, 152], [6, 195], [8, 11], [5, 21], [8, 126], [9, 206], [3, 143], [2, 129], [5, 56], [1, 40], [8, 57], [5, 0], [4, 181], [7, 170], [7, 212], [7, 142], [3, 106], [4, 196], [5, 55], [0, 48], [2, 15], [2, 124], [3, 176], [8, 114], [8, 18], [0, 24], [0, 227], [9, 218], [8, 120], [0, 115], [4, 91], [7, 157], [8, 219], [9, 175], [0, 222], [4, 125], [6, 3], [9, 118], [1, 220], [8, 166], [9, 138], [7, 23], [0, 52], [1, 155], [7, 150], [7, 78], [3, 98], [4, 178], [5, 149], [1, 6], [8, 144], [2, 189], [8, 193], [1, 221], [9, 5], [6, 162], [8, 215], [5, 105], [4, 90], [6, 35], [8, 128], [4, 133], [0, 167], [3, 36], [1, 104], [2, 232], [7, 151], [7, 141], [9, 139], [5, 164], [1, 194], [5, 92], [9, 45], [1, 140], [1, 187], [0, 27], [2, 190], [7, 117], [3, 147], [9, 43], [6, 203], [9, 174], [9, 102], [9, 207], [7, 159], [2, 208], [4, 228], [4, 127], [5, 103], [1, 146], [7, 182], [8, 81], [2, 197], [9, 61], [2, 217], [0, 233], [7, 101], [7, 209], [0, 73], [5, 116], [1, 205], [6, 188], [4, 12], [9, 41], [4, 59], [4, 93], [0, 211], [9, 97], [7, 42], [7, 10], [8, 74], [9, 230], [0, 54], [9, 88], [9, 9], [3, 145], [3, 53], [8, 34], [4, 25], [2, 177], [4, 229], [5, 160], [8, 50], [5, 173], [5, 132], [3, 202], [3, 100], [5, 60], [8, 119], [0, 156], [5, 89], [3, 224], [5, 123], [5, 192], [4, 214], [5, 168], [0, 84], [4, 204], [7, 134], [9, 49], [8, 13], [6, 63], [1, 210], [3, 148], [0, 83], [6, 225], [1, 1], [8, 68], [2, 47], [9, 82], [2, 161], [5, 17], [4, 199], [2, 75], [5, 29], [2, 198], [2, 158], [2, 154], [6, 153], [3, 69], [9, 137], [6, 32], [7, 236], [1, 94], [3, 26], [1, 121], [7, 223], [9, 113], [2, 163], [1, 172], [5, 185], [7, 87], [0, 179], [2, 130]], [[5, 215], [4, 142], [0, 90], [1, 120], [1, 86], [1, 137], [2, 42], [5, 56], [7, 186], [5, 206], [9, 153], [4, 171], [6, 232], [8, 8], [8, 17], [4, 93], [9, 133], [0, 216], [9, 174], [0, 149], [4, 160], [1, 55], [6, 66], [2, 195], [1, 73], [4, 129], [3, 111], [1, 74], [7, 76], [8, 173], [6, 113], [4, 36], [8, 50], [3, 53], [6, 116], [9, 191], [8, 212], [8, 218], [2, 109], [7, 204], [6, 75], [7, 205], [9, 134], [2, 226], [4, 84], [5, 235], [0, 211], [9, 163], [3, 132], [9, 3], [0, 125], [5, 88], [7, 150], [9, 219], [6, 35], [9, 177], [1, 214], [3, 229], [7, 108], [9, 41], [5, 200], [7, 83], [5, 46], [1, 21], [3, 62], [6, 224], [4, 13], [8, 178], [9, 9], [1, 159], [1, 25], [8, 96], [7, 131], [0, 217], [6, 104], [0, 95], [0, 103], [9, 156], [8, 162], [3, 201], [4, 58], [6, 23], [8, 143], [9, 196], [7, 10], [4, 151], [1, 102], [5, 2], [8, 59], [3, 213], [0, 100], [8, 231], [1, 169], [5, 16], [9, 197], [7, 80], [2, 209], [4, 135], [5, 161], [3, 6], [4, 18], [5, 118], [3, 190], [5, 105], [2, 107], [0, 180], [4, 94], [7, 198], [4, 69], [7, 117], [6, 228], [8, 32], [0, 170], [9, 155], [6, 185], [4, 48], [7, 63], [4, 189], [9, 152], [2, 227], [5, 39], [6, 11], [8, 67], [7, 92], [1, 85], [6, 221], [0, 144], [9, 27], [8, 157], [0, 175], [2, 91], [7, 130], [5, 203], [5, 20], [3, 128], [8, 136], [2, 138], [7, 4], [8, 64], [5, 210], [1, 30], [3, 141], [0, 165], [7, 233], [2, 114], [6, 12], [2, 78], [6, 61], [2, 139], [8, 126], [5, 199], [8, 181], [0, 145], [5, 28], [3, 140], [2, 77], [0, 110], [0, 222], [8, 234], [4, 43], [0, 37], [5, 57], [1, 124], [8, 172], [2, 5], [0, 81], [6, 121], [7, 49], [9, 112], [8, 51], [0, 194], [4, 98], [8, 154], [4, 207], [9, 176], [2, 54], [7, 179], [0, 188], [1, 182], [0, 70], [6, 97], [2, 183], [6, 236], [3, 68], [3, 1], [7, 15], [6, 148], [7, 220], [3, 99], [0, 167], [5, 106], [2, 38], [3, 193], [6, 87], [5, 187], [1, 202], [7, 47], [8, 82], [1, 40], [5, 119], [7, 158], [0, 192], [9, 146], [8, 22], [7, 89], [2, 33], [9, 164], [0, 26], [5, 127], [2, 115], [1, 24], [9, 71], [3, 60], [4, 223], [3, 230], [8, 29], [0, 44], [8, 7], [6, 123], [9, 168], [5, 122], [4, 52], [4, 79], [5, 34], [1, 14], [7, 45], [4, 166], [7, 72], [7, 101], [6, 0], [1, 65], [5, 184], [0, 208], [2, 225], [3, 147], [3, 19], [8, 31]]];
    var O = [{
        G: [],
        V: [0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
        Z: [2, 4, 20, 23, 30, 46, 56, 68, 71, 82, 83, 90, 103, 142, 187, 189, 198, 208, 210, 223, 236, 254, 268, 283, 287, 300, 303, 310, 313, 349]
    }, {G: [0], V: [0], Z: [1]}, {G: [1], V: [0, 1], Z: []}, {
        G: [5],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8],
        Z: [315]
    }, {G: [0], V: [0, 1], Z: [2, 8]}, {
        G: [1],
        V: [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11],
        Z: [5, 13, 15, 16, 25, 95]
    }, {G: [0], V: [0], Z: []}, {r: 1, G: [3, 2], V: [0, 2, 3], Z: []}, {G: [], V: [], Z: [2]}, {
        G: [0],
        V: [0],
        Z: [187]
    }, {G: [0], V: [0], Z: [285]}, {
        G: [],
        V: [0, 1, 3, 4, 5, 6, 7, 9],
        Z: [2, 8, 17, 18, 21, 22, 25, 31, 33, 55, 155, 259, 309]
    }, {G: [3], V: [0, 1, 2, 3, 4, 5], Z: [82]}, {G: [], V: [0], Z: [44]}, {G: [0], V: [0, 1], Z: []}, {
        G: [],
        V: [],
        Z: [2, 27, 30, 31]
    }, {G: [2], V: [0, 1, 2, 3, 4, 6, 7, 8, 9], Z: [5, 13, 15, 16, 25, 95]}, {G: [1], V: [1], Z: [0, 2]}, {
        G: [],
        V: [0, 3, 8, 9],
        Z: [1, 2, 4, 5, 6, 7, 16, 18, 24, 25, 26, 55, 155]
    }, {G: [0], V: [0, 1], Z: [7, 8, 9, 59, 354]}, {
        G: [3, 0],
        V: [0, 1, 2, 3, 4],
        Z: [6, 11, 19, 27, 28, 30, 35, 55, 155]
    }, {G: [], V: [], Z: [5]}, {G: [2, 1], V: [0, 1, 2, 3], Z: [9]}, {G: [0], V: [0, 1, 2, 3], Z: [234]}, {
        G: [0],
        V: [0],
        Z: [7]
    }, {
        G: [20, 13, 10, 29, 14, 24],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32],
        Z: [12, 22, 55, 62, 65, 88, 98, 126, 132, 140, 155, 213, 222, 224, 226, 229, 264, 267, 268, 295, 309]
    }, {G: [], V: [1, 2], Z: [0, 28]}, {G: [2], V: [2, 3], Z: [0, 1]}, {
        G: [1],
        V: [0, 1],
        Z: [3, 4, 7, 8, 9, 59, 273]
    }, {G: [], V: [], Z: [0, 3, 5, 73]}, {r: 1, G: [4], V: [0, 2, 3, 4], Z: []}, {
        G: [],
        V: [0, 1, 2, 3],
        Z: [7, 9, 25, 55, 155, 268]
    }, {G: [], V: [5, 10, 13, 14, 15, 16], Z: [0, 1, 2, 3, 4, 6, 7, 8, 9, 11, 12]}, {G: [0], V: [0], Z: []}, {
        G: [3, 2],
        V: [1, 2, 3, 4],
        Z: [0, 59]
    }, {
        G: [15, 34, 6, 4, 23, 21],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36],
        Z: [52, 55, 155, 158, 188, 219, 257, 309]
    }, {G: [], V: [], Z: [4, 11, 35]}, {G: [0], V: [0], Z: [5, 13]}, {
        G: [],
        V: [0, 1, 3, 5, 6, 7, 8],
        Z: [2, 4, 11, 55, 155, 309]
    }, {G: [0], V: [0], Z: [3, 5, 6, 10, 11]}, {
        G: [],
        V: [0, 1, 3, 5, 6, 7, 8, 9, 10, 12],
        Z: [2, 4, 11, 14, 53, 55, 155, 304, 309]
    }, {G: [1], V: [1, 2, 4, 5], Z: [0, 3]}, {G: [], V: [], Z: [4, 6]}, {
        G: [2, 7, 1, 0],
        V: [0, 1, 2, 3, 4, 5, 6, 7],
        Z: [9, 45, 104, 109, 120, 165, 185, 288, 293, 348]
    }, {G: [0], V: [0], Z: [7, 9, 12, 21, 23]}, {G: [0], V: [0], Z: [4, 8, 9]}, {
        G: [],
        V: [3, 11],
        Z: [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 12, 13, 17, 23, 43, 56, 59, 125, 137, 149, 164, 166, 175, 179, 268, 273, 278, 281, 287, 313, 335, 354]
    }, {G: [0, 1], V: [0, 1, 2], Z: [4, 59]}, {G: [], V: [], Z: [2]}, {G: [5], V: [1, 2, 3, 4, 5, 6], Z: [0]}, {
        G: [],
        V: [],
        Z: []
    }, {
        G: [],
        V: [16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34],
        Z: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 19, 28, 55, 93, 155, 291]
    }, {G: [3, 1], V: [0, 1, 2, 3], Z: [233]}, {G: [2, 0], V: [0, 1, 2], Z: [59, 353]}, {
        G: [2],
        V: [0, 2],
        Z: [1, 3, 5]
    }, {G: [], V: [0], Z: []}, {X: 0, G: [], V: [], Z: [3]}, {G: [0], V: [0], Z: []}, {G: [0], V: [0], Z: [13]}, {
        G: [],
        V: [],
        Z: [11, 14, 15, 334]
    }, {r: 1, G: [2, 0, 5], V: [0, 2, 3, 4, 5, 6, 7, 8], Z: [31, 44, 80, 250, 255]}, {G: [0], V: [0], Z: []}, {
        G: [],
        V: [0],
        Z: [28, 89]
    }, {G: [], V: [], Z: [10, 16, 19]}, {G: [2, 0], V: [0, 1, 2], Z: [7]}, {
        G: [0],
        V: [0, 1, 2],
        Z: [155, 280]
    }, {G: [], V: [], Z: [21, 24, 55, 69, 155]}, {G: [], V: [], Z: [3, 8, 14, 128]}, {
        r: 2,
        G: [3],
        V: [0, 1, 3],
        Z: []
    }, {G: [1, 0], V: [0, 1], Z: []}, {
        G: [20, 3, 10, 7, 13, 9],
        V: [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25],
        Z: [2, 55, 69, 72, 78, 86, 114, 122, 131, 155, 168, 187, 203, 205, 235, 247, 268, 309, 325, 340, 351]
    }, {G: [2], V: [0, 1, 2, 3, 4], Z: [7]}, {
        G: [],
        V: [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
        Z: [0, 2, 55, 155, 309]
    }, {G: [1], V: [1], Z: [0]}, {G: [], V: [], Z: []}, {G: [], V: [], Z: [0, 6]}, {
        G: [],
        V: [0, 1, 2, 3, 4],
        Z: []
    }, {G: [1], V: [0, 1], Z: [8, 25]}, {G: [0], V: [0], Z: [12, 13]}, {G: [0], V: [0], Z: []}, {
        G: [0],
        V: [0, 1, 2, 3],
        Z: [64, 188]
    }, {G: [0], V: [0, 1, 2], Z: [4, 5, 6, 9, 11]}, {G: [], V: [], Z: []}, {G: [2, 1], V: [1, 2], Z: [0]}, {
        G: [],
        V: [],
        Z: [2]
    }, {G: [0], V: [0], Z: []}, {G: [], V: [1], Z: [0, 2, 4, 5]}, {
        G: [],
        V: [],
        Z: [1, 3, 9, 10, 59, 96, 127, 221, 273, 279, 354]
    }, {G: [0], V: [0], Z: [2]}, {G: [3, 4], V: [1, 2, 3, 4, 5, 6], Z: [0, 32, 235, 340]}, {
        G: [],
        V: [],
        Z: [13]
    }, {
        G: [],
        V: [0, 1, 3, 6, 7, 8, 11, 18, 21, 22, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36],
        Z: [2, 4, 5, 9, 10, 12, 13, 14, 15, 16, 17, 19, 20, 23, 25, 55, 95, 115, 140, 155, 265, 309, 352]
    }, {r: 0, G: [1], V: [1], Z: []}, {G: [], V: [], Z: [0, 3]}, {G: [], V: [0], Z: [13, 15]}, {
        X: 0,
        G: [],
        V: [],
        Z: [1, 2, 3]
    }, {
        G: [],
        V: [1, 2, 4, 5, 6, 7, 9, 10, 12, 14, 15, 16, 17, 18, 19, 20, 22, 23, 28],
        Z: [0, 3, 8, 11, 13, 21, 24, 25, 26, 27, 55, 155]
    }, {G: [], V: [0, 2, 3, 5, 6, 7], Z: [1, 4, 16, 18, 55]}, {G: [], V: [0, 1, 2, 4], Z: [3]}, {
        G: [1],
        V: [1],
        Z: [0, 187]
    }, {X: 2, G: [6], V: [0, 1, 3, 4, 5, 6, 7, 8, 9, 10], Z: []}, {G: [1], V: [1], Z: [0, 6]}, {
        G: [1],
        V: [1],
        Z: [0, 11, 13, 23]
    }, {G: [0], V: [0], Z: []}, {G: [1, 0], V: [0, 1], Z: [18, 172]}, {
        G: [],
        V: [0, 1, 2, 4, 5],
        Z: [3, 7, 55, 71, 155]
    }, {G: [1], V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], Z: [19, 28, 55, 93, 155, 291]}, {
        G: [],
        V: [],
        Z: [0, 14]
    }, {G: [9], V: [0, 3, 4, 5, 6, 7, 9], Z: [1, 2, 8, 15, 16, 94, 95]}, {
        G: [],
        V: [0],
        Z: [5, 8, 13, 15, 56, 170, 287, 313]
    }, {G: [5], V: [0, 1, 5, 6, 7, 8, 9], Z: [2, 3, 4, 59, 124, 147, 273, 292, 354]}, {G: [0], V: [0], Z: []}, {
        r: 20,
        G: [19, 10, 9, 17],
        V: [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
        Z: [0, 1, 2, 3, 4, 5]
    }, {G: [], V: [0, 1, 2, 3, 5], Z: [4, 7, 17, 55, 155]}, {G: [0], V: [0], Z: []}, {
        G: [16, 2],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
        Z: [38, 41, 49, 107, 121, 153, 206, 207, 211, 227, 238, 249, 252, 277, 305, 320]
    }, {G: [], V: [0, 1, 2, 4, 5], Z: [3, 10, 26, 27, 30, 35, 37, 41, 268]}, {
        G: [1],
        V: [1, 2],
        Z: [0, 3, 4, 319]
    }, {G: [0], V: [0], Z: [316]}, {G: [0], V: [0, 1], Z: [153, 159, 320]}, {G: [], V: [0], Z: [2, 3, 5, 6, 7]}, {
        G: [],
        V: [],
        Z: [8, 11, 17, 334]
    }, {G: [0], V: [0], Z: [21]}, {G: [0], V: [0], Z: []}, {
        G: [21, 5, 16, 15, 1, 0],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22],
        Z: [14, 55, 91, 155, 196, 268, 309]
    }, {G: [2, 0], V: [0, 1, 2], Z: [3, 59]}, {G: [0], V: [0, 1], Z: [7, 11, 12]}, {
        G: [5],
        V: [0, 1, 3, 4, 5],
        Z: [2]
    }, {G: [0], V: [0], Z: [32, 72, 131, 187, 205, 235, 325, 340, 351]}, {G: [], V: [], Z: [2, 3]}, {
        G: [],
        V: [0],
        Z: []
    }, {
        G: [],
        V: [1, 2, 3, 4, 5, 7, 9, 10, 13, 14, 18, 20, 21, 22, 23, 24, 26, 27, 28, 29, 32, 33, 34],
        Z: [0, 6, 8, 11, 12, 15, 16, 17, 19, 25, 30, 31, 55, 132, 140, 155, 268, 295, 309]
    }, {G: [2], V: [0, 1, 2, 3, 4, 6, 7], Z: [5, 8, 12, 256, 321]}, {G: [0], V: [0], Z: [16]}, {
        G: [],
        V: [],
        Z: []
    }, {G: [], V: [], Z: []}, {G: [1], V: [1], Z: [0]}, {G: [], V: [], Z: []}, {
        G: [],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12],
        Z: [11, 35, 55, 155]
    }, {G: [0], V: [0], Z: [15]}, {r: 0, G: [], V: [], Z: []}, {G: [0], V: [0], Z: []}, {
        G: [1, 0],
        V: [0, 1],
        Z: [42]
    }, {G: [3], V: [0, 1, 2, 3], Z: [6, 7, 45, 288, 293]}, {r: 3, G: [2], V: [0, 1, 2], Z: []}, {
        G: [],
        V: [1],
        Z: [0, 2]
    }, {G: [], V: [], Z: []}, {r: 1, G: [3], V: [2, 3], Z: [0]}, {
        G: [],
        V: [0, 1, 2, 3, 4, 5],
        Z: [26, 30, 55]
    }, {G: [], V: [], Z: [2, 7]}, {r: 4, G: [3], V: [0, 1, 2, 3], Z: []}, {G: [0], V: [0], Z: [3, 8, 9]}, {
        G: [0],
        V: [0],
        Z: []
    }, {G: [0, 1], V: [0, 1, 2], Z: []}, {G: [0], V: [0], Z: [4]}, {
        G: [1],
        V: [0, 1, 2],
        Z: [56, 170, 187, 195, 287, 313, 334]
    }, {G: [], V: [], Z: []}, {G: [0], V: [0, 1, 2, 3, 4], Z: [12, 139, 306]}, {G: [0], V: [0], Z: [133, 285]}, {
        G: [2],
        V: [0, 1, 2],
        Z: [39, 286]
    }, {G: [2, 0], V: [0, 2], Z: [1]}, {
        G: [],
        V: [1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 30],
        Z: [0, 8, 10, 12, 14, 23, 26, 27, 28, 29, 32, 36, 55, 106, 140, 151, 155, 260, 309, 337, 352]
    }, {G: [0], V: [0], Z: []}, {G: [], V: [0, 1, 3, 4, 5], Z: [2, 54, 58, 112, 129, 167, 192, 296, 311, 315]}, {
        G: [2],
        V: [1, 2, 3],
        Z: [0, 110, 256, 274]
    }, {G: [1, 0], V: [0, 1], Z: [5, 10]}, {G: [0], V: [0], Z: []}, {
        G: [0],
        V: [0, 1],
        Z: [20, 83, 90, 103, 187, 189, 223]
    }, {G: [0], V: [0], Z: []}, {G: [1], V: [1], Z: [0, 6]}, {G: [0, 1], V: [0, 1], Z: []}, {
        G: [],
        V: [0, 1, 2, 3, 4, 5],
        Z: []
    }, {G: [2], V: [0, 2], Z: [1, 6, 7, 9, 13, 14, 15, 16, 17, 18, 19, 20]}, {
        G: [0],
        V: [0, 1, 3, 4],
        Z: [2, 7]
    }, {G: [0], V: [0], Z: [352]}, {G: [0], V: [0], Z: [15]}, {
        G: [],
        V: [0, 1, 2],
        Z: [31, 44, 80, 131, 250, 255, 270]
    }, {G: [13], V: [10, 11, 12, 13, 14, 15], Z: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 128]}, {
        G: [0],
        V: [0],
        Z: [6, 272]
    }, {G: [], V: [0, 1, 2, 4, 5], Z: [3, 10, 26, 27, 30, 35, 37, 41, 268]}, {
        G: [],
        V: [0, 1, 3, 4],
        Z: [2, 5, 7, 9, 27, 32, 55, 155, 224]
    }, {G: [], V: [], Z: [2]}, {G: [], V: [0, 1, 3, 5, 6, 7, 8], Z: [2, 4, 11, 35, 55, 155, 309]}, {
        G: [0],
        V: [0],
        Z: [2]
    }, {G: [0], V: [0], Z: []}, {G: [2], V: [1, 2, 3], Z: [0, 4]}, {G: [0], V: [0], Z: []}, {
        r: 5,
        X: 3,
        G: [],
        V: [0, 1, 2, 4, 6],
        Z: []
    }, {G: [], V: [], Z: [1, 7]}, {G: [], V: [], Z: []}, {G: [0, 1], V: [0, 1], Z: [2, 3, 5, 6]}, {
        G: [],
        V: [],
        Z: [1, 7]
    }, {G: [4, 5], V: [0, 1, 2, 3, 4, 5], Z: [109, 120, 165, 185, 348]}, {G: [1], V: [1], Z: [0, 6]}, {
        G: [],
        V: [0, 1],
        Z: [4, 5, 9, 24, 180]
    }, {G: [], V: [], Z: []}, {r: 0, G: [], V: [], Z: []}, {
        G: [16],
        V: [1, 3, 6, 7, 8, 11, 14, 15, 16],
        Z: [0, 2, 4, 5, 9, 10, 12, 13, 17, 23, 43, 56, 125, 137, 149, 164, 166, 175, 179, 268, 278, 281, 287, 313, 335]
    }, {G: [], V: [], Z: []}, {G: [0], V: [0], Z: [25, 286]}, {
        G: [2, 1, 3, 4, 5, 6],
        V: [0, 1, 2, 3, 4, 5, 6],
        Z: [55, 155, 309]
    }, {G: [], V: [], Z: [0]}, {G: [0], V: [0], Z: [1]}, {G: [], V: [], Z: [0, 11, 55, 155, 247]}, {
        G: [1],
        V: [1],
        Z: [0]
    }, {G: [4], V: [0, 1, 2, 4, 5], Z: [3, 61]}, {G: [0], V: [0], Z: [5]}, {
        G: [],
        V: [0, 1, 3, 5, 6],
        Z: [2, 4, 8, 9, 11, 13, 14, 17, 32, 55, 136, 144, 155, 284, 309]
    }, {G: [0, 1], V: [0, 1], Z: []}, {G: [0, 1], V: [0, 1, 2], Z: []}, {
        G: [4],
        V: [3, 4, 5],
        Z: [0, 1, 2, 319]
    }, {
        G: [3],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 10],
        Z: [9, 42, 56, 102, 137, 236, 243, 274, 287, 312, 313, 315, 321]
    }, {G: [], V: [], Z: [4, 11, 14]}, {
        G: [0],
        V: [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13],
        Z: [7, 17, 23, 24, 38, 41, 43, 48, 49, 56, 107, 123, 125, 137, 149, 153, 164, 166, 175, 180, 207, 208, 218, 268, 277, 281, 287, 313, 320, 335]
    }, {
        G: [5, 4],
        V: [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
        Z: [6, 17, 23, 43, 48, 56, 123, 125, 137, 149, 164, 166, 175, 208, 268, 281, 287, 313, 335]
    }, {G: [5], V: [1, 2, 3, 4, 5], Z: [0, 55, 155]}, {G: [3, 1], V: [0, 1, 2, 3, 4], Z: []}, {
        G: [0, 1],
        V: [0, 1],
        Z: [9, 10]
    }, {G: [0], V: [0], Z: [5]}, {G: [], V: [0, 1, 3], Z: [2, 5, 6, 15, 18, 20, 24, 180]}, {
        G: [],
        V: [4, 5, 6, 7],
        Z: [0, 1, 2, 3]
    }, {G: [0], V: [0], Z: []}, {G: [0], V: [0], Z: [5, 14]}, {G: [], V: [], Z: []}, {G: [0], V: [0], Z: []}, {
        G: [1],
        V: [1],
        Z: [0, 187]
    }, {G: [], V: [], Z: [13, 14, 16, 334]}, {
        G: [],
        V: [1, 3, 4, 7, 11, 13, 14, 15, 16],
        Z: [0, 2, 5, 6, 8, 9, 10, 12, 117, 146, 182, 201, 232]
    }, {G: [0], V: [0], Z: []}, {
        G: [],
        V: [2, 3, 4, 5, 9, 11, 13, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31],
        Z: [0, 1, 6, 7, 8, 10, 12, 14, 15, 16, 17, 18, 19, 20, 21, 55, 69, 122, 140, 155, 214, 247, 268, 270, 285, 309, 322]
    }, {G: [1], V: [0, 1], Z: [83, 223]}, {G: [1], V: [1, 2, 3, 4], Z: [0]}, {G: [], V: [], Z: []}, {
        G: [10, 5],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
        Z: [134, 233, 333]
    }, {
        G: [13, 4, 6, 2, 15, 8],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
        Z: [55, 69, 71, 155, 268, 309]
    }, {G: [0], V: [0], Z: [16]}, {G: [], V: [], Z: [3, 8]}, {
        G: [0, 2, 1, 4],
        V: [0, 1, 2, 3, 4, 5, 6],
        Z: [8, 15, 43, 56, 71, 177, 183, 190, 217, 228, 261, 287, 313, 316]
    }, {
        G: [],
        V: [],
        Z: [2, 6, 8, 14, 15, 17, 18, 20, 23, 24, 43, 48, 56, 123, 125, 137, 149, 164, 166, 173, 175, 208, 268, 281, 287, 313, 335]
    }, {G: [0, 1], V: [0, 1, 2], Z: [181, 233]}, {G: [], V: [], Z: [0]}, {G: [0], V: [0], Z: [187]}, {
        G: [0, 1],
        V: [0, 1],
        Z: [187, 319]
    }, {r: 1, G: [0], V: [0], Z: [3, 338]}, {G: [], V: [], Z: [0, 13]}, {G: [0], V: [0], Z: []}, {
        G: [2],
        V: [2],
        Z: [0, 1, 73, 187]
    }, {G: [1, 0], V: [0, 1], Z: [294]}, {G: [3], V: [2, 3], Z: [0, 1, 4, 5]}, {
        G: [2, 3],
        V: [0, 2, 3, 7],
        Z: [1, 4, 5, 6, 237]
    }, {G: [0, 3, 4, 2], V: [0, 1, 2, 3, 4], Z: [56, 287, 313]}, {
        G: [5, 0, 4],
        V: [0, 1, 2, 3, 4, 5],
        Z: [81, 208]
    }, {G: [0], V: [0], Z: []}, {
        G: [],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 19, 20, 21, 22, 23, 28],
        Z: [9, 14, 18, 24, 25, 26, 27, 139, 275, 326, 336]
    }, {G: [3], V: [0, 1, 2, 3, 4, 5], Z: []}, {G: [0], V: [0], Z: []}, {G: [], V: [], Z: [0, 15]}, {
        G: [1],
        V: [0, 1],
        Z: [24]
    }, {G: [], V: [0], Z: []}, {
        G: [20, 3, 14, 25],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25],
        Z: [33, 35, 40, 84, 113, 116, 119, 157, 161, 162, 176, 178, 186, 194, 220, 230, 240, 241, 242, 253, 263, 266, 301, 324, 328, 352]
    }, {G: [1, 0], V: [0, 1], Z: []}, {G: [], V: [], Z: [6, 7]}, {
        r: 6,
        G: [17],
        V: [2, 5, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
        Z: [0, 1, 3, 4, 8, 43, 56, 71, 177, 190, 217, 261, 287, 313, 316]
    }, {G: [], V: [], Z: [1, 2, 8, 11]}, {G: [], V: [], Z: [0, 3]}, {r: 0, G: [], V: [], Z: []}, {
        G: [],
        V: [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
        Z: [3, 22, 23, 26, 28, 55, 65, 88, 98, 126, 213, 222, 226, 229, 264, 267]
    }, {G: [], V: [2], Z: [0, 1, 16, 71]}, {
        G: [0, 23, 15, 17, 9, 28],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29],
        Z: [52, 55, 135, 155, 202, 269, 290, 309]
    }, {G: [0], V: [0, 1, 2], Z: [3, 9, 25, 31, 214, 285]}, {G: [], V: [], Z: [1, 17]}, {
        r: 3,
        G: [7],
        V: [0, 1, 2, 4, 5, 6, 7, 8],
        Z: []
    }, {G: [], V: [0, 1, 2, 4, 5], Z: [3, 10, 27, 30]}, {G: [0], V: [0, 1, 2], Z: [3, 4]}, {
        X: 1,
        G: [],
        V: [2, 6, 7, 8, 9],
        Z: [0, 3, 4, 5]
    }, {r: 6, G: [3, 5, 2, 0], V: [0, 1, 2, 3, 4, 5], Z: []}, {G: [], V: [0, 1, 3, 4], Z: [2, 5, 6, 10, 11]}, {
        G: [],
        V: [],
        Z: [4, 16]
    }, {G: [5, 0, 1, 6], V: [0, 1, 2, 3, 4, 5, 6, 7], Z: [234, 325]}, {
        G: [2],
        V: [0, 1, 2, 3, 4, 5],
        Z: [7, 8, 9, 10, 12, 14, 16, 25, 28, 32, 33, 35, 219]
    }, {G: [0], V: [0], Z: []}, {r: 0, G: [1], V: [1], Z: [131]}, {r: 4, G: [1], V: [0, 1, 2, 3], Z: [31]}, {
        G: [0],
        V: [0],
        Z: [199]
    }, {G: [6], V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14], Z: [10, 19, 55, 140, 155, 309]}, {
        G: [0],
        V: [0],
        Z: [6, 7]
    }, {G: [], V: [], Z: [19]}, {
        r: 8,
        G: [6, 10, 9],
        V: [3, 4, 5, 6, 7, 9, 10, 11],
        Z: [0, 1, 2, 155, 280]
    }, {G: [6, 3, 5, 4], V: [0, 1, 2, 3, 4, 5, 6, 7], Z: []}, {G: [0], V: [0], Z: []}, {
        G: [],
        V: [],
        Z: [4, 8, 9, 19, 170, 195]
    }, {G: [], V: [], Z: [0, 4]}, {
        G: [9],
        V: [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
        Z: [0, 1, 2, 3, 4, 5, 6, 7, 56, 170, 195, 287, 313, 334]
    }, {r: 0, G: [], V: [1, 2], Z: [31]}, {G: [1], V: [0, 1, 2, 3], Z: [4, 7, 17, 20]}, {
        r: 2,
        G: [4, 3],
        V: [0, 3, 4],
        Z: [1]
    }, {G: [0], V: [0], Z: [14]}, {G: [], V: [], Z: [316]}, {G: [6], V: [0, 1, 2, 3, 4, 5, 6, 7, 8], Z: []}, {
        G: [],
        V: [],
        Z: [0, 1]
    }, {G: [], V: [0, 1], Z: [4, 7, 16, 71]}, {G: [0], V: [0], Z: [16, 23]}, {
        G: [4, 0, 7, 6, 3, 5, 2],
        V: [0, 2, 3, 4, 5, 6, 7],
        Z: [1, 56, 170, 187, 195, 287, 313, 334]
    }, {
        G: [],
        V: [0, 9, 11, 15, 16, 17, 21, 23, 25, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38],
        Z: [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 18, 19, 20, 22, 24, 26, 27, 29, 55, 155, 202, 290, 309]
    }, {G: [], V: [], Z: []}, {G: [0], V: [0], Z: [4]}, {G: [], V: [], Z: [4]}, {
        G: [5],
        V: [0, 2, 3, 5, 7, 8, 9, 10],
        Z: [1, 4, 6, 55, 75, 155]
    }, {G: [], V: [], Z: []}, {G: [], V: [0, 1, 2, 3], Z: [5]}, {G: [], V: [0], Z: [1, 2, 3, 4, 6]}, {
        r: 0,
        G: [],
        V: [],
        Z: []
    }, {G: [1], V: [1], Z: [0]}, {G: [1], V: [0, 1], Z: [35, 40, 84, 161, 162, 194, 253]}, {
        G: [2],
        V: [2],
        Z: [0, 1]
    }, {G: [], V: [], Z: []}, {G: [4], V: [0, 3, 4, 5, 6, 7, 9, 10, 11], Z: [1, 2, 8, 15, 16, 94, 95]}, {
        G: [1],
        V: [1],
        Z: [0, 110, 256, 347]
    }, {G: [3], V: [0, 1, 2, 3, 4, 5], Z: [11, 15, 16, 270, 322]}, {G: [0], V: [0], Z: [11]}, {
        G: [],
        V: [0, 1, 2, 3, 4, 5],
        Z: [59, 118, 124, 127, 147, 148, 221, 244, 273, 279, 292, 344, 345, 353, 354]
    }, {G: [0, 4], V: [0, 1, 2, 3, 4, 5, 6], Z: [7, 16, 28, 94, 108, 268]}, {
        G: [4, 1],
        V: [1, 2, 3, 4, 5, 6, 7],
        Z: [0, 58, 85, 97, 192, 231, 272, 317, 323, 347, 352]
    }, {G: [1], V: [1, 3], Z: [0, 2]}, {G: [1, 0], V: [0, 1], Z: [9]}, {
        G: [5, 6, 19, 27, 13, 32],
        V: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33],
        Z: [0, 16, 52, 55, 94, 95, 122, 140, 155, 239, 248, 268, 285, 309, 343]
    }, {G: [2], V: [0, 1, 2, 3, 4], Z: [5, 30, 55, 155, 309]}, {G: [0], V: [0], Z: [3, 9]}, {
        G: [5, 2],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8],
        Z: []
    }, {G: [], V: [], Z: []}, {
        G: [12],
        V: [0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 23, 25, 29, 30],
        Z: [1, 2, 3, 4, 5, 6, 18, 20, 21, 22, 24, 26, 27, 28, 32, 33, 34, 55, 140, 155, 268, 309]
    }, {G: [14], V: [3, 7, 12, 13, 14, 15], Z: [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 150]}, {
        G: [],
        V: [],
        Z: [8, 9, 12, 150]
    }, {G: [0], V: [0], Z: []}, {G: [0], V: [0], Z: [7, 9]}, {
        G: [10],
        V: [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20],
        Z: [7, 17, 23, 24, 38, 41, 43, 48, 49, 56, 107, 123, 125, 137, 149, 153, 164, 166, 173, 175, 180, 207, 208, 218, 268, 277, 281, 287, 313, 320, 335]
    }, {G: [], V: [0, 1, 2, 3, 4, 5], Z: [26, 30, 55]}, {
        r: 1,
        X: 4,
        G: [],
        V: [0, 2, 3],
        Z: [5, 8, 12, 13, 152, 160]
    }, {G: [0], V: [0], Z: []}, {G: [], V: [], Z: []}, {G: [0], V: [0, 1], Z: [83, 223]}, {
        X: 0,
        G: [],
        V: [3, 5, 7, 9, 10],
        Z: [1, 2, 4, 6, 8, 11]
    }, {G: [], V: [], Z: []}, {G: [0], V: [0], Z: [274]}, {
        G: [14, 0, 15, 6, 2, 10],
        V: [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
        Z: [1, 36, 51, 55, 155, 193, 225, 268, 309]
    }, {G: [0], V: [0], Z: [208]}, {G: [0], V: [0], Z: []}, {G: [], V: [], Z: [20, 21, 25, 26, 28]}, {
        G: [13],
        V: [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
        Z: [0, 1, 2, 3, 4, 5, 6, 7, 56, 170, 195, 287, 313, 334]
    }, {G: [], V: [0, 1, 2], Z: []}, {
        G: [5],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
        Z: [17, 23, 43, 56, 59, 96, 125, 127, 137, 149, 164, 166, 175, 179, 208, 221, 268, 273, 278, 279, 281, 287, 313, 335, 354]
    }, {G: [0], V: [0], Z: [14]}, {G: [], V: [], Z: [0, 2]}, {G: [], V: [], Z: []}, {
        r: 5,
        X: 4,
        G: [6],
        V: [0, 1, 2, 6, 7, 8, 9, 10, 11],
        Z: [3, 15]
    }, {G: [0], V: [0], Z: [21]}, {G: [], V: [0, 1, 2, 4, 5], Z: [3, 10, 26, 27, 30, 35, 37, 41, 268]}, {
        G: [0],
        V: [0],
        Z: [8, 15]
    }, {G: [0], V: [0], Z: [205]}, {
        G: [],
        V: [0, 2, 3, 4, 5, 7, 9, 11, 13, 15, 17, 20, 21],
        Z: [1, 6, 8, 10, 12, 14, 16, 18, 19, 23, 27, 28, 55, 79, 93, 155, 179, 291, 306]
    }, {G: [0], V: [0], Z: [11]}, {G: [2], V: [2], Z: [0, 1]}, {r: 1, G: [0], V: [0], Z: [270]}, {
        G: [0],
        V: [0],
        Z: []
    }, {
        G: [6, 4, 7, 22, 1, 18],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27],
        Z: [16, 52, 55, 95, 115, 140, 155, 265, 309, 352]
    }, {G: [], V: [0], Z: [9, 13]}, {G: [], V: [0, 1, 2], Z: [12, 55, 155]}, {
        G: [0],
        V: [0],
        Z: [4, 12]
    }, {G: [7, 5, 3], V: [1, 2, 3, 4, 5, 6, 7], Z: [0]}, {G: [], V: [0, 1, 2], Z: []}, {
        G: [15, 5, 7, 16, 0, 1],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17],
        Z: [32, 37, 55, 76, 133, 136, 143, 144, 155, 284, 285, 309]
    }, {G: [3], V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], Z: [13, 55, 155, 257]}, {
        G: [1],
        V: [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11],
        Z: [5, 13, 15, 16, 25, 95]
    }, {G: [0], V: [0], Z: [3]}, {G: [], V: [], Z: [2, 5, 6]}, {
        G: [],
        V: [0, 1],
        Z: [20, 58, 85, 90, 97, 145, 189, 192, 231, 272, 297, 308, 317, 321, 323, 347, 352]
    }, {G: [0], V: [0], Z: [5]}, {
        G: [],
        V: [0, 1, 2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17],
        Z: [4, 6, 19, 55, 140, 155, 268, 295, 309]
    }, {
        G: [],
        V: [0, 4, 5, 6, 9, 11, 13, 14, 18, 19, 22, 24, 27, 32, 34, 35, 36, 37, 38],
        Z: [1, 2, 3, 7, 8, 10, 12, 15, 16, 17, 20, 21, 23, 25, 26, 28, 29, 30, 31, 33, 55, 94, 95, 155, 239, 248, 268, 309]
    }, {G: [2, 0], V: [0, 1, 2], Z: []}, {G: [3, 5, 10], V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], Z: [128]}, {
        r: 0,
        G: [2],
        V: [1, 2, 3, 4],
        Z: [105, 184]
    }, {G: [0], V: [0], Z: [8, 272]}, {G: [3], V: [0, 1, 2, 3, 4, 5, 6], Z: [13, 55, 155, 309]}, {
        G: [0],
        V: [0],
        Z: [9]
    }, {G: [0], V: [0, 1, 2, 3, 4], Z: [130, 286]}, {G: [1, 0, 2], V: [0, 1, 2], Z: [4, 5, 8]}, {
        G: [],
        V: [0, 1, 2, 3, 5, 6, 7, 8, 9, 10],
        Z: [4, 11, 35, 53, 304]
    }, {
        G: [],
        V: [0, 4, 5, 6, 13, 15, 21, 23, 24, 27, 34, 37, 38, 39, 40],
        Z: [1, 2, 3, 7, 8, 9, 10, 11, 12, 14, 16, 17, 18, 19, 20, 22, 25, 26, 28, 29, 30, 31, 32, 33, 35, 36, 55, 188, 219, 309]
    }, {G: [1], V: [1, 3], Z: [0, 2, 6, 285]}, {G: [1], V: [0, 1], Z: []}, {G: [0], V: [0], Z: [5]}, {
        G: [0],
        V: [0, 1],
        Z: [8, 11, 15]
    }, {G: [6, 8, 10, 9], V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], Z: [188]}, {
        G: [0],
        V: [0],
        Z: [4, 120]
    }, {G: [6], V: [0, 2, 4, 5, 6], Z: [1, 3, 7, 153, 206]}, {G: [0], V: [0], Z: [5]}, {
        G: [],
        V: [0],
        Z: [4, 8, 9, 13, 56, 170, 287, 313]
    }, {
        G: [3, 18, 5, 9, 13, 4],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21],
        Z: [55, 69, 122, 140, 155, 214, 247, 268, 270, 285, 309, 322]
    }, {G: [3], V: [0, 1, 2, 3], Z: [21, 55, 155]}, {G: [1, 0], V: [0, 1], Z: [11, 15]}, {
        G: [0],
        V: [0, 3, 4],
        Z: [1, 2]
    }, {G: [0, 1], V: [0, 1, 3], Z: [2, 59]}, {G: [], V: [0, 1, 2, 3, 4, 5], Z: [14, 18, 20]}, {
        G: [],
        V: [1, 2, 3, 4, 6],
        Z: [0, 5, 13, 26, 30, 34, 55, 155, 158, 257]
    }, {G: [], V: [], Z: [2, 10, 19, 23]}, {G: [2], V: [0, 1, 2, 3], Z: []}, {G: [], V: [], Z: [18]}, {
        G: [],
        V: [],
        Z: []
    }, {
        G: [],
        V: [3, 5, 6, 8, 9, 12, 13, 14, 15, 17, 18, 19, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37],
        Z: [0, 1, 2, 4, 7, 10, 11, 16, 20, 22, 33, 53, 55, 155, 157, 176, 178, 263, 268, 304, 309, 324, 328]
    }, {G: [0], V: [0], Z: [70]}, {
        G: [],
        V: [],
        Z: [4, 5, 6, 9, 17, 23, 24, 43, 48, 56, 123, 125, 137, 149, 164, 166, 175, 208, 268, 281, 287, 313, 335]
    }, {G: [2, 5], V: [0, 1, 2, 4, 5, 6], Z: [3, 200, 216]}, {G: [0], V: [0, 3], Z: [1, 2, 5, 7]}, {
        G: [],
        V: [],
        Z: [1, 2, 5, 24, 29]
    }, {G: [1], V: [0, 1], Z: [8, 25]}, {
        G: [7, 3, 12],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
        Z: [38, 41, 49, 107, 121, 152, 153, 160, 163, 206, 207, 211, 227, 238, 249, 252, 276, 277, 282, 305, 320]
    }, {G: [0], V: [0, 1], Z: [5]}, {G: [], V: [1, 2, 3, 7], Z: [0, 4, 5, 6, 9]}, {G: [0], V: [0], Z: [5]}, {
        G: [0],
        V: [0, 1],
        Z: []
    }, {G: [], V: [], Z: [4, 5]}, {
        G: [2, 0, 8, 1],
        V: [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11],
        Z: [5, 60, 100, 101, 138, 197]
    }, {
        G: [],
        V: [0, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20],
        Z: [1, 2, 3, 4, 5, 7, 9, 18, 22, 23, 26, 27, 28, 32, 55, 62, 65, 88, 98, 126, 155, 213, 222, 224, 226, 229, 264, 267]
    }, {G: [6], V: [1, 6], Z: [0, 2, 3, 4, 5, 8]}, {G: [9, 3, 1], V: [1, 2, 3, 4, 5, 6, 7, 8, 9], Z: [0]}, {
        r: 2,
        G: [1, 0],
        V: [0, 1],
        Z: []
    }, {G: [], V: [], Z: [2]}, {G: [0], V: [0], Z: [187]}, {
        G: [5, 20, 4, 15, 34, 30],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39],
        Z: [16, 50, 52, 55, 67, 77, 92, 94, 106, 108, 140, 151, 155, 209, 215, 259, 260, 262, 268, 309, 337, 352]
    }, {G: [0, 1], V: [0, 1], Z: [339]}, {r: 0, G: [], V: [1, 2, 3, 4, 5, 6, 7], Z: [31, 44]}, {
        G: [0],
        V: [0],
        Z: [3]
    }, {X: 0, G: [], V: [1, 2, 4, 5, 7], Z: [3, 6, 8, 11]}, {r: 0, G: [1], V: [1], Z: []}, {
        G: [],
        V: [3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15],
        Z: [0, 1, 2, 11, 27, 28, 30, 35, 55, 155]
    }, {G: [0], V: [0], Z: [7]}, {G: [3], V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], Z: [83, 256, 321]}, {
        r: 6,
        X: 4,
        G: [],
        V: [0, 2, 3, 5, 7],
        Z: [1]
    }, {G: [1], V: [0, 1], Z: [9]}, {G: [], V: [], Z: [1, 5]}, {G: [], V: [], Z: []}, {
        G: [],
        V: [0, 2, 4, 5, 6, 8, 10, 12, 14, 15],
        Z: [1, 3, 7, 9, 11, 13, 16, 36, 51, 55, 155, 193, 225, 309]
    }, {G: [], V: [], Z: [5, 8, 13, 19, 170, 195]}, {G: [2], V: [0, 1, 2, 3, 4, 5, 6, 7], Z: [16, 55, 155]}, {
        G: [1],
        V: [1],
        Z: [0]
    }, {G: [3], V: [3, 4, 5], Z: [0, 1, 2, 73]}, {G: [], V: [0, 1], Z: [3, 26, 37, 41, 268]}, {
        G: [2],
        V: [0, 1, 2, 4, 6],
        Z: [3, 5]
    }, {
        G: [17, 6, 5, 21, 13, 15],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28],
        Z: [33, 53, 55, 79, 93, 139, 155, 157, 176, 178, 179, 263, 268, 275, 291, 304, 306, 309, 324, 326, 328, 336]
    }, {G: [0], V: [0], Z: []}, {G: [0], V: [0], Z: [17]}, {G: [2], V: [0, 1, 2, 3, 4, 5], Z: [16]}, {
        G: [0],
        V: [0],
        Z: [2]
    }, {G: [0], V: [0], Z: [3, 6, 9]}, {G: [], V: [0, 1, 2], Z: [11, 12, 13, 153]}, {G: [], V: [], Z: [289]}, {
        X: 1,
        G: [],
        V: [2, 3, 4, 5, 6],
        Z: [0, 187]
    }, {G: [0], V: [0], Z: [56, 170, 187, 195, 287, 313, 334]}, {G: [0], V: [0], Z: [1]}, {
        G: [13],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
        Z: [129, 167, 196, 299]
    }, {G: [0], V: [0], Z: [8]}, {
        G: [],
        V: [0, 1, 2, 3, 4],
        Z: [7, 8, 9, 10, 11, 12, 14, 16, 18, 19, 20, 25, 31, 33, 35, 55, 155]
    }, {G: [], V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], Z: [24, 39, 55, 155, 215, 262]}, {G: [], V: [], Z: [4]}, {
        G: [],
        V: [],
        Z: []
    }, {G: [], V: [], Z: [2, 17, 21, 31]}, {G: [1, 0], V: [0, 1], Z: []}, {
        G: [9, 7, 5],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
        Z: [150]
    }, {G: [8, 7, 3, 4, 1], V: [1, 2, 3, 4, 5, 6, 7, 8], Z: [0]}, {
        G: [],
        V: [],
        Z: []
    }, {
        G: [5, 11, 13, 0, 14, 1, 3, 12, 26, 29, 32],
        V: [0, 1, 2, 3, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 22, 23, 25, 26, 27, 28, 29, 31, 32, 33],
        Z: [4, 7, 17, 20, 21, 24, 30, 42, 46, 54, 56, 58, 68, 70, 71, 82, 83, 87, 90, 102, 103, 112, 125, 129, 137, 142, 156, 166, 167, 187, 188, 189, 192, 196, 198, 204, 208, 210, 223, 236, 243, 246, 254, 256, 268, 272, 274, 283, 287, 296, 300, 303, 310, 311, 312, 313, 314, 315, 316, 321, 323, 331, 335, 341, 349, 350]
    }, {G: [0], V: [0, 1], Z: [4, 15, 16]}, {G: [], V: [], Z: [25, 39, 111, 130, 286]}, {
        G: [5, 2],
        V: [0, 1, 2, 3, 4, 5],
        Z: [104, 120, 165, 185]
    }, {G: [3], V: [0, 1, 2, 3, 4, 5], Z: [16, 55, 155]}, {G: [0], V: [0], Z: [16]}, {
        G: [1, 5, 6, 3, 7, 4, 2],
        V: [1, 2, 3, 4, 5, 6, 7],
        Z: [0, 56, 170, 187, 195, 287, 313, 334]
    }, {r: 0, G: [], V: [], Z: []}, {r: 0, G: [], V: [], Z: [1]}, {G: [0], V: [0], Z: [5]}, {
        r: 0,
        G: [],
        V: [],
        Z: []
    }, {
        G: [],
        V: [0, 1, 3, 5, 6, 7, 10, 11, 12, 13, 15, 16, 19, 20, 21, 23, 25, 26, 27, 28, 29, 30, 31],
        Z: [2, 4, 8, 9, 14, 17, 18, 22, 24, 55, 140, 155, 309]
    }, {G: [], V: [1, 2], Z: [0, 6, 11, 55, 122, 155, 285]}, {G: [0], V: [0], Z: [6]}, {
        G: [],
        V: [0, 1, 5, 7, 12, 15, 16, 18, 19, 20, 21, 22],
        Z: [2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 17, 32, 37, 55, 76, 133, 136, 143, 144, 155, 284, 285, 309]
    }, {G: [0], V: [0], Z: []}, {G: [1], V: [0, 1], Z: [12, 13, 14, 20, 27, 29]}, {
        G: [7],
        V: [2, 3, 4, 5, 6, 7, 8],
        Z: [0, 1]
    }, {G: [1, 0], V: [0, 1], Z: [73, 187]}, {
        G: [],
        V: [0, 1, 5, 15, 16, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34],
        Z: [2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 22, 55, 91, 155, 196, 268, 309]
    }, {G: [1, 0], V: [0, 1, 2], Z: [63, 160, 207]}, {G: [0], V: [0], Z: [2, 105]}, {
        G: [],
        V: [0, 1, 3],
        Z: [2, 11, 55, 155]
    }, {G: [], V: [], Z: [0]}, {G: [0], V: [0], Z: [11]}, {
        r: 10,
        X: 2,
        G: [4],
        V: [0, 1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 14, 15],
        Z: [6, 57, 212, 233]
    }, {G: [0], V: [0], Z: [13]}, {G: [3, 0], V: [0, 1, 3, 4], Z: [2, 8]}, {
        G: [4, 13, 18, 2, 3, 20, 12],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
        Z: [187, 334]
    }, {G: [0], V: [0], Z: []}, {G: [0], V: [0, 1, 2, 3], Z: [9, 11, 22, 119]}, {
        G: [6, 8],
        V: [1, 2, 3, 4, 5, 6, 7, 8],
        Z: [0, 58, 192, 231, 272, 323, 347, 352]
    }, {
        G: [0, 11],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 15, 16],
        Z: [8, 14, 17, 23, 43, 48, 56, 123, 125, 137, 149, 164, 166, 173, 175, 208, 268, 281, 287, 313, 335]
    }, {G: [0], V: [0, 1], Z: [8, 25]}, {G: [0], V: [0], Z: [110, 256, 274, 347]}, {
        G: [],
        V: [0, 1, 2, 3, 6, 7, 9, 10, 11],
        Z: [4, 5, 8, 12, 55, 155, 268, 309]
    }, {G: [], V: [], Z: [3]}, {G: [], V: [], Z: []}, {G: [], V: [], Z: [0, 1]}, {
        G: [0],
        V: [0],
        Z: [111, 286]
    }, {G: [], V: [], Z: [3, 20]}, {G: [3, 8, 7], V: [0, 1, 2, 3, 4, 5, 6, 7, 8], Z: [114, 237]}, {
        G: [7, 6, 0],
        V: [0, 1, 2, 3, 4, 5, 6, 7],
        Z: []
    }, {G: [0], V: [0], Z: [2]}, {G: [0], V: [0], Z: [187]}, {G: [], V: [], Z: []}, {
        G: [4],
        V: [0, 1, 2, 3, 4, 5, 6, 8],
        Z: [7, 13, 57, 212, 233]
    }, {G: [1], V: [1], Z: [0]}, {G: [3], V: [2, 3, 4], Z: [0, 1, 6, 325]}, {
        G: [],
        V: [],
        Z: [5, 8, 13, 19, 170, 195]
    }, {G: [], V: [], Z: [4, 8, 9, 19, 170, 195]}, {G: [], V: [2], Z: [0, 1, 4]}, {
        G: [12, 10, 1, 7, 4, 3],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
        Z: [117, 146, 182, 201, 232, 325]
    }, {G: [0], V: [0], Z: [5]}, {G: [0], V: [0], Z: [7, 9]}, {G: [3], V: [0, 1, 2, 3], Z: [294, 330, 338]}, {
        G: [],
        V: [0],
        Z: [19, 238, 305]
    }, {G: [0], V: [0], Z: [7]}, {G: [4, 8, 7, 5], V: [0, 1, 2, 3, 4, 5, 6, 7, 8], Z: [55, 75, 122, 155]}, {
        G: [2, 1],
        V: [0, 1, 2, 3],
        Z: [173, 208]
    }, {G: [], V: [], Z: [5]}, {G: [0], V: [0], Z: []}, {G: [], V: [0], Z: [90, 189]}, {
        G: [],
        V: [1, 2],
        Z: [0, 11, 18, 20, 24, 31]
    }, {G: [0], V: [0], Z: [2, 3, 5]}, {G: [0], V: [0], Z: [6]}, {G: [2], V: [2], Z: [0, 1, 187, 319]}, {
        G: [9],
        V: [0, 3, 4, 5, 6, 7, 9],
        Z: [1, 2, 8, 15, 16, 94, 95]
    }, {G: [2], V: [2], Z: [0, 1, 18, 172]}, {G: [0], V: [0], Z: [3, 12]}, {G: [0], V: [0], Z: [11]}, {
        G: [],
        V: [0, 3, 8, 9, 10, 13, 15, 16, 17, 22, 23, 27, 28, 30, 31, 32, 33, 34],
        Z: [1, 2, 4, 5, 6, 7, 11, 12, 14, 18, 19, 20, 21, 24, 25, 26, 29, 55, 155, 269]
    }, {
        G: [],
        V: [2, 3, 7, 9, 10, 13, 20, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42],
        Z: [0, 1, 4, 5, 6, 8, 11, 12, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 55, 69, 72, 78, 86, 122, 131, 155, 168, 187, 203, 205, 235, 247, 268, 309, 325, 340, 351]
    }, {
        r: 0,
        G: [3, 6],
        V: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
        Z: [34, 57, 134, 171, 181, 212, 233, 271, 307, 327]
    }, {G: [0], V: [0], Z: []}, {G: [1], V: [0, 1, 2, 3], Z: [7, 10, 16, 196, 246]}, {
        G: [0],
        V: [0, 1, 4],
        Z: [2, 3, 10, 15, 16, 17]
    }, {G: [], V: [], Z: [316]}, {G: [], V: [], Z: [3]}, {G: [0], V: [0], Z: [5, 120]}, {
        G: [0],
        V: [0],
        Z: []
    }, {
        G: [0],
        V: [0, 1, 2, 3],
        Z: [6, 15, 34, 57, 74, 105, 134, 171, 181, 184, 200, 212, 216, 233, 271, 307, 327, 342]
    }, {
        G: [],
        V: [2, 3, 4, 6, 8, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35],
        Z: [0, 1, 5, 7, 9, 10, 11, 12, 14, 55, 69, 71, 155, 268, 309]
    }, {G: [], V: [], Z: [141]}, {G: [0], V: [0], Z: []}, {G: [0], V: [0], Z: [7]}, {
        G: [169],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354],
        Z: []
    }, {G: [1], V: [0, 1], Z: [47, 298, 320]}, {
        G: [14],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17],
        Z: [167, 196, 287, 299, 318]
    }, {G: [6], V: [0, 1, 2, 3, 4, 5, 6], Z: [21, 55, 155]}, {
        G: [13, 2, 14, 12, 16, 7, 0, 9, 1],
        V: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16],
        Z: [10, 99]
    }];
    var bT = [1422945008, .1, 135.2, 2472873170, 7.5398223600000005, 2178539476, 1277663572, 298.2, 2147483648, 92.2, 1665874123, 849087803, 81.2, 101.2, 324.2, 1714837810, 2740402334, 9.2, 303.2, 2640555187, 23.2, 4294967296, 295.2, 536870911, 167.2, 163431059, 174.2, 33.2, 1642930949, 143.2, 205.2, 928581490, 230.2, 1980387567, 41.2, 1575876546, 3720629491, 3288891660, 1684502572, 2590961131, 2110307254, 231.2, 186.2, 65112317, 54679383, 1022461263, 132.2, 1938583666, 1254348522, 257348550135456.88, 3735928559, 109.2, 232.2, 54.2, 3535653123, 262.2, 233.2, 256.2, 282.2, 3831521185, 0x20000000000000, 3954176797, 67108864, 1933735421, 213.2, 3713287129, -126, 991964398, 83.2, -149, 283559967, 2389837486, 3142768444, .6, 569092045, .5, 29439436, 20.2, 63.2, 1724059932, 70.2, 61.2, -1022, 3890761900, 180927769, 1765169498, 970829655, 2252858910, .4, 1979095273, 2.51327412, 2504120206, 139.2, 4002437935, 141.2, 56.2, 209.2, 210225117, 2051917809, 119.2, 190.2, 0x5F04AE62AE2E5, 292.2, 65.2, 184.2, 153.2, 270.2, .3, 173.2, 229.2, 90.2, .7, .9, 3603865261, 6.2831853, 37.2, 18446744073709550000, 251.2, 123.2, 428649905, 89.2, 976327755, 59107449, 2900973275, 284.2, 121.2, 2365117294, 10.05309648, 4270223268, 1185055429, 1002885536, 77017224e4, 45.2, 1003361669, 31556952, 18.2, 74.2, 5.02654824, 220.2, 197.2, 3612956031, 3093245261, 147.2, 870690920, 155.2, 461389523, 2679805972, 1936738584, 4089660460, -1074, 122.2, 2.75, 263.2, 210.2, 3136742418, 246.2, .2, 1654939146, 99.2, 157.2, 2626527191, 4294967295, 36.2, 265.2, 1393829643, .8, 271.2, 264.2, 1788819583, 244.2, 3.5, 12.5663706, 290.2, 247.2, 1585795606, 776205888, 223.2, 72.2, 9708296550, 27.2, 38.2, 0x1FFFFFFFFFFFFF];
    var bH = [Array.prototype.filter, Array.prototype.map, Array.prototype.forEach];

    function bP(U) {
        var o = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
        var T = U.length;
        var A = new bd(bi(T * 3 / 4));
        var Q, C, N, E, i, c, b;
        for (var D = 0, q = 0; D < T; D += 4, q += 3) {
            Q = X(o, bQ(U, D));
            C = X(o, bQ(U, D + 1));
            N = X(o, bQ(U, D + 2));
            E = X(o, bQ(U, D + 3));
            i = Q << 2 | C >> 4;
            c = (C & 15) << 4 | N >> 2;
            b = (N & 3) << 6 | E;
            A[q] = i;
            if (D + 2 < T) {
                A[q + 1] = c
            }
            if (D + 3 < T) {
                A[q + 2] = b
            }
        }
        return A
    }

    var m = {value: null, writable: true};

    function bk() {
        this.O = []
    }

    var K = bk.prototype;
    bN(K, "O", m);
    bN(K, "c", {
        value: function (A) {
            this.O[A] = {v: void 0}
        }
    });
    bN(K, "F", {
        value: function (A) {
            return this.O[A].v
        }
    });
    bN(K, "d", {
        value: function (b, A) {
            this.O[b].v = A
        }
    });
    bN(K, "A", {
        value: function () {
            var A = new bk;
            A.O = [].slice !== I ? e(this.O, 0) : this.O.slice(0);
            return A
        }
    });

    function J() {
        var A = [];
        bN(A, "e", {value: f});
        bN(A, "t", {value: V});
        bN(A, "p", {value: I});
        bN(A, "U", {value: k});
        return A
    }

    function bp(c, i, b, A) {
        this.a = J();
        this.Y = J();
        this.C = J();
        this.x = void 0;
        this.N = i;
        this.i = c;
        this.H = b;
        this.W = A == null ? g : bL(A);
        this.K = A;
        this.q = 0
    }

    var B = bp.prototype;
    bN(B, "P", {
        value: function () {
            {
                var A = bv[this.N][Z[this.i++]];
                this.N = A[0];
                return A[1]
            }
        }
    });
    bN(B, "a", m);
    bN(B, "Y", m);
    bN(B, "C", m);
    bN(B, "x", m);
    bN(B, "N", m);
    bN(B, "i", m);
    bN(B, "H", m);
    bN(B, "W", m);
    bN(B, "K", m);
    bN(B, "q", m);

    function bU(c, b) {
        try {
            c(b)
        } catch (A) {
            bE(A, b)
        }
    }

    function bE(i, A) {
        var c = A.C.e();
        for (var b = 0; b < c.h; ++b) {
            A.Y.e()
        }
        A.Y.t({v: true, S: i});
        A.i = c.I;
        A.N = c.N
    }

    var bs = [function (A) {
        var T = Z[A.i];
        var i = Z[A.i + 1];
        A.i += 2;
        var c = A.H.F(i);
        A.a[A.a.length] = T & c
    }, function (A) {
        var T = Z[A.i];
        var i = Z[A.i + 1];
        A.i += 2;
        var c = A.H.F(T);
        A.H.d(i, c);
        A.a[A.a.length] = c
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1] << 16 | (Z[A.i + 2] << 8 | Z[A.i + 3]);
        var q = Z[A.i + 4];
        A.i += 5;
        var T = A.a[A.a.length - 2];
        var i = A.a[A.a.length - 1];
        var c = T[i];
        A.H.d(E, c);
        A.q = {i: A.i, N: A.N};
        A.i = U;
        A.N = q;
        A.a.length -= 2
    }, function (A) {
        var T = Z[A.i];
        var i = Z[A.i + 1];
        A.i += 2;
        var c = A.H.F(T);
        A.a[A.a.length] = c + i
    }, function (A) {
        var q = Z[A.i];
        var T = Z[A.i + 1];
        A.i += 2;
        var i = [];
        var b = A.a.length;
        A.a[b] = q;
        A.a[b + 1] = i;
        A.a[b + 2] = T
    }, function (A) {
        var T = Z[A.i];
        A.i += 1;
        var i = A.a[A.a.length - 1];
        A.H.d(T, i);
        var c = null;
        A.a[A.a.length - 1] = i == c
    }, function (A) {
        A.a[A.a.length] = false
    }, function (A) {
        con3(A.a[A.a.length - 2], '+', A.a[A.a.length - 1], '==', A.a[A.a.length - 2] + A.a[A.a.length - 1]);
        A.a[A.a.length - 2] = A.a[A.a.length - 2] + A.a[A.a.length - 1];
        if (A.a[A.a.length - 2] === 2970092231) {
            debugger;
        }
        A.a.length -= 1
    }, function (A) {
        var U = Z[A.i];
        var q = Z[A.i + 1];
        var T = Z[A.i + 2];
        var i = Z[A.i + 3];
        A.i += 4;
        var c = A.a[A.a.length - 1];
        A.H.d(U, c);
        A.H.d(T, q);
        A.a[A.a.length - 1] = A.H.F(i)
    }, function (A) {
        con3(A.a[A.a.length - 2], '>', A.a[A.a.length - 1], '==', A.a[A.a.length - 2] > A.a[A.a.length - 1]);
        A.a[A.a.length - 2] = A.a[A.a.length - 2] > A.a[A.a.length - 1];
        A.a.length -= 1
    }, function (A) {
        var q = j[Z[A.i] << 8 | Z[A.i + 1]];
        var T = Z[A.i + 2];
        A.i += 3;
        var i = A.a[A.a.length - 1];
        var c = i[q];
        A.H.d(T, c);
        A.a.length -= 1
    }, function (A) {
        var N = Z[A.i];
        var E = Z[A.i + 1] << 16 | (Z[A.i + 2] << 8 | Z[A.i + 3]);
        var U = Z[A.i + 4];
        A.i += 5;
        var q = A.a[A.a.length - 3];
        var T = A.a[A.a.length - 2];
        var i = A.a[A.a.length - 1];
        bN(q, T, {writable: true, configurable: true, enumerable: true, value: i});
        A.q = {i: A.i, N: A.N};
        A.i = E;
        A.N = U;
        var b = A.a.length - 3;
        A.a[b] = q;
        A.a[b + 1] = N;
        A.a.length -= 1
    }, function (A) {
        ++A.C[A.C.length - 1].h
    }, function (A) {
        var b = j[Z[A.i] << 8 | Z[A.i + 1]];
        A.i += 2;
        if (!(b in g)) {
            throw new br(b + " is not defined.")
        }
        A.a[A.a.length] = g[b]
    }, function (A) {
        var b = j[Z[A.i] << 8 | Z[A.i + 1]];
        A.i += 2;
        let res = bt(b);
        res = new Proxy(res, {
            get(target, p, receiver) {
                let res = Reflect.get(target, p, receiver);
                //   debugger;
                // }
                if (p === 'exec') {
                    return v_saf(function (args) {
                        // if (args.indexOf('strokeStyle')> -1){
                        //     debugger;
                        // }
                        let res1 =  new RegExp(target).exec(args)
                        print(`${target} exec1`, args, 'rrr', res1)

                        return res1;
                        // if (target === /{\s*\[\s*native\s+code\s*]\s*}\s*$/){
                        // return /{\s*\[\s*native\s+code\s*]\s*}\s*$/.exec(args)
                        // }
                    })
                }
                return res;
            }
        })
        A.a[A.a.length] = res;
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1];
        A.i += 2;
        var q = A.a[A.a.length - 2];
        var T = A.a[A.a.length - 1];
        var i = q ^ T;
        A.H.d(E, i);
        var b = A.a.length - 2;
        A.a[b] = i;
        A.a[b + 1] = U
    }, function (A) {
        let res = A.a[A.a.length - 2][A.a[A.a.length - 1]];
        if (A.a[A.a.length -1 ]=== 'xhrLoadEndTs'){
            print('xhrLoadEndTs',A.a[A.a.length - 2])
        }
         if (typeof res === 'boolean'){
            print(A.a[A.a.length - 2])
        }
        con3(A.a[A.a.length - 2], 'get', A.a[A.a.length - 1], '=', res)
        A.a[A.a.length - 2] = res;
        A.a.length -= 1
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1];
        A.i += 2;
        var q = A.a[A.a.length - 3];
        var T = A.a[A.a.length - 2];
        var i = A.a[A.a.length - 1];
        bN(q, T, {writable: true, configurable: true, enumerable: true, value: i});
        var b = A.a.length - 3;
        A.a[b] = q;
        A.a[b + 1] = E;
        A.a[b + 2] = A.H.F(U)
    }, function (b) {
        var A = j[Z[b.i] << 8 | Z[b.i + 1]];
        b.i += 2;
        b.a[b.a.length] = A
    }, function (A) {
        A.a.length -= 1
    }, function (b) {
        var A = bH[Z[b.i]];
        b.i += 1;
        b.a[b.a.length] = A
    }, function (b) {
        var A = Z[b.i] << 8 | Z[b.i + 1];
        b.i += 2;
        b.a[b.a.length] = A
    }, function (A) {
        con3(A.a[A.a.length - 2], '<<', A.a[A.a.length - 1], '==', A.a[A.a.length - 2] << A.a[A.a.length - 1]);
        A.a[A.a.length - 2] = A.a[A.a.length - 2] << A.a[A.a.length - 1];
        A.a.length -= 1
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1];
        A.i += 2;
        var q = A.H.F(E);
        var T = A.H.F(U);
        var i = q[T];
        var b = A.a.length;
        A.a[b] = i;
        A.a[b + 1] = i
    }, function (A) {
        var U = Z[A.i];
        var q = Z[A.i + 1] << 8 | Z[A.i + 2];
        var T = Z[A.i + 3];
        A.i += 4;
        var i = A.a[A.a.length - 1];
        bN(i, U, {writable: true, configurable: true, enumerable: true, value: q});
        var b = A.a.length - 1;
        A.a[b] = i;
        A.a[b + 1] = T
    }, function (b) {
        var D = Z[b.i] << 8 | Z[b.i + 1];
        b.i += 2;
        var i = b.a[b.a.length - 1];
        var N = i + "," + D;
        var c = P[N];
        if (typeof c !== "undefined") {
            b.a[b.a.length - 1] = c;
            return
        }
        var E = j[D];
        var A = bP(E);
        var T = bP(i);
        var q = A[0] + T[0] & 255;
        var C = "";
        for (var U = 1; U < A.length; ++U) {
            C += bA(T[U] ^ A[U] ^ q)
        }
        b.a[b.a.length - 1] = P[N] = C
    }, function (A) {
        var U = Z[A.i];
        var q = Z[A.i + 1];
        var T = Z[A.i + 2];
        A.i += 3;
        var i = A.H.F(U);
        var c = i[q];
        A.H.d(T, c)
    }, function (b) {
        var r = j[Z[b.i] << 8 | Z[b.i + 1]];
        var t = Z[b.i + 2] << 8 | Z[b.i + 3];
        b.i += 4;
        var o = {};
        var i = r;
        var C = i + "," + t;
        var c = P[C];
        if (typeof c !== "undefined") {
            var E = b.a.length;
            b.a[E] = o;
            b.a[E + 1] = c;
            return
        }
        var N = j[t];
        var A = bP(N);
        var T = bP(i);
        var q = A[0] + T[0] & 255;
        var Q = "";
        for (var U = 1; U < A.length; ++U) {
            Q += bA(T[U] ^ A[U] ^ q)
        }
        var E = b.a.length;
        b.a[E] = o;
        b.a[E + 1] = P[C] = Q
    }, function (A) {
        A.a[A.a.length - 2] = A.a[A.a.length - 2][A.a[A.a.length - 1]]();
        A.a.length -= 1
    }, function (A) {
        var i = Z[A.i];
        var b = Z[A.i + 1];
        A.i = i;
        A.N = b
    }, function (A) {
        var U = Z[A.i];
        var q = Z[A.i + 1];
        A.i += 2;
        var i = A.H.F(U);
        var c = i[q];
        var T = A.a[A.a.length - 1];
        A.a[A.a.length - 1] = T + c
    }, function (A) {
        var N = Z[A.i] << 8 | Z[A.i + 1];
        A.i += 2;
        var E = A.a[A.a.length - 2];
        var U = A.a[A.a.length - 1];
        var T = Y(N, U, E, A.H);
        var q = A.a[A.a.length - 3];
        var b = q;
        var i = b(T);
        A.a.length -= 3
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1] << 16 | (Z[A.i + 2] << 8 | Z[A.i + 3]);
        var q = Z[A.i + 4];
        A.i += 5;
        var i = A.H.F(E);
        var T = A.a[A.a.length - 1];
        var c = T < i;
        if (!c) {
            A.i = U;
            A.N = q
        }
        A.a.length -= 1
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1];
        var q = Z[A.i + 2];
        var T = Z[A.i + 3];
        A.i += 4;
        var i = A.H.F(E);
        A.H.d(U, i);
        var c = A.H.F(q);
        A.H.d(T, c)
    }, function (A) {
        var N = Z[A.i];
        var E = Z[A.i + 1] << 16 | (Z[A.i + 2] << 8 | Z[A.i + 3]);
        var U = Z[A.i + 4];
        A.i += 5;
        var T = A.H.F(N);
        var q = A.a[A.a.length - 1];
        var i = q[T];
        var b = A.a.length - 1;
        A.a[b] = i;
        A.a[b + 1] = U;
        A.a[b + 2] = E
    }, function (A) {
        con3(A.a[A.a.length - 2], '^', A.a[A.a.length - 1], '==', A.a[A.a.length - 2] ^ A.a[A.a.length - 1]);
        A.a[A.a.length - 2] = A.a[A.a.length - 2] ^ A.a[A.a.length - 1];
        A.a.length -= 1
    }, function (A) {
        var b = A.a[A.a.length - 2];
        A.a[A.a.length - 2] = new b(A.a[A.a.length - 1]);
        A.a.length -= 1
    }, function (A) {
        A.a[A.a.length] = {}
    }, function (A) {
        A.a[A.a.length - 1] = bM(A.a[A.a.length - 1])
    }, function (A) {
        var T = Z[A.i];
        A.i += 1;
        var i = null;
        var c = A.H.F(T);
        A.a[A.a.length] = i == c
    }, function (A) {
        A.a.t(function () {
            null[0]()
        })
    }, function (A) {
        var i = Z[A.i] << 8 | Z[A.i + 1];
        var b = Z[A.i + 2];
        A.i += 3;
        if (!A.a[A.a.length - 1]) {
            A.i = i;
            A.N = b
        }
        A.a.length -= 1
    }, function (A) {
        "use strict";
        con3(A.a[A.a.length - 3], 'set', A.a[A.a.length - 2], '=', A.a[A.a.length - 1])
        A.a[A.a.length - 3][A.a[A.a.length - 2]] = A.a[A.a.length - 1];
        A.a.length -= 3
    }, function (A) {
        var U = Z[A.i];
        var q = Z[A.i + 1];
        A.i += 2;
        var T = A.a[A.a.length - 1];
        A.H.d(U, T);
        var i = null;
        var b = A.a.length - 1;
        A.a[b] = i;
        A.a[b + 1] = A.H.F(q)
    }, function (A) {
        var q = Z[A.i];
        var T = Z[A.i + 1];
        var i = Z[A.i + 2];
        A.i += 3;
        var b = A.a.length;
        A.a[b] = q;
        A.a[b + 1] = T;
        A.a[b + 2] = A.H.F(i)
    }, function (b) {
        var A = Z[b.i] << 16 | (Z[b.i + 1] << 8 | Z[b.i + 2]);
        b.i += 3;
        b.a[b.a.length] = A
    }, function (A) {
        var b = A.a[A.a.length - 3];
        A.a[A.a.length - 3] = b(A.a[A.a.length - 2], A.a[A.a.length - 1]);
        A.a.length -= 2
    }, function (b) {
        var r = j[Z[b.i] << 8 | Z[b.i + 1]];
        var t = Z[b.i + 2] << 8 | Z[b.i + 3];
        b.i += 4;
        b1:{
            var i = r;
            var N = i + "," + t;
            var c = P[N];
            if (typeof c !== "undefined") {
                var D = c;
                break b1
            }
            var E = j[t];
            var A = bP(E);
            var T = bP(i);
            var q = A[0] + T[0] & 255;
            var C = "";
            for (var U = 1; U < A.length; ++U) {
                C += bA(T[U] ^ A[U] ^ q)
            }
            var D = P[N] = C
        }
        var o = b.a[b.a.length - 1];
        b.a[b.a.length - 1] = o[D]()
    }, function (b) {
        var A = Z[b.i];
        b.i += 1;
        b.a[b.a.length] = b.H.F(A)
    }, function (A) {
        var C = Z[A.i];
        var N = Z[A.i + 1];
        A.i += 2;
        var T = A.H.F(C);
        var i = A.H.F(N);
        var E = A.a[A.a.length - 3];
        var U = A.a[A.a.length - 2];
        var q = A.a[A.a.length - 1];
        var b = E;
        A.a[A.a.length - 3] = b(U, q, T, i);
        A.a.length -= 2
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1];
        A.i += 2;
        var q = A.a[A.a.length - 2];
        var T = A.a[A.a.length - 1];
        var b = q;
        var i = b(T);
        A.H.d(E, i);
        A.a[A.a.length - 2] = A.H.F(U);
        A.a.length -= 1
    }, function (A) {
        var i = Z[A.i] << 16 | (Z[A.i + 1] << 8 | Z[A.i + 2]);
        var b = Z[A.i + 3];
        A.i += 4;
        A.C.t({I: i, N: b, h: 0})
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1] << 8 | Z[A.i + 2];
        var q = Z[A.i + 3];
        A.i += 4;
        var T = A.a[A.a.length - 1];
        A.H.d(E, T);
        var i = A.H.F(U);
        var b = A.a.length - 1;
        A.a[b] = i;
        A.a[b + 1] = A.H.F(q)
    }, function (A) {
        var b = A.C.e();
        var c = {v: false, S: A.i, N: A.N};
        A.Y.t(c);
        A.i = b.I;
        A.N = b.N
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1];
        var q = Z[A.i + 2];
        A.i += 3;
        var T = A.a[A.a.length - 1];
        A.H.d(E, T);
        var i = A.a[A.a.length - 2];
        A.H.d(U, i);
        var c = A.a[A.a.length - 3];
        A.H.d(q, c);
        A.a.length -= 3
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1];
        var q = Z[A.i + 2];
        A.i += 3;
        var T = A.a[A.a.length - 1];
        A.H.d(E, T);
        var i = [];
        var b = A.a.length - 1;
        A.a[b] = i;
        A.a[b + 1] = U;
        A.a[b + 2] = A.H.F(q)
    }, function (A) {
        var N = bT[Z[A.i]];
        var E = Z[A.i + 1];
        A.i += 2;
        var U = A.a[A.a.length - 2];
        var q = A.a[A.a.length - 1];
        var T = U << q;
        var i = T & N;
        var b = A.a.length - 2;
        A.a[b] = i;
        A.a[b + 1] = A.H.F(E)
    }, function (A) {
        var b = A.a[A.a.length - 1];
        A.a[A.a.length - 1] = new b
    }, function (A) {
        var i = Z[A.i] << 16 | (Z[A.i + 1] << 8 | Z[A.i + 2]);
        var b = Z[A.i + 3];
        A.i += 4;
        Z[i] = b
    }, function (A) {
        var b = A.a[A.a.length - 8];
        A.a[A.a.length - 8] = b(A.a[A.a.length - 7], A.a[A.a.length - 6], A.a[A.a.length - 5], A.a[A.a.length - 4], A.a[A.a.length - 3], A.a[A.a.length - 2], A.a[A.a.length - 1]);
        A.a.length -= 7
    }, function (A) {
        con3(A.a[A.a.length - 2], '>>>', A.a[A.a.length - 1], '==', A.a[A.a.length - 2] >>> A.a[A.a.length - 1]);
        A.a[A.a.length - 2] = A.a[A.a.length - 2] >>> A.a[A.a.length - 1];
        A.a.length -= 1
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1];
        var q = Z[A.i + 2];
        A.i += 3;
        var T = A.a[A.a.length - 1];
        A.H.d(E, T);
        var i = A.H.F(U);
        var b = A.a.length - 1;
        A.a[b] = i;
        A.a[b + 1] = A.H.F(q)
    }, function (A) {
        var C = Z[A.i];
        var N = Z[A.i + 1];
        var E = Z[A.i + 2];
        var U = Z[A.i + 3] << 16 | (Z[A.i + 4] << 8 | Z[A.i + 5]);
        var q = Z[A.i + 6];
        A.i += 7;
        var T = A.H.F(C);
        var i = A.H.F(E);
        A.q = {i: A.i, N: A.N};
        A.i = U;
        A.N = q;
        var b = A.a.length;
        A.a[b] = T;
        A.a[b + 1] = N;
        A.a[b + 2] = i
    }, function (A) {
        var E = Z[A.i];
        A.i += 1;
        var U = A.a[A.a.length - 2];
        var q = A.a[A.a.length - 1];
        var i = U[q];
        var T = A.a[A.a.length - 3];
        var c = T ^ i;
        A.H.d(E, c);
        A.a[A.a.length - 3] = c;
        A.a.length -= 2
    }, function (A) {
        throw A.a[A.a.length - 1];
        A.a.length -= 1
    }, function (A) {
        var b = A.Y.e();
        if (b.v) {
            throw b.S
        }
        A.i = b.S;
        A.N = b.N
    }, function (b) {
        var L = j[Z[b.i] << 8 | Z[b.i + 1]];
        var r = j[Z[b.i + 2] << 8 | Z[b.i + 3]];
        var t = Z[b.i + 4] << 8 | Z[b.i + 5];
        b.i += 6;
        if (!(L in g)) {
            throw new br(L + " is not defined.")
        }
        var o = g[L];
        var i = r;
        var C = i + "," + t;
        var c = P[C];
        if (typeof c !== "undefined") {
            var E = b.a.length;
            b.a[E] = o;
            b.a[E + 1] = c;
            return
        }
        var N = j[t];
        var A = bP(N);
        var T = bP(i);
        var q = A[0] + T[0] & 255;
        var Q = "";
        for (var U = 1; U < A.length; ++U) {
            Q += bA(T[U] ^ A[U] ^ q)
        }
        var E = b.a.length;
        b.a[E] = o;
        b.a[E + 1] = P[C] = Q
    }, function (A) {
        var i = Z[A.i];
        var b = Z[A.i + 1];
        A.i += 2;
        A.C.t({I: i, N: b, h: 0})
    }, function (A) {
        var U = Z[A.i];
        var q = Z[A.i + 1];
        var T = Z[A.i + 2];
        A.i += 3;
        var i = A.H.F(q);
        var b = A.a.length;
        A.a[b] = U;
        A.a[b + 1] = i;
        A.a[b + 2] = T
    }, function (A) {
        var U = Z[A.i];
        var q = Z[A.i + 1];
        A.i += 2;
        var T = A.H.F(U);
        var i = A.H.F(q);
        var b = T;
        A.a[A.a.length] = b(i)
    }, function (b) {
        var x = Z[b.i] << 8 | Z[b.i + 1];
        var M = Z[b.i + 2];
        var L = j[Z[b.i + 3] << 8 | Z[b.i + 4]];
        b.i += 5;
        b0:{
            var r = b.a[b.a.length - 1];
            var i = r;
            var C = i + "," + x;
            var c = P[C];
            if (typeof c !== "undefined") {
                var o = c;
                break b0
            }
            var N = j[x];
            var A = bP(N);
            var T = bP(i);
            var q = A[0] + T[0] & 255;
            var Q = "";
            for (var U = 1; U < A.length; ++U) {
                Q += bA(T[U] ^ A[U] ^ q)
            }
            var o = P[C] = Q
        }
        var t = b.a[b.a.length - 2];
        bN(t, o, {writable: true, configurable: true, enumerable: true, value: M});
        var E = b.a.length - 2;
        b.a[E] = t;
        b.a[E + 1] = L
    }, function (A) {
        var U = j[Z[A.i] << 8 | Z[A.i + 1]];
        var q = Z[A.i + 2];
        A.i += 3;
        var T = A.a[A.a.length - 1];
        var i = T[U];
        var b = A.a.length - 1;
        A.a[b] = i;
        A.a[b + 1] = A.H.F(q)
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1];
        A.i += 2;
        var q = A.a[A.a.length - 3];
        var T = A.a[A.a.length - 2];
        var i = A.a[A.a.length - 1];
        bN(q, T, {writable: true, configurable: true, enumerable: true, value: i});
        A.H.d(E, q);
        var c = A.a[A.a.length - 4];
        A.H.d(U, c);
        A.a.length -= 4
    }, function (b) {
        var L = j[Z[b.i] << 8 | Z[b.i + 1]];
        var r = Z[b.i + 2] << 8 | Z[b.i + 3];
        var t = j[Z[b.i + 4] << 8 | Z[b.i + 5]];
        b.i += 6;
        b1:{
            var i = L;
            var C = i + "," + r;
            var c = P[C];
            if (typeof c !== "undefined") {
                var o = c;
                break b1
            }
            var N = j[r];
            var A = bP(N);
            var T = bP(i);
            var q = A[0] + T[0] & 255;
            var Q = "";
            for (var U = 1; U < A.length; ++U) {
                Q += bA(T[U] ^ A[U] ^ q)
            }
            var o = P[C] = Q
        }
        var E = b.a.length;
        b.a[E] = o;
        b.a[E + 1] = t
    }, function (A) {
        if (A.a[A.a.length - 1] === null || A.a[A.a.length - 1] === void 0) {
            throw new bD(A.a[A.a.length - 1] + " is not an object")
        }
        A.a[A.a.length - 1] = bL(A.a[A.a.length - 1])
    }, function (A) {
        var Q = Z[A.i];
        var C = Z[A.i + 1];
        A.i += 2;
        var N = A.a[A.a.length - 5];
        var E = A.a[A.a.length - 4];
        var U = A.a[A.a.length - 3];
        var q = A.a[A.a.length - 2];
        var T = A.a[A.a.length - 1];
        var b = N;
        var i = b(E, U, q, T);
        A.H.d(Q, i);
        A.a[A.a.length - 5] = A.H.F(C);
        A.a.length -= 4
    }, function (A) {
        var b = [];
        for (var c in A.a[A.a.length - 1]) {
            R(b, c)
        }
        A.a[A.a.length - 1] = b
    }, function (A) {
        con3(A.a[A.a.length - 2], '>=', A.a[A.a.length - 1], '==', A.a[A.a.length - 2] >= A.a[A.a.length - 1]);
        A.a[A.a.length - 2] = A.a[A.a.length - 2] >= A.a[A.a.length - 1];
        A.a.length -= 1
    }, function (A) {
        --A.C[A.C.length - 1].h
    }, function (b) {
        var M = j[Z[b.i] << 8 | Z[b.i + 1]];
        var L = Z[b.i + 2] << 8 | Z[b.i + 3];
        b.i += 4;
        var r = b.a[b.a.length - 2];
        var t = b.a[b.a.length - 1];
        var o = r[t];
        var i = M;
        var C = i + "," + L;
        var c = P[C];
        if (typeof c !== "undefined") {
            var E = b.a.length - 2;
            b.a[E] = o;
            b.a[E + 1] = c;
            return
        }
        var N = j[L];
        var A = bP(N);
        var T = bP(i);
        var q = A[0] + T[0] & 255;
        var Q = "";
        for (var U = 1; U < A.length; ++U) {
            Q += bA(T[U] ^ A[U] ^ q)
        }
        var E = b.a.length - 2;
        b.a[E] = o;
        b.a[E + 1] = P[C] = Q
    }, function (A) {
        // print(A.a[A.a.length - 2], '%', A.a[A.a.length - 1], '=', A.a[A.a.length - 2] % A.a[A.a.length - 1])
        con3(A.a[A.a.length - 2], '%', A.a[A.a.length - 1], '==', A.a[A.a.length - 2] % A.a[A.a.length - 1]);
        A.a[A.a.length - 2] = A.a[A.a.length - 2] % A.a[A.a.length - 1];
        A.a.length -= 1
    }, function (A) {
        var q = Z[A.i];
        var T = Z[A.i + 1] << 16 | (Z[A.i + 2] << 8 | Z[A.i + 3]);
        var i = Z[A.i + 4];
        A.i += 5;
        var c = A.H.F(q);
        A.q = {i: A.i, N: A.N};
        A.i = T;
        A.N = i;
        A.a[A.a.length - 1] = c
    }, function (A) {
        con3(A.a[A.a.length - 2], '<=', A.a[A.a.length - 1], '==', A.a[A.a.length - 2] <= A.a[A.a.length - 1]);
        A.a[A.a.length - 2] = A.a[A.a.length - 2] <= A.a[A.a.length - 1];
        A.a.length -= 1
    }, function (A) {
        A.i = A.a[A.a.length - 1];
        A.N = A.a[A.a.length - 2];
        A.a.length -= 2
    }, function (A) {
        A.a[A.a.length] = void 0
    }, function (A) {
        var U = j[Z[A.i] << 8 | Z[A.i + 1]];
        var q = Z[A.i + 2] << 16 | (Z[A.i + 3] << 8 | Z[A.i + 4]);
        var T = Z[A.i + 5];
        A.i += 6;
        var i = A.a[A.a.length - 1];
        var c = i[U];
        A.q = {i: A.i, N: A.N};
        A.i = q;
        A.N = T;
        A.a[A.a.length - 1] = c
    }, function (A) {
        var i = Z[A.i] << 16 | (Z[A.i + 1] << 8 | Z[A.i + 2]);
        var b = Z[A.i + 3];
        A.i += 4;
        A.q = {i: A.i, N: A.N};
        A.i = i;
        A.N = b
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1];
        var q = Z[A.i + 2];
        A.i += 3;
        var T = A.H.F(E);
        var i = A.H.F(U);
        var b = A.a.length;
        A.a[b] = T;
        A.a[b + 1] = i;
        A.a[b + 2] = q
    }, function (A) {
        var q = Z[A.i];
        var T = j[Z[A.i + 1] << 8 | Z[A.i + 2]];
        A.i += 3;
        var i = [];
        var b = A.a.length;
        A.a[b] = i;
        A.a[b + 1] = q;
        A.a[b + 2] = T
    }, function (A) {
        var N = Z[A.i];
        var E = Z[A.i + 1];
        A.i += 2;
        var U = A.a[A.a.length - 2];
        var q = A.a[A.a.length - 1];
        var T = U | q;
        A.H.d(N, T);
        var i = [];
        var b = A.a.length - 2;
        A.a[b] = i;
        A.a[b + 1] = E
    }, function (A) {
        var q = Z[A.i];
        var T = Z[A.i + 1];
        A.i += 2;
        var i = A.a[A.a.length - 1];
        A.H.d(q, i);
        var b = A.a.length - 1;
        A.a[b] = i;
        A.a[b + 1] = A.H.F(T)
    }, function (b) {
        var H = Z[b.i] << 8 | Z[b.i + 1];
        var v = Z[b.i + 2];
        b.i += 3;
        b0:{
            var x = b.a[b.a.length - 1];
            var i = x;
            var C = i + "," + H;
            var c = P[C];
            if (typeof c !== "undefined") {
                var t = c;
                break b0
            }
            var N = j[H];
            var A = bP(N);
            var T = bP(i);
            var q = A[0] + T[0] & 255;
            var Q = "";
            for (var U = 1; U < A.length; ++U) {
                Q += bA(T[U] ^ A[U] ^ q)
            }
            var t = P[C] = Q
        }
        var M = b.a[b.a.length - 2];
        var o = bt(t, M);
        var L = b.a[b.a.length - 4];
        var r = b.a[b.a.length - 3];
        bN(L, r, {writable: true, configurable: true, enumerable: true, value: o});
        var E = b.a.length - 4;
        b.a[E] = L;
        b.a[E + 1] = v;
        b.a.length -= 2
    }, function (A) {
        var U = Z[A.i] << 16 | (Z[A.i + 1] << 8 | Z[A.i + 2]);
        var q = Z[A.i + 3] << 16 | (Z[A.i + 4] << 8 | Z[A.i + 5]);
        A.i += 6;
        var T = A.a[A.a.length - 2];
        var i = A.a[A.a.length - 1];
        var b = T;
        A.a[A.a.length - 2] = b(i, U, q);
        A.a.length -= 1
    }, function (b) {
        var A = Z[b.i];
        b.i += 1;
        b.H.d(A, b.a[b.a.length - 1]);
        b.a.length -= 1
    }, function (A) {
        var U = Z[A.i];
        var q = Z[A.i + 1];
        A.i += 2;
        var T = A.a[A.a.length - 3];
        var i = A.a[A.a.length - 2];
        var c = A.a[A.a.length - 1];
        bN(T, i, {writable: true, configurable: true, enumerable: true, value: c});
        A.H.d(U, T);
        A.a[A.a.length - 3] = A.H.F(q);
        A.a.length -= 2
    }, function (b) {
        var M = Z[b.i] << 8 | Z[b.i + 1];
        var L = Z[b.i + 2];
        b.i += 3;
        b0:{
            var r = b.a[b.a.length - 1];
            var i = r;
            var N = i + "," + M;
            var c = P[N];
            if (typeof c !== "undefined") {
                var o = c;
                break b0
            }
            var E = j[M];
            var A = bP(E);
            var T = bP(i);
            var q = A[0] + T[0] & 255;
            var C = "";
            for (var U = 1; U < A.length; ++U) {
                C += bA(T[U] ^ A[U] ^ q)
            }
            var o = P[N] = C
        }
        var t = b.a[b.a.length - 2];
        var D = t[o];
        b.H.d(L, D);
        b.a.length -= 2
    }, function (b) {
        var v = Z[b.i] << 8 | Z[b.i + 1];
        var x = Z[b.i + 2];
        var M = j[Z[b.i + 3] << 8 | Z[b.i + 4]];
        b.i += 5;
        b0:{
            var L = b.a[b.a.length - 1];
            var i = L;
            var C = i + "," + v;
            var c = P[C];
            if (typeof c !== "undefined") {
                var o = c;
                break b0
            }
            var N = j[v];
            var A = bP(N);
            var T = bP(i);
            var q = A[0] + T[0] & 255;
            var Q = "";
            for (var U = 1; U < A.length; ++U) {
                Q += bA(T[U] ^ A[U] ^ q)
            }
            var o = P[C] = Q
        }
        var r = b.a[b.a.length - 3];
        var t = b.a[b.a.length - 2];
        bN(r, t, {writable: true, configurable: true, enumerable: true, value: o});
        var E = b.a.length - 3;
        b.a[E] = r;
        b.a[E + 1] = x;
        b.a[E + 2] = M
    }, function (b) {
        var M = j[Z[b.i] << 8 | Z[b.i + 1]];
        var L = Z[b.i + 2] << 8 | Z[b.i + 3];
        b.i += 4;
        var o = null;
        var r = b.a[b.a.length - 2];
        var t = b.a[b.a.length - 1];
        bN(r, t, {writable: true, configurable: true, enumerable: true, value: o});
        var i = M;
        var C = i + "," + L;
        var c = P[C];
        if (typeof c !== "undefined") {
            var E = b.a.length - 2;
            b.a[E] = r;
            b.a[E + 1] = c;
            return
        }
        var N = j[L];
        var A = bP(N);
        var T = bP(i);
        var q = A[0] + T[0] & 255;
        var Q = "";
        for (var U = 1; U < A.length; ++U) {
            Q += bA(T[U] ^ A[U] ^ q)
        }
        var E = b.a.length - 2;
        b.a[E] = r;
        b.a[E + 1] = P[C] = Q
    }, function (b) {
        "use strict";
        var v = Z[b.i];
        var x = j[Z[b.i + 1] << 8 | Z[b.i + 2]];
        var M = Z[b.i + 3] << 8 | Z[b.i + 4];
        b.i += 5;
        var L = b.a[b.a.length - 3];
        var r = b.a[b.a.length - 2];
        var t = b.a[b.a.length - 1];
        L[r] = t;
        var o = b.H.F(v);
        var i = x;
        var C = i + "," + M;
        var c = P[C];
        if (typeof c !== "undefined") {
            var E = b.a.length - 3;
            b.a[E] = o;
            b.a[E + 1] = c;
            b.a.length -= 1;
            return
        }
        var N = j[M];
        var A = bP(N);
        var T = bP(i);
        var q = A[0] + T[0] & 255;
        var Q = "";
        for (var U = 1; U < A.length; ++U) {
            Q += bA(T[U] ^ A[U] ^ q)
        }
        var E = b.a.length - 3;
        b.a[E] = o;
        b.a[E + 1] = P[C] = Q;
        b.a.length -= 1
    }, function (b) {
        var A = bT[Z[b.i]];
        b.i += 1;
        b.a[b.a.length] = A
    }, function (b) {
        var A = Z[b.i] << 8 | Z[b.i + 1];
        b.i += 2;
        b.a[b.a.length] = b.H.F(A)
    }, function (A) {
        if (typeof A.a[A.a.length - 1] === "object" || typeof A.a[A.a.length - 1] === "function") {
            A.a[A.a.length - 1] = bC(A.a[A.a.length - 1]);
            return
        }
        A.a[A.a.length - 1] = {}
    }, function (A) {
        var i = Z[A.i];
        var b = Z[A.i + 1];
        A.i += 2;
        if (!A.a[A.a.length - 1]) {
            A.i = i;
            A.N = b
        }
        A.a.length -= 1
    }, function (A) {
        A.a[A.a.length - 1] = typeof A.a[A.a.length - 1]
    }, function (A) {
        var i = Z[A.i] << 8 | Z[A.i + 1];
        var b = Z[A.i + 2];
        A.i += 3;
        A.q = {i: A.i, N: A.N};
        A.i = i;
        A.N = b
    }, function (A) {
        var q = Z[A.i];
        var T = Z[A.i + 1];
        A.i += 2;
        var i = [];
        var b = A.a.length;
        A.a[b] = i;
        A.a[b + 1] = q;
        A.a[b + 2] = T
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1];
        var q = Z[A.i + 2] << 16 | (Z[A.i + 3] << 8 | Z[A.i + 4]);
        var T = Z[A.i + 5];
        A.i += 6;
        var i = A.a[A.a.length - 1];
        A.H.d(E, i);
        var c = A.H.F(U);
        A.q = {i: A.i, N: A.N};
        A.i = q;
        A.N = T;
        A.a[A.a.length - 1] = c
    }, function (A) {
        bB = void 0
    }, function (A) {
        var N = Z[A.i];
        var E = Z[A.i + 1];
        var U = Z[A.i + 2] << 16 | (Z[A.i + 3] << 8 | Z[A.i + 4]);
        var q = Z[A.i + 5];
        A.i += 6;
        var T = [];
        var i = A.H.F(E);
        A.q = {i: A.i, N: A.N};
        A.i = U;
        A.N = q;
        var b = A.a.length;
        A.a[b] = T;
        A.a[b + 1] = N;
        A.a[b + 2] = i
    }, function (A) {
        con3(A.a[A.a.length - 2], '!==', A.a[A.a.length - 1], '==', A.a[A.a.length - 2] !== A.a[A.a.length - 1]);
        A.a[A.a.length - 2] = A.a[A.a.length - 2] !== A.a[A.a.length - 1];
        A.a.length -= 1
    }, function (A) {
        con3(A.a[A.a.length - 2], '/', A.a[A.a.length - 1], '==', A.a[A.a.length - 2] / A.a[A.a.length - 1]);
        A.a[A.a.length - 2] = A.a[A.a.length - 2] / A.a[A.a.length - 1];
        A.a.length -= 1
    }, function (A) {
        var T = j[Z[A.i] << 8 | Z[A.i + 1]];
        var i = j[Z[A.i + 2] << 8 | Z[A.i + 3]];
        A.i += 4;
        if (!(T in g)) {
            throw new br(T + " is not defined.")
        }
        var c = g[T];
        A.a[A.a.length] = c[i]
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1] << 16 | (Z[A.i + 2] << 8 | Z[A.i + 3]);
        var q = Z[A.i + 4];
        A.i += 5;
        var i = A.H.F(E);
        var T = A.a[A.a.length - 1];
        var c = T < i;
        if (c) {
            A.i = U;
            A.N = q
        }
        A.a.length -= 1
    }, function (A) {
        var b = A.a[A.a.length - 4];
        A.a[A.a.length - 4] = b(A.a[A.a.length - 3], A.a[A.a.length - 2], A.a[A.a.length - 1]);
        A.a.length -= 3
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1];
        A.i += 2;
        var q = A.a[A.a.length - 3];
        var T = A.a[A.a.length - 2];
        var i = A.a[A.a.length - 1];
        bN(q, T, {writable: true, configurable: true, enumerable: true, value: i});
        A.H.d(E, q);
        var c = [];
        A.H.d(U, c);
        A.a.length -= 3
    }, function (A) {
        var T = j[Z[A.i] << 8 | Z[A.i + 1]];
        var i = Z[A.i + 2];
        var c = Z[A.i + 3];
        A.i += 4;
        A.H.d(i, T);
        A.a[A.a.length] = A.H.F(c)
    }, function (b) {
        var x = Z[b.i];
        var M = j[Z[b.i + 1] << 8 | Z[b.i + 2]];
        var L = Z[b.i + 3] << 8 | Z[b.i + 4];
        b.i += 5;
        var r = b.a[b.a.length - 3];
        var t = b.a[b.a.length - 2];
        var o = b.a[b.a.length - 1];
        bN(r, t, {writable: true, configurable: true, enumerable: true, value: o});
        var i = M;
        var C = i + "," + L;
        var c = P[C];
        if (typeof c !== "undefined") {
            var E = b.a.length - 3;
            b.a[E] = r;
            b.a[E + 1] = x;
            b.a[E + 2] = c;
            return
        }
        var N = j[L];
        var A = bP(N);
        var T = bP(i);
        var q = A[0] + T[0] & 255;
        var Q = "";
        for (var U = 1; U < A.length; ++U) {
            Q += bA(T[U] ^ A[U] ^ q)
        }
        var E = b.a.length - 3;
        b.a[E] = r;
        b.a[E + 1] = x;
        b.a[E + 2] = P[C] = Q
    }, function (A) {
        var U = Z[A.i];
        var q = Z[A.i + 1];
        var T = Z[A.i + 2];
        A.i += 3;
        var i = A.a[A.a.length - 1];
        A.H.d(U, i);
        var b = A.a.length - 1;
        A.a[b] = q;
        A.a[b + 1] = A.H.F(T)
    }, function (A) {
        bB = A.a[A.a.length - 1];
        A.a.length -= 1
    }, function (A) {
        var U = Z[A.i];
        var q = Z[A.i + 1];
        var T = Z[A.i + 2] << 16 | (Z[A.i + 3] << 8 | Z[A.i + 4]);
        var i = Z[A.i + 5];
        A.i += 6;
        A.q = {i: A.i, N: A.N};
        A.i = T;
        A.N = i;
        var b = A.a.length;
        A.a[b] = U;
        A.a[b + 1] = q
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1];
        var q = j[Z[A.i + 2] << 8 | Z[A.i + 3]];
        A.i += 4;
        var T = A.a[A.a.length - 1];
        A.H.d(E, T);
        var i = A.H.F(U);
        var b = A.a.length - 1;
        A.a[b] = i;
        A.a[b + 1] = q
    }, function (A) {
        var i = Z[A.i];
        var b = Z[A.i + 1];
        A.i += 2;
        if (A.a[A.a.length - 1]) {
            A.i = i;
            A.N = b
        }
        A.a.length -= 1
    }, function (b) {
        var M = Z[b.i] << 8 | Z[b.i + 1];
        var L = j[Z[b.i + 2] << 8 | Z[b.i + 3]];
        var r = Z[b.i + 4] << 8 | Z[b.i + 5];
        b.i += 6;
        b0:{
            var t = b.a[b.a.length - 1];
            var i = t;
            var N = i + "," + M;
            var c = P[N];
            if (typeof c !== "undefined") {
                var o = c;
                break b0
            }
            var E = j[M];
            var A = bP(E);
            var T = bP(i);
            var q = A[0] + T[0] & 255;
            var C = "";
            for (var U = 1; U < A.length; ++U) {
                C += bA(T[U] ^ A[U] ^ q)
            }
            var o = P[N] = C
        }
        b2:{
            var i = L;
            var N = i + "," + r;
            var c = P[N];
            if (typeof c !== "undefined") {
                var D = c;
                break b2
            }
            var E = j[r];
            var A = bP(E);
            var T = bP(i);
            var q = A[0] + T[0] & 255;
            var C = "";
            for (var U = 1; U < A.length; ++U) {
                C += bA(T[U] ^ A[U] ^ q)
            }
            var D = P[N] = C
        }
        b.a[b.a.length - 1] = bt(D, o)
    }, function (A) {
        "use strict";
        A.a[A.a.length - 2] = delete A.a[A.a.length - 2][A.a[A.a.length - 1]];
        A.a.length -= 1
    }, function (b) {
        var r = j[Z[b.i] << 8 | Z[b.i + 1]];
        var t = Z[b.i + 2] << 8 | Z[b.i + 3];
        b.i += 4;
        var o = b.a[b.a.length - 1];
        var i = r;
        var C = i + "," + t;
        var c = P[C];
        if (typeof c !== "undefined") {
            var E = b.a.length - 1;
            b.a[E] = o;
            b.a[E + 1] = o;
            b.a[E + 2] = c;
            return
        }
        var N = j[t];
        var A = bP(N);
        var T = bP(i);
        var q = A[0] + T[0] & 255;
        var Q = "";
        for (var U = 1; U < A.length; ++U) {
            Q += bA(T[U] ^ A[U] ^ q)
        }
        var E = b.a.length - 1;
        b.a[E] = o;
        b.a[E + 1] = o;
        b.a[E + 2] = P[C] = Q
    }, function (A) {
        var U = Z[A.i];
        var q = Z[A.i + 1];
        A.i += 2;
        var T = A.a[A.a.length - 3];
        var i = A.a[A.a.length - 2];
        var c = A.a[A.a.length - 1];
        bN(T, i, {writable: true, configurable: true, enumerable: true, value: c});
        bN(T, U, {writable: true, configurable: true, enumerable: true, value: q});
        A.a[A.a.length - 3] = T;
        A.a.length -= 2
    }, function (b) {
        var x = Z[b.i] << 8 | Z[b.i + 1];
        var M = Z[b.i + 2] << 16 | (Z[b.i + 3] << 8 | Z[b.i + 4]);
        var L = Z[b.i + 5];
        b.i += 6;
        b0:{
            var r = b.a[b.a.length - 1];
            var i = r;
            var N = i + "," + x;
            var c = P[N];
            if (typeof c !== "undefined") {
                var o = c;
                break b0
            }
            var E = j[x];
            var A = bP(E);
            var T = bP(i);
            var q = A[0] + T[0] & 255;
            var C = "";
            for (var U = 1; U < A.length; ++U) {
                C += bA(T[U] ^ A[U] ^ q)
            }
            var o = P[N] = C
        }
        var t = b.a[b.a.length - 2];
        var D = t[o];
        b.q = {i: b.i, N: b.N};
        b.i = M;
        b.N = L;
        b.a[b.a.length - 2] = D;
        b.a.length -= 1
    }, function (A) {
        "use strict";
        var E = bT[Z[A.i]];
        var U = Z[A.i + 1];
        A.i += 2;
        var q = A.a[A.a.length - 1];
        con3(q, '&', E, '==', q & E);
        var c = q & E;
        var T = A.a[A.a.length - 3];
        var i = A.a[A.a.length - 2];
        T[i] = c;
        A.a[A.a.length - 3] = A.H.F(U);
        A.a.length -= 2
    }, function (A) {
        var E = bT[Z[A.i]];
        var U = Z[A.i + 1];
        A.i += 2;
        var T = A.H.F(U);
        var i = E ^ T;
        var q = A.a[A.a.length - 1];
        var b = q;
        A.a[A.a.length - 1] = b(i)
    }, function (A) {
        con3(A.a[A.a.length - 2], '>>', A.a[A.a.length - 1], '==', A.a[A.a.length - 2] >> A.a[A.a.length - 1]);
        A.a[A.a.length - 2] = A.a[A.a.length - 2] >> A.a[A.a.length - 1];
        A.a.length -= 1
    }, function (b) {
        var v = j[Z[b.i] << 8 | Z[b.i + 1]];
        var x = Z[b.i + 2] << 8 | Z[b.i + 3];
        var M = Z[b.i + 4];
        b.i += 5;
        var L = b.a[b.a.length - 3];
        var r = b.a[b.a.length - 2];
        var t = b.a[b.a.length - 1];
        bN(L, r, {writable: true, configurable: true, enumerable: true, value: t});
        b2:{
            var i = v;
            var C = i + "," + x;
            var c = P[C];
            if (typeof c !== "undefined") {
                var o = c;
                break b2
            }
            var N = j[x];
            var A = bP(N);
            var T = bP(i);
            var q = A[0] + T[0] & 255;
            var Q = "";
            for (var U = 1; U < A.length; ++U) {
                Q += bA(T[U] ^ A[U] ^ q)
            }
            var o = P[C] = Q
        }
        var E = b.a.length - 3;
        b.a[E] = L;
        b.a[E + 1] = o;
        b.a[E + 2] = M
    }, function (A) {
        var i = Z[A.i] << 16 | (Z[A.i + 1] << 8 | Z[A.i + 2]);
        var b = Z[A.i + 3];
        A.i += 4;
        if (!A.a[A.a.length - 1]) {
            A.i = i;
            A.N = b
        }
        A.a.length -= 1
    }, function (A) {
        con3(A.a[A.a.length - 2], '==', A.a[A.a.length - 1], '==', A.a[A.a.length - 2] == A.a[A.a.length - 1]);
        A.a[A.a.length - 2] = A.a[A.a.length - 2] == A.a[A.a.length - 1];
        A.a.length -= 1
    }, function (b) {
        var A = Z[b.i];
        b.i += 1;
        var c = b.Y.e();
        b.H.d(A, c.S)
    }, function (A) {
        var E = Z[A.i];
        var U = bT[Z[A.i + 1]];
        A.i += 2;
        var T = A.H.F(E);
        var i = T ^ U;
        var q = A.a[A.a.length - 1];
        var b = q;
        A.a[A.a.length - 1] = b(i)
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1];
        var q = Z[A.i + 2] << 16 | (Z[A.i + 3] << 8 | Z[A.i + 4]);
        var T = Z[A.i + 5];
        A.i += 6;
        var i = A.a[A.a.length - 1];
        A.H.d(E, i);
        var b = A.a.length - 1;
        A.a[b] = U;
        A.a[b + 1] = T;
        A.a[b + 2] = q
    }, function (A) {
        A.i = A.q.i;
        A.N = A.q.N
    }, function (A) {
        A.Y.e()
    }, function (A) {
        var q = Z[A.i];
        var T = j[Z[A.i + 1] << 8 | Z[A.i + 2]];
        var i = Z[A.i + 3];
        A.i += 4;
        var c = A.a[A.a.length - 1];
        A.H.d(q, c);
        A.H.d(i, T);
        A.a.length -= 1
    }, function (A) {
        var b = A.a[A.a.length - 12];
        A.a[A.a.length - 12] = new b(A.a[A.a.length - 11], A.a[A.a.length - 10], A.a[A.a.length - 9], A.a[A.a.length - 8], A.a[A.a.length - 7], A.a[A.a.length - 6], A.a[A.a.length - 5], A.a[A.a.length - 4], A.a[A.a.length - 3], A.a[A.a.length - 2], A.a[A.a.length - 1]);
        A.a.length -= 11
    }, function (b) {
        var L = j[Z[b.i] << 8 | Z[b.i + 1]];
        var r = Z[b.i + 2] << 8 | Z[b.i + 3];
        b.i += 4;
        b1:{
            var i = L;
            var N = i + "," + r;
            var c = P[N];
            if (typeof c !== "undefined") {
                var D = c;
                break b1
            }
            var E = j[r];
            var A = bP(E);
            var T = bP(i);
            var q = A[0] + T[0] & 255;
            var C = "";
            for (var U = 1; U < A.length; ++U) {
                C += bA(T[U] ^ A[U] ^ q)
            }
            var D = P[N] = C
        }
        var t = b.a[b.a.length - 2];
        var o = b.a[b.a.length - 1];
        bN(t, o, {writable: true, configurable: true, enumerable: true, value: D});
        b.a[b.a.length - 2] = t;
        b.a.length -= 1
    }, function (A) {
        var N = Z[A.i];
        var E = bT[Z[A.i + 1]];
        A.i += 2;
        var U = A.a[A.a.length - 1];
        var T = U[N];
        var q = A.a[A.a.length - 2];
        var i = q + T;
        var b = A.a.length - 2;
        A.a[b] = i;
        A.a[b + 1] = E
    }, function (A) {
        A.a[A.a.length - 1] = !A.a[A.a.length - 1]
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1];
        var q = Z[A.i + 2];
        A.i += 3;
        var T = A.a[A.a.length - 2];
        var i = A.a[A.a.length - 1];
        bN(T, i, {writable: true, configurable: true, enumerable: true, value: E});
        var b = A.a.length - 2;
        A.a[b] = T;
        A.a[b + 1] = U;
        A.a[b + 2] = q
    }, function (A) {
        var E = Z[A.i] << 8 | Z[A.i + 1];
        var U = Z[A.i + 2];
        var q = Z[A.i + 3] << 8 | Z[A.i + 4];
        A.i += 5;
        var T = A.a[A.a.length - 2];
        var i = A.a[A.a.length - 1];
        bN(T, i, {writable: true, configurable: true, enumerable: true, value: E});
        var b = A.a.length - 2;
        A.a[b] = T;
        A.a[b + 1] = U;
        A.a[b + 2] = q
    }, function (A) {
        A.a[A.a.length - 2] = bt(A.a[A.a.length - 1], A.a[A.a.length - 2]);
        A.a.length -= 1
    }, function (A) {
        A.a[A.a.length] = A.W
    }, function (A) {
        var T = Z[A.i];
        A.i += 1;
        var i = A.H.F(T);
        var c = null;
        A.a[A.a.length] = i != c
    }, function (A) {
        var U = Z[A.i];
        var q = Z[A.i + 1];
        var T = Z[A.i + 2];
        A.i += 3;
        var i = A.a[A.a.length - 1];
        var c = i + U;
        A.H.d(q, c);
        A.a[A.a.length - 1] = A.H.F(T)
    }, function (A) {
        var E = Z[A.i];
        var U = j[Z[A.i + 1] << 8 | Z[A.i + 2]];
        A.i += 3;
        var i = A.H.F(E);
        var q = A.a[A.a.length - 2];
        var T = A.a[A.a.length - 1];
        bN(q, T, {writable: true, configurable: true, enumerable: true, value: i});
        var b = A.a.length - 2;
        A.a[b] = q;
        A.a[b + 1] = U
    }, function (b) {
        var M = Z[b.i];
        var L = j[Z[b.i + 1] << 8 | Z[b.i + 2]];
        var r = Z[b.i + 3] << 8 | Z[b.i + 4];
        b.i += 5;
        var t = b.a[b.a.length - 2];
        var o = b.a[b.a.length - 1];
        bN(t, o, {writable: true, configurable: true, enumerable: true, value: M});
        var i = L;
        var C = i + "," + r;
        var c = P[C];
        if (typeof c !== "undefined") {
            var E = b.a.length - 2;
            b.a[E] = t;
            b.a[E + 1] = c;
            return
        }
        var N = j[r];
        var A = bP(N);
        var T = bP(i);
        var q = A[0] + T[0] & 255;
        var Q = "";
        for (var U = 1; U < A.length; ++U) {
            Q += bA(T[U] ^ A[U] ^ q)
        }
        var E = b.a.length - 2;
        b.a[E] = t;
        b.a[E + 1] = P[C] = Q
    }, function (A) {
        var b = A.a[A.a.length - 2];
        A.a[A.a.length - 2] = b(A.a[A.a.length - 1]);
        A.a.length -= 1
    }, function (A) {
        var i = Z[A.i] << 16 | (Z[A.i + 1] << 8 | Z[A.i + 2]);
        var b = Z[A.i + 3];
        A.i += 4;
        if (A.a[A.a.length - 1]) {
            A.i = i;
            A.N = b
        }
        A.a.length -= 1
    }, function (A) {
        var b = A.a[A.a.length - 1];
        A.a[A.a.length - 1] = b()
    }, function (A) {
        A.a[A.a.length - 1] = -A.a[A.a.length - 1]
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1];
        var q = j[Z[A.i + 2] << 8 | Z[A.i + 3]];
        A.i += 4;
        var T = A.H.F(E);
        var i = A.H.F(U);
        var b = A.a.length;
        A.a[b] = T;
        A.a[b + 1] = i;
        A.a[b + 2] = q
    }, function (b) {
        var L = Z[b.i];
        var r = j[Z[b.i + 1] << 8 | Z[b.i + 2]];
        var t = Z[b.i + 3] << 8 | Z[b.i + 4];
        b.i += 5;
        var o = b.H.F(L);
        var i = r;
        var C = i + "," + t;
        var c = P[C];
        if (typeof c !== "undefined") {
            var E = b.a.length - 1;
            b.a[E] = o;
            b.a[E + 1] = c;
            return
        }
        var N = j[t];
        var A = bP(N);
        var T = bP(i);
        var q = A[0] + T[0] & 255;
        var Q = "";
        for (var U = 1; U < A.length; ++U) {
            Q += bA(T[U] ^ A[U] ^ q)
        }
        var E = b.a.length - 1;
        b.a[E] = o;
        b.a[E + 1] = P[C] = Q
    }, function (A) {
        A.a[A.a.length] = c
    }, function (b) {
        var L = Z[b.i] << 8 | Z[b.i + 1];
        b.i += 2;
        b0:{
            var r = b.a[b.a.length - 1];
            var i = r;
            var N = i + "," + L;
            var c = P[N];
            if (typeof c !== "undefined") {
                var o = c;
                break b0
            }
            var E = j[L];
            var A = bP(E);
            var T = bP(i);
            var q = A[0] + T[0] & 255;
            var C = "";
            for (var U = 1; U < A.length; ++U) {
                C += bA(T[U] ^ A[U] ^ q)
            }
            var o = P[N] = C
        }
        var t = b.a[b.a.length - 2];
        var D = t[o];
        b.i = b.q.i;
        b.N = b.q.N;
        b.a[b.a.length - 2] = D;
        b.a.length -= 1
    }, function (A) {
        var b = A.a[A.a.length - 3];
        A.a[A.a.length - 3] = new b(A.a[A.a.length - 2], A.a[A.a.length - 1]);
        A.a.length -= 2
    }, function (A) {
        var U = Z[A.i];
        var q = Z[A.i + 1];
        A.i += 2;
        var T = A.a[A.a.length - 1];
        A.H.d(U, T);
        var i = A.H.F(q);
        var b = A.a.length - 1;
        A.a[b] = i;
        A.a[b + 1] = i
    }, function (A) {
        bN(A.a[A.a.length - 3], A.a[A.a.length - 2], {
            writable: true,
            configurable: true,
            enumerable: true,
            value: A.a[A.a.length - 1]
        });
        A.a.length -= 2
    }, function (A) {
        var q = Z[A.i];
        var T = Z[A.i + 1];
        var i = Z[A.i + 2];
        A.i += 3;
        var b = A.a.length;
        A.a[b] = q;
        A.a[b + 1] = T;
        A.a[b + 2] = i
    }, function (A) {
        bN(A.a[A.a.length - 3], A.a[A.a.length - 2], {configurable: true, enumerable: true, get: A.a[A.a.length - 1]});
        A.a.length -= 2
    }, function (A) {
        A.a[A.a.length] = A.K
    }, function (A) {
        var N = bT[Z[A.i]];
        var E = Z[A.i + 1];
        A.i += 2;
        var U = A.a[A.a.length - 1];
        var T = U ^ N;
        var q = A.a[A.a.length - 2];
        var b = q;
        var i = b(T);
        A.H.d(E, i);
        A.a.length -= 2
    }, function (A) {
        con3(A.a[A.a.length - 2], '-', A.a[A.a.length - 1], '==', A.a[A.a.length - 2] - A.a[A.a.length - 1]);
        A.a[A.a.length - 2] = A.a[A.a.length - 2] - A.a[A.a.length - 1];
        A.a.length -= 1
    }, function (A) {
        var U = Z[A.i];
        var q = Z[A.i + 1];
        var T = Z[A.i + 2];
        A.i += 3;
        var i = A.a[A.a.length - 1];
        A.H.d(U, i);
        var c = [];
        A.H.d(q, c);
        A.a[A.a.length - 1] = A.H.F(T)
    }, function (A) {
        con3(A.a[A.a.length - 2], '+', A.a[A.a.length - 1], '==', A.a[A.a.length - 2] + A.a[A.a.length - 1]);
        A.a[A.a.length - 2] = A.a[A.a.length - 2] + A.a[A.a.length - 1];
        // if (A.a[A.a.length - 2] === 2970092231) {
        //     debugger;
        // }
        A.a.length -= 1
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1];
        var q = Z[A.i + 2];
        A.i += 3;
        var T = A.H.F(E);
        var i = T[U];
        var b = A.a.length;
        A.a[b] = i;
        A.a[b + 1] = A.H.F(q)
    }, function (A) {
        var U = Z[A.i];
        var q = Z[A.i + 1];
        A.i += 2;
        var T = A.a[A.a.length - 2];
        var i = A.a[A.a.length - 1];
        var c = T[i];
        A.H.d(U, c);
        A.a[A.a.length - 2] = A.H.F(q);
        A.a.length -= 1
    }, function (b) {
        var x = Z[b.i] << 8 | Z[b.i + 1];
        var M = Z[b.i + 2];
        b.i += 3;
        b0:{
            var L = b.a[b.a.length - 1];
            var i = L;
            var C = i + "," + x;
            var c = P[C];
            if (typeof c !== "undefined") {
                var t = c;
                break b0
            }
            var N = j[x];
            var A = bP(N);
            var T = bP(i);
            var q = A[0] + T[0] & 255;
            var Q = "";
            for (var U = 1; U < A.length; ++U) {
                Q += bA(T[U] ^ A[U] ^ q)
            }
            var t = P[C] = Q
        }
        var r = b.a[b.a.length - 2];
        var o = r[t];
        var E = b.a.length - 2;
        b.a[E] = o;
        b.a[E + 1] = b.H.F(M)
    }, function (b) {
        var L = j[Z[b.i] << 8 | Z[b.i + 1]];
        var r = Z[b.i + 2] << 8 | Z[b.i + 3];
        var t = Z[b.i + 4] << 16 | (Z[b.i + 5] << 8 | Z[b.i + 6]);
        var o = Z[b.i + 7];
        b.i += 8;
        b1:{
            var i = L;
            var N = i + "," + r;
            var c = P[N];
            if (typeof c !== "undefined") {
                var D = c;
                break b1
            }
            var E = j[r];
            var A = bP(E);
            var T = bP(i);
            var q = A[0] + T[0] & 255;
            var C = "";
            for (var U = 1; U < A.length; ++U) {
                C += bA(T[U] ^ A[U] ^ q)
            }
            var D = P[N] = C
        }
        b.q = {i: b.i, N: b.N};
        b.i = t;
        b.N = o;
        b.a[b.a.length] = D
    }, function (A) {
        con3(A.a[A.a.length - 2], '<', A.a[A.a.length - 1], '==', A.a[A.a.length - 2] < A.a[A.a.length - 1]);
        A.a[A.a.length - 2] = A.a[A.a.length - 2] < A.a[A.a.length - 1];
        A.a.length -= 1
    }, function (A) {
        var i = Z[A.i] << 8 | Z[A.i + 1];
        var b = Z[A.i + 2];
        A.i += 3;
        if (A.a[A.a.length - 1]) {
            A.i = i;
            A.N = b
        }
        A.a.length -= 1
    }, function (A) {
        var q = Z[A.i];
        var T = bT[Z[A.i + 1]];
        A.i += 2;
        var i = A.a[A.a.length - 1];
        var c = i << q;
        A.a[A.a.length - 1] = c & T
    }, function (A) {
        var N = Z[A.i];
        var E = Z[A.i + 1];
        var U = Z[A.i + 2];
        var q = Z[A.i + 3] << 16 | (Z[A.i + 4] << 8 | Z[A.i + 5]);
        var T = Z[A.i + 6];
        A.i += 7;
        var i = A.a[A.a.length - 1];
        A.H.d(N, i);
        var c = A.H.F(E);
        A.H.d(U, c);
        A.q = {i: A.i, N: A.N};
        A.i = q;
        A.N = T;
        A.a.length -= 1
    }, function (A) {
        var N = Z[A.i];
        var E = Z[A.i + 1];
        var U = bT[Z[A.i + 2]];
        var q = Z[A.i + 3];
        A.i += 4;
        var T = A.a[A.a.length - 1];
        A.H.d(N, T);
        var i = A.H.F(E);
        var b = A.a.length - 1;
        A.a[b] = i;
        A.a[b + 1] = U;
        A.a[b + 2] = A.H.F(q)
    }, function (A) {
        var i = Z[A.i] << 8 | Z[A.i + 1];
        var b = Z[A.i + 2];
        A.i += 3;
        A.C.t({I: i, N: b, h: 0})
    }, function (b) {
        var A = Z[b.i];
        b.i += 1;
        b.a.length = A
    }, function (b) {
        var M = j[Z[b.i] << 8 | Z[b.i + 1]];
        var L = Z[b.i + 2] << 8 | Z[b.i + 3];
        b.i += 4;
        b1:{
            var i = M;
            var C = i + "," + L;
            var c = P[C];
            if (typeof c !== "undefined") {
                var o = c;
                break b1
            }
            var N = j[L];
            var A = bP(N);
            var T = bP(i);
            var q = A[0] + T[0] & 255;
            var Q = "";
            for (var U = 1; U < A.length; ++U) {
                Q += bA(T[U] ^ A[U] ^ q)
            }
            var o = P[C] = Q
        }
        var r = b.a[b.a.length - 2];
        var t = b.a[b.a.length - 1];
        var E = r;
        b.a[b.a.length - 2] = E(t, o);
        b.a.length -= 1
    }, function (A) {
        var q = Z[A.i];
        A.i += 1;
        var T = A.a[A.a.length - 2];
        var i = A.a[A.a.length - 1];
        var c = T[i];
        A.H.d(q, c);
        A.a[A.a.length - 2] = c;
        A.a.length -= 1
    }, function (b) {
        var A = Z[b.i] << 8 | Z[b.i + 1];
        b.i += 2;
        b.H.d(A, b.a[b.a.length - 1]);
        b.a.length -= 1
    }, function (A) {
        var Q = Z[A.i];
        var C = Z[A.i + 1];
        A.i += 2;
        var T = A.H.F(Q);
        var N = A.a[A.a.length - 4];
        var E = A.a[A.a.length - 3];
        var U = A.a[A.a.length - 2];
        var q = A.a[A.a.length - 1];
        var b = N;
        var i = b(E, U, q, T);
        A.H.d(C, i);
        A.a.length -= 4
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1];
        var q = Z[A.i + 2];
        A.i += 3;
        var T = A.H.F(E);
        var i = A.H.F(U);
        var c = T[i];
        A.H.d(q, c)
    }, function (A) {
        var N = Z[A.i];
        var E = bT[Z[A.i + 1]];
        A.i += 2;
        var U = A.a[A.a.length - 1];
        var T = U >>> N;
        var q = A.a[A.a.length - 2];
        var i = q | T;
        var b = A.a.length - 2;
        A.a[b] = i;
        A.a[b + 1] = E
    }, function (b) {
        var t = j[Z[b.i] << 8 | Z[b.i + 1]];
        var o = Z[b.i + 2] << 8 | Z[b.i + 3];
        b.i += 4;
        b1:{
            var i = t;
            var N = i + "," + o;
            var c = P[N];
            if (typeof c !== "undefined") {
                var D = c;
                break b1
            }
            var E = j[o];
            var A = bP(E);
            var T = bP(i);
            var q = A[0] + T[0] & 255;
            var C = "";
            for (var U = 1; U < A.length; ++U) {
                C += bA(T[U] ^ A[U] ^ q)
            }
            var D = P[N] = C
        }
        b.i = b.q.i;
        b.N = b.q.N;
        b.a[b.a.length] = D
    }, function (A) {
        var T = j[Z[A.i] << 8 | Z[A.i + 1]];
        A.i += 2;
        var i = A.a[A.a.length - 1];
        var b = A.a.length - 1;
        A.a[b] = i;
        A.a[b + 1] = i[T]
    }, function (A) {
        bB = bn
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1];
        var q = Z[A.i + 2];
        A.i += 3;
        var T = A.H.F(E);
        var i = A.H.F(U);
        var b = A.a.length;
        A.a[b] = T;
        A.a[b + 1] = i;
        A.a[b + 2] = A.H.F(q)
    }, function (A) {
        var q = Z[A.i];
        var T = j[Z[A.i + 1] << 8 | Z[A.i + 2]];
        A.i += 3;
        var i = A.H.F(q);
        var b = A.a.length;
        A.a[b] = i;
        A.a[b + 1] = i;
        A.a[b + 2] = T
    }, function (A) {
        "use strict";
        var N = Z[A.i];
        var E = Z[A.i + 1] << 16 | (Z[A.i + 2] << 8 | Z[A.i + 3]);
        var U = Z[A.i + 4];
        A.i += 5;
        var q = A.a[A.a.length - 3];
        var T = A.a[A.a.length - 2];
        var i = A.a[A.a.length - 1];
        q[T] = i;
        var c = A.H.F(N);
        A.q = {i: A.i, N: A.N};
        A.i = E;
        A.N = U;
        A.a[A.a.length - 3] = c;
        A.a.length -= 2
    }, function (b) {
        var r = j[Z[b.i] << 8 | Z[b.i + 1]];
        var t = Z[b.i + 2] << 8 | Z[b.i + 3];
        b.i += 4;
        b1:{
            var i = r;
            var N = i + "," + t;
            var c = P[N];
            if (typeof c !== "undefined") {
                var D = c;
                break b1
            }
            var E = j[t];
            var A = bP(E);
            var T = bP(i);
            var q = A[0] + T[0] & 255;
            var C = "";
            for (var U = 1; U < A.length; ++U) {
                C += bA(T[U] ^ A[U] ^ q)
            }
            var D = P[N] = C
        }
        var o = b.a[b.a.length - 1];
        b.a[b.a.length - 1] = o[D]
    }, function (A) {
        A.C.e()
    }, function (A) {
        var T = Z[A.i];
        var i = Z[A.i + 1];
        A.i += 2;
        var c = A.a[A.a.length - 1];
        A.H.d(T, c);
        A.a[A.a.length - 1] = c << i
    }, function (b) {
        var r = Z[b.i];
        var t = j[Z[b.i + 1] << 8 | Z[b.i + 2]];
        var o = Z[b.i + 3] << 8 | Z[b.i + 4];
        b.i += 5;
        var D = b.a[b.a.length - 1];
        b.H.d(r, D);
        var i = t;
        var N = i + "," + o;
        var c = P[N];
        if (typeof c !== "undefined") {
            b.a[b.a.length - 1] = c;
            return
        }
        var E = j[o];
        var A = bP(E);
        var T = bP(i);
        var q = A[0] + T[0] & 255;
        var C = "";
        for (var U = 1; U < A.length; ++U) {
            C += bA(T[U] ^ A[U] ^ q)
        }
        b.a[b.a.length - 1] = P[N] = C
    }, function (A) {
        var b = A.a[A.a.length - 6];
        A.a[A.a.length - 6] = b(A.a[A.a.length - 5], A.a[A.a.length - 4], A.a[A.a.length - 3], A.a[A.a.length - 2], A.a[A.a.length - 1]);
        A.a.length -= 5
    }, function (b) {
        var v = Z[b.i] << 8 | Z[b.i + 1];
        var x = Z[b.i + 2];
        var M = Z[b.i + 3] << 16 | (Z[b.i + 4] << 8 | Z[b.i + 5]);
        var L = Z[b.i + 6];
        b.i += 7;
        b0:{
            var r = b.a[b.a.length - 1];
            var i = r;
            var C = i + "," + v;
            var c = P[C];
            if (typeof c !== "undefined") {
                var t = c;
                break b0
            }
            var N = j[v];
            var A = bP(N);
            var T = bP(i);
            var q = A[0] + T[0] & 255;
            var Q = "";
            for (var U = 1; U < A.length; ++U) {
                Q += bA(T[U] ^ A[U] ^ q)
            }
            var t = P[C] = Q
        }
        var o = b.H.F(x);
        b.q = {i: b.i, N: b.N};
        b.i = M;
        b.N = L;
        var E = b.a.length - 1;
        b.a[E] = t;
        b.a[E + 1] = o
    }, function (A) {
        var b = A.a[A.a.length - 7];
        A.a[A.a.length - 7] = b(A.a[A.a.length - 6], A.a[A.a.length - 5], A.a[A.a.length - 4], A.a[A.a.length - 3], A.a[A.a.length - 2], A.a[A.a.length - 1]);
        A.a.length -= 6
    }, function (A) {
        con3(A.a[A.a.length - 2], '+', A.a[A.a.length - 1], '==', A.a[A.a.length - 2] + A.a[A.a.length - 1]);
        A.a[A.a.length - 2] = A.a[A.a.length - 2] + A.a[A.a.length - 1];
        if (A.a[A.a.length - 2] === 2970092231) {
            debugger;
        }
        A.a.length -= 1
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1];
        var q = Z[A.i + 2];
        A.i += 3;
        var T = A.a[A.a.length - 1];
        A.H.d(E, T);
        var i = A.H.F(U);
        var b = A.a.length - 1;
        A.a[b] = i;
        A.a[b + 1] = q
    }, function (A) {
        A.a[A.a.length] = []
    }, function (A) {
        "use strict";
        var b = A.a[A.a.length - 1];
        con3(A.a[A.a.length - 3], 'set', A.a[A.a.length - 2], '=', b)
        A.a[A.a.length - 3][A.a[A.a.length - 2]] = b;
        A.a[A.a.length - 3] = b;
        A.a.length -= 2
    }, function (b) {
        var A = Z[b.i];
        b.i += 1;
        b.a[b.a.length] = A
    }, function (A) {
        A.a[A.a.length - 2] = delete A.a[A.a.length - 2][A.a[A.a.length - 1]];
        A.a.length -= 1
    }, function (A) {
        con3(A.a[A.a.length - 2], '!=', A.a[A.a.length - 1], '==', A.a[A.a.length - 2] != A.a[A.a.length - 1]);
        A.a[A.a.length - 2] = A.a[A.a.length - 2] != A.a[A.a.length - 1];
        A.a.length -= 1
    }, function (A) {
        var i = Z[A.i] << 16 | (Z[A.i + 1] << 8 | Z[A.i + 2]);
        var b = Z[A.i + 3];
        A.i = i;
        A.N = b
    }, function (A) {
        var T = Z[A.i];
        var i = j[Z[A.i + 1] << 8 | Z[A.i + 2]];
        A.i += 3;
        var c = A.H.F(T);
        A.a[A.a.length] = c[i]
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1];
        var q = bT[Z[A.i + 2]];
        A.i += 3;
        var T = A.H.F(E);
        var i = A.H.F(U);
        var b = A.a.length;
        A.a[b] = T;
        A.a[b + 1] = i ^ q
    }, function (A) {
        A.a[A.a.length] = 2e308
    }, function (A) {
        var q = Z[A.i];
        var T = j[Z[A.i + 1] << 8 | Z[A.i + 2]];
        A.i += 3;
        var i = A.a[A.a.length - 1];
        A.H.d(q, i);
        var b = A.a.length - 1;
        A.a[b] = i;
        A.a[b + 1] = T
    }, function (A) {
        con3(A.a[A.a.length - 2], '*', A.a[A.a.length - 1], '==', A.a[A.a.length - 2] * A.a[A.a.length - 1]);
        A.a[A.a.length - 2] = A.a[A.a.length - 2] * A.a[A.a.length - 1];
        A.a.length -= 1
    }, function (b) {
        var L = j[Z[b.i] << 8 | Z[b.i + 1]];
        var r = Z[b.i + 2] << 8 | Z[b.i + 3];
        var t = Z[b.i + 4];
        b.i += 5;
        b1:{
            var i = L;
            var C = i + "," + r;
            var c = P[C];
            if (typeof c !== "undefined") {
                var o = c;
                break b1
            }
            var N = j[r];
            var A = bP(N);
            var T = bP(i);
            var q = A[0] + T[0] & 255;
            var Q = "";
            for (var U = 1; U < A.length; ++U) {
                Q += bA(T[U] ^ A[U] ^ q)
            }
            var o = P[C] = Q
        }
        var E = b.a.length;
        b.a[E] = o;
        b.a[E + 1] = b.H.F(t)
    }, function (A) {
        A.a[A.a.length] = true
    }, function (A) {
        con3(A.a[A.a.length - 2], '===', A.a[A.a.length - 1], '==', A.a[A.a.length - 2] === A.a[A.a.length - 1]);
        A.a[A.a.length - 2] = A.a[A.a.length - 2] === A.a[A.a.length - 1];
        A.a.length -= 1
    }, function (A) {
        var b = j[Z[A.i] << 8 | Z[A.i + 1]];
        A.i += 2;
        A.a[A.a.length] = typeof g[b]
    }, function (A) {
        var U = Z[A.i];
        var q = Z[A.i + 1];
        A.i += 2;
        var T = A.H.F(U);
        var i = A.H.F(q);
        A.i = A.q.i;
        A.N = A.q.N;
        var b = A.a.length;
        A.a[b] = T;
        A.a[b + 1] = i
    }, function (A) {
        var E = Z[A.i];
        var U = bT[Z[A.i + 1]];
        var q = Z[A.i + 2];
        A.i += 3;
        var T = A.H.F(E);
        var i = A.H.F(q);
        var b = A.a.length;
        A.a[b] = T;
        A.a[b + 1] = U ^ i
    }, function (A) {
        A.a[A.a.length - 2] = A.a[A.a.length - 2] in A.a[A.a.length - 1];
        A.a.length -= 1
    }, function (A) {
        con3(A.a[A.a.length - 2], '&', A.a[A.a.length - 1], '==', A.a[A.a.length - 2] & A.a[A.a.length - 1]);
        A.a[A.a.length - 2] = A.a[A.a.length - 2] & A.a[A.a.length - 1];
        A.a.length -= 1
    }, function (A) {
        var i = Z[A.i] << 8 | Z[A.i + 1];
        var b = Z[A.i + 2];
        A.i = i;
        A.N = b
    }, function (A) {
        A.a[A.a.length] = y
    }, function (A) {
        "use strict";
        var Q = Z[A.i];
        var C = Z[A.i + 1];
        A.i += 2;
        var N = A.a[A.a.length - 2];
        var E = A.a[A.a.length - 1];
        var T = N & E;
        var U = A.a[A.a.length - 4];
        var q = A.a[A.a.length - 3];
        U[q] = T;
        var i = A.H.F(Q);
        var b = A.a.length - 4;
        A.a[b] = i;
        A.a[b + 1] = C;
        A.a.length -= 2
    }, function (A) {
        var U = Z[A.i];
        var q = Z[A.i + 1];
        A.i += 2;
        var T = A.H.F(U);
        var i = A.H.F(q);
        var b = A.a.length;
        A.a[b] = T;
        A.a[b + 1] = T[i]
    }, function (A) {
        A.a[A.a.length - 2] = A.a[A.a.length - 2] instanceof A.a[A.a.length - 1];
        A.a.length -= 1
    }, function (A) {
        var N = Z[A.i];
        var E = Z[A.i + 1];
        A.i += 2;
        var U = A.a[A.a.length - 2];
        var q = A.a[A.a.length - 1];
        var T = U[q];
        var i = A.H.F(N);
        var b = A.a.length - 2;
        A.a[b] = T;
        A.a[b + 1] = i[E]
    }, function (A) {
        A.a[A.a.length] = A.a[A.a.length - 1]
    }, function (A) {
        var b = A.a[A.a.length - 5];
        A.a[A.a.length - 5] = b(A.a[A.a.length - 4], A.a[A.a.length - 3], A.a[A.a.length - 2], A.a[A.a.length - 1]);
        A.a.length -= 4
    }, function (A) {
        var c = Z[A.i];
        A.i += 1;
        A.a[A.a.length - (2 + c)] = bR(A.a[A.a.length - (1 + c)], A.a[A.a.length - (2 + c)], A.a.p(A.a.length - c));
        A.a.length -= 1 + c
    }, function (b) {
        var A = Z[b.i] << 8 | Z[b.i + 1];
        b.i += 2;
        b.a[b.a.length - 2] = Y(A, b.a[b.a.length - 1], b.a[b.a.length - 2], b.H);
        b.a.length -= 1
    }, function (A) {
        var N = Z[A.i];
        var E = Z[A.i + 1];
        A.i += 2;
        var U = A.a[A.a.length - 2];
        var q = A.a[A.a.length - 1];
        var T = U & q;
        var i = A.H.F(N);
        var b = A.a.length - 2;
        A.a[b] = T;
        A.a[b + 1] = i;
        A.a[b + 2] = E
    }, function (A) {
        var U = Z[A.i];
        var q = Z[A.i + 1];
        var T = Z[A.i + 2];
        A.i += 3;
        var i = A.a[A.a.length - 1];
        A.H.d(U, i);
        var c = A.a[A.a.length - 2];
        A.H.d(q, c);
        A.a[A.a.length - 2] = A.H.F(T);
        A.a.length -= 1
    }, function (A) {
        var q = Z[A.i];
        var T = Z[A.i + 1] << 16 | (Z[A.i + 2] << 8 | Z[A.i + 3]);
        var i = Z[A.i + 4];
        A.i += 5;
        var c = A.a[A.a.length - 1];
        A.H.d(q, c);
        A.q = {i: A.i, N: A.N};
        A.i = T;
        A.N = i;
        A.a[A.a.length - 1] = c
    }, function (A) {
        con3(A.a[A.a.length - 2], '|', A.a[A.a.length - 1], '==', A.a[A.a.length - 2] | A.a[A.a.length - 1]);
        A.a[A.a.length - 2] = A.a[A.a.length - 2] | A.a[A.a.length - 1];
        A.a.length -= 1
    }, function (A) {
        var E = Z[A.i];
        var U = Z[A.i + 1] << 16 | (Z[A.i + 2] << 8 | Z[A.i + 3]);
        var q = Z[A.i + 4];
        A.i += 5;
        var i = A.H.F(E);
        var T = A.a[A.a.length - 1];
        var c = T in i;
        if (c) {
            A.i = U;
            A.N = q
        }
        A.a.length -= 1
    }, function (A) {
        var U = Z[A.i];
        var q = Z[A.i + 1];
        var T = Z[A.i + 2];
        A.i += 3;
        var i = A.H.F(q);
        var b = A.a.length;
        A.a[b] = U;
        A.a[b + 1] = i;
        A.a[b + 2] = A.H.F(T)
    }, function (A) {
        A.a[A.a.length] = null
    }];

    function Y(b, T, A, i) {
        "use strict";
        var c = O[b];
        return S(T, A, i, c.V, c.Z, c.G, c.X, c.r)
    };var bB = bl;
    var Z = bP(" ");

    function S(C, Q, b, i, D, c, o, U) {
        var N = new bk;
        var q, T, E;
        var A = o !== void 0;
        for (q = 0, T = D.length; q < T; ++q) {
            N.O[D[q]] = b.O[D[q]]
        }
        E = W(C, Q, N, i, c, A, o);
        if (U !== void 0) {
            N.c(U);
            N.d(U, E)
        }
        return E
    };

    function W(D, o, L, N, E, U, t) {
        var Q = E.length;
        var C = function () {
            "use strict";
            var T = L.A();
            var A = new bp(D, o, T, this);
            var i, c, b = w(arguments.length, Q);
            if (U) {
                T.c(t);
                T.d(t, arguments)
            }
            for (i = 0, c = N.length; i < c; ++i) {
                T.c(N[i])
            }
            for (i = 0; i < b; ++i) {
                T.d(E[i], arguments[i])
            }
            for (i = b; i < Q; ++i) {
                T.d(E[i], void 0)
            }
            return bq(A)
        };
        return C
    }

    function bq(b) {
        var c, A;
        for (; ;) {
            if (bB !== bl) {
                A = bB;
                bB = bl;
                return A
            }
            c = b.P();
            if (b.C.length === 0) {
                if (b.a.indexOf('responseText') > -1){
                    debugger;
                }
                bs[c](b)
            } else {
                bU(bs[c], b)
            }
        }
    }

    S(0, 0, null, [], [], [], void 0, void 0)()
}(typeof window !== "undefined" && window != null && window.window === window ? window : typeof global !== "undefined" && global != null && global.global === global ? global : this))
;(function (e, d) {
    var isk = ["AZceMUibK"];
    for (var i = 0; i < isk.length; ++i) {
        e.initCustomEvent(isk[i], false, false, d);
        dispatchEvent(e)
    }
}(document.createEvent("CustomEvent"), ["Ax_5BaSMAQAARchUPhdkLTOAu3lDmt6-yvU5rFc379mimAXXdvO4H4qml8c6Ab9mqu8AAAAAAAAAAAAAAAAAAA==", "5sUHN3vj4w7RXef_YI=m8ZlughCntkiTJrPFo0ayzqdBGVp1L9OEDSKxQMA6cWb2-", [], [918174422, 744180367, 1622444163, 215296841, 734790697, 1611250655, 1505564511, 60138191], document.currentScript && document.currentScript.nonce || "mzwvxWjXL6GnREs6dM2kfW2H", document.currentScript && document.currentScript.nonce || "mzwvxWjXL6GnREs6dM2kfW2H", [], typeof arguments === "undefined" ? void 0 : arguments]))

;
;


if (randomEvent) {
    window.mouse_move(startx, starty, endx, endy)

}

var xhr = new XMLHttpRequest();
xhr.open('POST', "https://www.southwest.com/api/air-booking/v1/air-booking/page/air/booking/shopping", false);
xhr.send(`{"tripType":"oneWay","from":"ZLA","to":"NAS","depart":"2023-04-11","cabin":"economy","refundable":false,"dates":{"before":"3","after":"3"},"pax":{"ADT":1,"CHD":0,"INF":0,"UNN":0},"redempoint":false,"pointsBreakup":{"option":"","value":0},"isMultiCity":false}`)
xhr.setRequestHeader('user-agent', ENV.navigatorparams.useragent)
print(JSON.stringify(xhr.headers))
_process.exit(0)

