├── LICENSE
├── README.md
├── decryptPayload.js
├── DISCLAIMER.md
├── encryptPayload.js
├── autoReverseCaptcha.js
├── readable
├── eps-d.md
├── init_8.9.6.md
└── init_9.0.8.md
├── autoReverseMain.js
├── source
├── iamNotaRobot.js
└── eps-mgr
└── payload.md
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2024 MiddleSchoolStudent
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # PerimeterX Privacy Fingerprint Research
2 |
3 | ## ⚠️ PRIVACY RESEARCH USE ONLY
4 |
5 | **📋 [Complete Legal Disclaimer and Terms of Use](DISCLAIMER.md)**
6 |
7 | This repository is designed for **privacy fingerprint research and authorized security analysis** in controlled environments that comply with all applicable laws and institutional ethics guidelines.
8 |
9 | ----------
10 |
11 | ## Research Overview
12 |
13 | This repository contains educational materials for **researchers** studying browser fingerprinting techniques and web security mechanisms in **authorized testing environments**. The research demonstrates compatibility testing methodologies using **[BotBrowser](https://github.com/MiddleSchoolStudent/BotBrowser)** for privacy focused analysis of fingerprint collection patterns.
14 |
15 | [video.webm](https://github.com/user-attachments/assets/c964998b-6c28-4c1a-b0cc-164c7b445a6b)
16 |
17 |
18 | ----------
19 |
20 | ## Educational Resources
21 |
22 | ### Code Analysis
23 | - **[source](source)** - Original implementation for educational study
24 | - **[readable](readable)** - Step-by-step analysis methodology for academic understanding
25 |
26 | ### Research Documentation
27 | - **[payload.md](payload.md)** - Educational documentation of fingerprint collection techniques for privacy and security research purposes
28 |
29 | ----------
30 |
31 | ## Research Methodology
32 |
33 | This educational repository provides insights into browser fingerprinting collection patterns for **authorized privacy and security research**. The analysis methodology demonstrates techniques used in **controlled academic environments** for understanding web security mechanisms.
34 |
35 | **Note:** All research materials are intended for **educational and authorized testing purposes only** in compliance with applicable laws and institutional guidelines.
36 |
37 | ----------
38 |
39 | ## Important Usage Guidelines
40 |
41 | ⚠️ **This repository is strictly for academic research and authorized security analysis**
42 |
43 | - Only use in **controlled testing environments**
44 | - Ensure **proper institutional approval** before conducting research
45 | - Comply with all applicable **laws and regulations**
46 | - Respect **terms of service** of all systems
47 | - Follow **ethical research guidelines**
48 |
49 | **By using this repository, you acknowledge compliance with the [complete disclaimer](DISCLAIMER.md) and accept full responsibility for lawful use.**
50 |
--------------------------------------------------------------------------------
/decryptPayload.js:
--------------------------------------------------------------------------------
1 | // @ts-check
2 |
3 | function sortJsonKeys(obj) {
4 | if (typeof obj !== 'object' || obj === null) {
5 | return obj;
6 | }
7 |
8 | if (Array.isArray(obj)) {
9 | return obj.map((item) => sortJsonKeys(item));
10 | }
11 |
12 | const sortedKeys = Object.keys(obj).sort();
13 | const sortedObj = {};
14 |
15 | sortedKeys.forEach((key) => {
16 | sortedObj[key] = sortJsonKeys(obj[key]);
17 | });
18 |
19 | return sortedObj;
20 | }
21 |
22 | export function decrypt(encrypted, uuid) {
23 | const o = 'G^S}DNK8DNa>D`K}GK77';
24 | const L = o.length;
25 |
26 | const origLen = encrypted.length - L;
27 | const mapping = computeMapping(o, origLen, uuid);
28 | let base64Str = encrypted;
29 | const removeIdx = mapping.map((x) => x - 1).sort((a, b) => b - a);
30 | for (const idx of removeIdx) {
31 | base64Str = base64Str.slice(0, idx) + base64Str.slice(idx + 1);
32 | }
33 |
34 | const buf = Buffer.from(base64Str, 'base64');
35 | const latin1 = buf.toString('latin1');
36 |
37 | let pct = '';
38 | for (let i = 0; i < latin1.length; i++) {
39 | const hex = latin1.charCodeAt(i).toString(16).toUpperCase().padStart(2, '0');
40 | pct += '%' + hex;
41 | }
42 | const xoredJson = decodeURIComponent(pct);
43 |
44 | let jsonStr = '';
45 | for (let i = 0; i < xoredJson.length; i++) {
46 | jsonStr += String.fromCharCode(xoredJson.charCodeAt(i) ^ 50);
47 | }
48 |
49 | return JSON.stringify(sortJsonKeys(JSON.parse(jsonStr)), null, 2);
50 | }
51 |
52 | function jt(str, key) {
53 | let r = '';
54 | for (let i = 0; i < str.length; i++) {
55 | r += String.fromCharCode(str.charCodeAt(i) ^ key);
56 | }
57 | return r;
58 | }
59 |
60 | function computeMapping(o, e, uuid) {
61 | const b64 = Buffer.from(uuid, 'utf8').toString('base64');
62 | const v = jt(b64, 10);
63 |
64 | let p = -1;
65 | for (let g = 0; g < o.length; g++) {
66 | const y = Math.floor(g / v.length + 1);
67 | const b = g >= v.length ? g % v.length : g;
68 | const T = v.charCodeAt(b) * v.charCodeAt(y);
69 | if (T > p) p = T;
70 | }
71 |
72 | const m = [];
73 | for (let E = 0; E < o.length; E++) {
74 | const S = Math.floor(E / v.length) + 1;
75 | const I = E % v.length;
76 | let A = v.charCodeAt(I) * v.charCodeAt(S);
77 |
78 | if (A >= e) {
79 | A = Math.floor((A / p) * (e - 1));
80 | }
81 | while (m.indexOf(A) !== -1) {
82 | A++;
83 | }
84 | m.push(A);
85 | }
86 |
87 | return m.sort((a, b) => a - b);
88 | }
89 |
--------------------------------------------------------------------------------
/DISCLAIMER.md:
--------------------------------------------------------------------------------
1 | # ⚠️ LEGAL DISCLAIMER AND TERMS OF USE
2 |
3 | ## ACADEMIC & RESEARCH USE DISCLAIMER
4 |
5 | **PerimeterX-Privacy-Research** is designed exclusively for **privacy research, security analysis, and authorized testing environments** that comply with all applicable **laws, regulations, and institutional ethics guidelines**.
6 |
7 | ## AUTHORIZED USE CASES
8 |
9 | This software is intended for legitimate purposes only:
10 |
11 | - **University and institutional research projects**
12 | - **Security and privacy research in controlled environments**
13 | - **Browser compatibility studies**
14 | - **Fingerprint consistency and anti-tracking analysis**
15 | - **Authorized penetration testing**
16 | - **Academic coursework and educational purposes**
17 | - **Open source security research**
18 |
19 | ## PROHIBITED USES
20 |
21 | The following uses are strictly prohibited:
22 |
23 | - **Misuse** to violate **terms of service** of third-party websites
24 | - Unauthorized access to systems you do not own
25 | - Commercial exploitation without proper licensing
26 | - Any illegal activities or policy violations
27 | - Circumventing security controls on production systems
28 | - Data harvesting or privacy violations
29 | - Automated abuse of web services
30 | - Bypassing anti-bot measures for malicious purposes
31 | - Any use that violates local, state, federal, or international laws
32 |
33 | ## LEGAL & ETHICAL REQUIREMENTS
34 |
35 | ### Institutional Approval
36 | All users must obtain proper institutional approval and follow ethical research guidelines when conducting studies involving web services or user data.
37 |
38 | ### Legal Compliance
39 | Users are solely responsible for ensuring compliance with all applicable laws in their jurisdiction, including but not limited to:
40 | - Computer Fraud and Abuse Act (CFAA)
41 | - Digital Millennium Copyright Act (DMCA)
42 | - General Data Protection Regulation (GDPR)
43 | - California Consumer Privacy Act (CCPA)
44 | - Local privacy and computer access laws
45 |
46 | ### Data Protection
47 | Any data collection must comply with applicable privacy laws and institutional review board requirements.
48 |
49 | ### Terms of Service Compliance
50 | Users must respect and comply with the terms of service of any websites or services they interact with using this software.
51 |
52 | ## LIABILITY DISCLAIMER
53 |
54 | ### No Warranty
55 | This software is provided **"as-is"** without any warranty, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and non-infringement.
56 |
57 | ### User Responsibility
58 | Users assume full responsibility for any consequences of using this software, including:
59 | - Legal liability for misuse
60 | - Compliance with applicable laws and regulations
61 | - Respect for third-party rights and terms of service
62 | - Proper institutional oversight and approval
63 |
64 | ### Third-Party Damages
65 | The authors, contributors, and maintainers are not liable for any damages to third-party systems, violations of third-party rights, or any direct, indirect, incidental, special, or consequential damages arising from the use of this software.
66 |
67 | ### Indemnification
68 | Users agree to indemnify and hold harmless the authors, contributors, and maintainers from any claims, damages, or legal actions arising from misuse of this software.
69 |
70 | ## PLATFORM COMPLIANCE
71 |
72 | ### GitHub Policy
73 | This repository is not intended for production use against third-party services without proper authorization. Any misuse will result in violation of GitHub's Acceptable Use Policies.
74 |
75 | ### Open Source License
76 | Use must comply with the project's open source license terms as specified in the LICENSE file.
77 |
78 | ### Research Ethics
79 | All research conducted using this software must comply with applicable research ethics guidelines and institutional review board requirements.
80 |
81 | ## ENFORCEMENT
82 |
83 | The maintainers reserve the right to:
84 | - Refuse support to users who violate these terms
85 | - Report suspected misuse to appropriate authorities
86 | - Remove access to repositories for policy violations
87 | - Cooperate with law enforcement investigations
88 |
89 | ## UPDATES TO DISCLAIMER
90 |
91 | This disclaimer may be updated from time to time. Users are responsible for reviewing the current version before using the software.
92 |
93 | ## CONTACT
94 |
95 | For questions about proper use or compliance, please contact the maintainers through official project channels.
96 |
97 | ---
98 |
99 | **By downloading, using, or contributing to this software, you acknowledge that you have read, understood, and agree to be bound by this disclaimer and all applicable laws and regulations.**
100 |
101 | **Last Updated: September 2025**
102 |
--------------------------------------------------------------------------------
/encryptPayload.js:
--------------------------------------------------------------------------------
1 | // @ts-check
2 |
3 | function t(e) {
4 | return (
5 | (t =
6 | 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator
7 | ? function (t) {
8 | return typeof t;
9 | }
10 | : function (t) {
11 | return t && 'function' == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype
12 | ? 'symbol'
13 | : typeof t;
14 | }),
15 | t(e)
16 | );
17 | }
18 |
19 | var G = {
20 | '\b': '\\b',
21 | '\t': '\\t',
22 | '\n': '\\n',
23 | '\f': '\\f',
24 | '\r': '\\r',
25 | '': '\\v',
26 | '"': '\\"',
27 | '\\': '\\\\',
28 | };
29 |
30 | function W(t) {
31 | var e = G[t];
32 | return e || '\\u' + ('0000' + t.charCodeAt(0).toString(16)).slice(-4);
33 | }
34 |
35 | var F =
36 | /[\\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
37 |
38 | function L(t) {
39 | F.lastIndex = 0;
40 | return '"' + (F.test(t) ? t.replace(F, W) : t) + '"';
41 | }
42 |
43 | function j(e) {
44 | var n;
45 | switch (t(e)) {
46 | case 'undefined':
47 | return 'null';
48 | case 'boolean':
49 | return String(e);
50 | case 'number':
51 | var r = String(e);
52 | return 'NaN' === r || 'Infinity' === r ? 'null' : r;
53 | case 'string':
54 | return L(e);
55 | }
56 | if (null === e || e instanceof RegExp) {
57 | return 'null';
58 | }
59 | if (e instanceof Date) {
60 | return [
61 | '"',
62 | e.getFullYear(),
63 | '-',
64 | e.getMonth() + 1,
65 | '-',
66 | e.getDate(),
67 | 'T',
68 | e.getHours(),
69 | ':',
70 | e.getMinutes(),
71 | ':',
72 | e.getSeconds(),
73 | '.',
74 | e.getMilliseconds(),
75 | '"',
76 | ].join('');
77 | }
78 | if (e instanceof Array) {
79 | var a;
80 | n = ['['];
81 | for (a = 0; a < e.length; a++) {
82 | n.push(j(e[a]) || '"undefined"', ',');
83 | }
84 | n[n.length > 1 ? n.length - 1 : n.length] = ']';
85 | return n.join('');
86 | }
87 | n = ['{'];
88 | for (var o in e)
89 | if (e.hasOwnProperty(o) && undefined !== e[o]) {
90 | n.push(L(o), ':', j(e[o]) || '"undefined"', ',');
91 | }
92 | n[n.length > 1 ? n.length - 1 : n.length] = '}';
93 | return n.join('');
94 | }
95 |
96 | function jt(t, e) {
97 | var n = '';
98 | for (var r = 0; r < t.length; r++) {
99 | n += String.fromCharCode(e ^ t.charCodeAt(r));
100 | }
101 | return n;
102 | }
103 |
104 | var w = window.btoa;
105 | var x = t(w);
106 |
107 | function B(t) {
108 | return x === 'function'
109 | ? w(
110 | encodeURIComponent(t).replace(/%([0-9A-F]{2})/g, function (t, e) {
111 | return String.fromCharCode('0x' + e);
112 | })
113 | )
114 | : (function (t) {
115 | var e;
116 | var n;
117 | var r;
118 | var a;
119 | var o;
120 | var i = window.unescape || window.decodeURI;
121 | var c = 0;
122 | var u = 0;
123 | var s = [];
124 | if (!t) {
125 | return t;
126 | }
127 | try {
128 | t = i(encodeURIComponent(t));
129 | } catch (e) {
130 | return t;
131 | }
132 | do {
133 | e = ((o = (t.charCodeAt(c++) << 16) | (t.charCodeAt(c++) << 8) | t.charCodeAt(c++)) >> 18) & 63;
134 | n = (o >> 12) & 63;
135 | r = (o >> 6) & 63;
136 | a = 63 & o;
137 | s[u++] =
138 | 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='.charAt(e) +
139 | 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='.charAt(n) +
140 | 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='.charAt(r) +
141 | 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='.charAt(a);
142 | } while (c < t.length);
143 | var l = s.join('');
144 | var f = t.length % 3;
145 | return (f ? l.slice(0, f - 3) : l) + '==='.slice(f || 3);
146 | })(t);
147 | }
148 |
149 | export function encrypt(t, uuid) {
150 | var a = t.slice();
151 | var o = 'G^S}DNK8DNa>D`K}GK77';
152 | a = B(jt(j(a), 50));
153 | var i = uuid;
154 | var c = (function (t, e, n) {
155 | var v = jt(B(n), 10);
156 | var m = [];
157 | var p = -1;
158 | for (var g = 0; g < t.length; g++) {
159 | var y = Math.floor(g / v.length + 1);
160 | var b = g >= v.length ? g % v.length : g;
161 | var T = v.charCodeAt(b) * v.charCodeAt(y);
162 | if (T > p) {
163 | p = T;
164 | }
165 | }
166 | for (var E = 0; t.length > E; E++) {
167 | var S = Math.floor(E / v.length) + 1;
168 | var I = E % v.length;
169 | var A = v.charCodeAt(I) * v.charCodeAt(S);
170 | for (A >= e && (A = Math.floor(((A - 0) / (p - 0)) * (e - 1 - 0) + 0)); -1 !== m.indexOf(A); ) {
171 | A += 1;
172 | }
173 | m.push(A);
174 | }
175 | var R = m.sort(function (t, e) {
176 | return t - e;
177 | });
178 | return R;
179 | })(o, a.length, i);
180 | a = (function (t, e, n) {
181 | var o = '';
182 | var i = 0;
183 | var c = t.split('');
184 | for (var u = 0; u < t.length; u++) {
185 | o += e.substring(i, n[u] - u - 1) + c[u];
186 | i = n[u] - u - 1;
187 | }
188 | o += e.substring(i);
189 | return o;
190 | })(o, a, c);
191 | return a;
192 | }
193 |
--------------------------------------------------------------------------------
/autoReverseCaptcha.js:
--------------------------------------------------------------------------------
1 | // @ts-check
2 |
3 | import { traverse, types } from '@babel/core';
4 | import { generate } from '@babel/generator';
5 | import parser from '@babel/parser';
6 | import axios from 'axios';
7 | import fs from 'fs/promises';
8 | import { JSDOM } from 'jsdom';
9 | import { Script } from 'vm';
10 | import {
11 | analyzeFunctionCalls,
12 | convertComputedToProperty,
13 | extractIIFEBody,
14 | inlineImmutableBindings,
15 | removeExcessiveParseIntFunctions,
16 | removeIntermediateFunctions,
17 | } from './utils.js';
18 |
19 | (async () => {
20 | const appId = 'PXzC5j78di';
21 | const url = `https://captcha.hsprotect.net/${appId}/captcha.js`;
22 |
23 | /** @type {string} */
24 | let originalScript = '';
25 | try {
26 | const response = await axios.get(url);
27 | originalScript = response.data;
28 | } catch (error) {
29 | console.error('Error fetching the script:', error);
30 | return;
31 | }
32 |
33 | const ast = parser.parse(originalScript);
34 |
35 | // Traverse the AST to find and replace function calls
36 | inlineImmutableBindings(ast);
37 |
38 | const fnCalls = analyzeFunctionCalls(ast);
39 | fnCalls.forEach((elem) => {
40 | const { path, fnFinalCallString } = elem;
41 | if (fnFinalCallString) {
42 | path.replaceWithSourceString(fnFinalCallString);
43 | }
44 | });
45 |
46 | // Remove intermediate functions that are not used
47 | removeIntermediateFunctions(ast, fnCalls);
48 |
49 | // Extract the body of the IIFE and execute it in a JSDOM context
50 | const iifeBodyResult = extractIIFEBody(ast);
51 | const jsdom = new JSDOM(
52 | `
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 | HUMAN Iframe Page
61 |
67 |
68 |
69 |
70 |
102 |
103 |
104 |
105 |
106 | `,
107 | {
108 | runScripts: 'dangerously',
109 | }
110 | );
111 |
112 | const script = new Script(iifeBodyResult?.code || '');
113 |
114 | // Execute the IIFE body in jsdom context
115 | try {
116 | script.runInContext(jsdom.getInternalVMContext());
117 | } catch (err) {}
118 |
119 | // run the IIFE body in a JSDOM context
120 | const { window } = jsdom;
121 |
122 | fnCalls.forEach((elem) => {
123 | const { path, fnFinalCallString } = elem;
124 | if (fnFinalCallString) {
125 | const result = window.eval(fnFinalCallString);
126 | // console.log(`Function call replaced: ${fnFinalCallString} => ${result}`);
127 | path.replaceWith(types.stringLiteral(result));
128 | }
129 | });
130 |
131 | // const chatCodeAtResults = findCharCodeAtCalls(ast);
132 |
133 | let replacedAttempts = 0;
134 | for (;;) {
135 | const replaceResults = [];
136 | traverse(ast, {
137 | CallExpression(path) {
138 | const node = path.node;
139 |
140 | if (node.arguments.length !== 1 || !types.isStringLiteral(node.arguments[0])) {
141 | return;
142 | }
143 |
144 | const functionName = node.callee.name;
145 | if (!functionName || ['atob', 'parseInt'].includes(functionName)) return;
146 |
147 | // FIXME: handle the case where the function name is a single character
148 | if (functionName.length === 1) {
149 | // console.log(`Found function call: ${functionName}`);
150 | const stringArg = node.arguments[0].value;
151 |
152 | try {
153 | const stringResult = window.u(stringArg);
154 | if (stringResult !== stringArg) {
155 | replaceResults.push({
156 | path,
157 | stringResult,
158 | });
159 | }
160 | } catch (err) {}
161 | } else {
162 | // console.log(`Found function call: ${functionName} with argument: ${node.arguments[0].value}`);
163 | }
164 | },
165 | });
166 |
167 | if (replaceResults.length === 0) {
168 | ++replacedAttempts;
169 | if (replacedAttempts === 3) {
170 | break;
171 | }
172 |
173 | continue;
174 | }
175 |
176 | replacedAttempts = 0;
177 |
178 | replaceResults.forEach((result) => {
179 | const { path, stringResult } = result;
180 | path.replaceWith(types.stringLiteral(stringResult));
181 | });
182 | }
183 |
184 | // Convert computed properties to regular properties
185 | convertComputedToProperty(ast);
186 |
187 | // Remove excessive parseInt functions
188 | removeExcessiveParseIntFunctions(ast);
189 |
190 | // generate the modified script from the AST
191 | const modifiedScript = generate(ast, { retainLines: false }).code;
192 |
193 | // Save the modified script to a file
194 | const outputPath = './captcha.transformed.js';
195 | const prettier = await import('prettier');
196 | const prettierConfig = await prettier.resolveConfig(outputPath);
197 | const formatted = await prettier.format(modifiedScript, {
198 | ...prettierConfig,
199 | filepath: outputPath,
200 | });
201 | await fs.writeFile(outputPath, formatted, 'utf-8');
202 | })();
203 |
--------------------------------------------------------------------------------
/readable/eps-d.md:
--------------------------------------------------------------------------------
1 | ### The steps to de-obfuscate eps-d:
2 | 1. Paste `eps-d` into `https://obf-io.deobfuscate.io/`.
3 | 2. Paste the output code into Chrome's JavaScript console to get the values `Gm`, `kB`, `gs`.
4 | 3. Execute this code in https://astexplorer.net/ using `@baber/parser` + `babelv7` transform.
5 | 4. Use http://jsnice.org/ to make the code look better.
6 |
7 |
8 | ```javascript
9 | export default function (babel) {
10 | const { types: t } = babel;
11 | const strs = {
12 | Gm: 'RegExpchangedTouchesreadPixelsfillcreateEventaudio/mpeg_phantom11pt ArialfillStyleHelveticaNeueTRIANGLE_STRIPSerifaabortMAX_VERTEX_UNIFORM_VECTORSHIGH_FLOATerroredAgControl.AgControlcreateShaderheadaudio/wav; codecs="1"randomparentElementPristinaLOW_FLOATheightuserAgenttype..HIGH_INTcontentWindowfunction f(j){var results=0;for(i=0;i<5;i++){results+=i;}if(j%2==0){results+=3;return results;}else{return result;}}availTopwebgl_hpluginsDOMContentLoadedfilteravailHeightsupportedEntryTypesappNameMonotypeCorsivaskippedLeelawadeebeginPathShell.UIHelpervideo/ogg; codecs="theora"webgl_cccanvasavailLeftfbufferDatamintouchend\\sFuturaBkBTtagNameRealVideo.RealVideo(tm) ActiveX Control (32-bit)screenYAudioSimHei__webdriver_script_funcstringifytoUpperCase::EdwardianScriptCenturyglobalCompositeOperationdocumentElement, JuiceITlinkProgramgetAttribLocationwebgl_dNetscapelastModifiedFLOATaih^_[a-zA-Z]serif]getAttributekeys18pt Arialrgb(0,255,255)__webdriver_script_fn__webdriver_unwrappedimplementationQuickTimeCheckObject.QuickTimeCheck.1SequentumtouchmovegetUniformLocationtimeStamp#069scriptMEDIUM_FLOATconsoleVENDORKokilaMTmouseoverptcompileShaderLOW_INTindexedDBperformanceselenium-evaluatewindowcpuClassmapmultiplyWMPlayer.OCXonbindexOfArrayLucidaSansPMingLiUeattrVertexGOTHAMMicrosoftUighur72pxMAX_VARYING_VECTORS applyGillSanssic__SENTRY__pushgetBatteryisPointInPathwebglopenDatabaseno Error.nameActiveXObjectAcroPDF.PDFpermissionsinnerHTMLsuffixesdebugappFRAGMENT_SHADERchromevideotopcauseprecision mediump float;varying vec2 varyinTexCoordinate;void main() {gl_FragColor=vec4(varyinTexCoordinate,0,1);}nowinnerWidthMAX_VERTEX_TEXTURE_IMAGE_UNITSDocumentTimelineZWAdobeFIFRAME',
13 | UU: 'SWCtl.SWCtlmousedownMeiryoUIgetImageDataWebGLRenderingContextpstopInternalMsxml2.DOMDocumentfillTextwebgl_iomouseupmsMaxTouchPointsfunctionBatangsrcsmaxTouchPoints#f60ginnerHeightcreateBufferaddBehavioriframeparseIntexternal{[nativecode]}ARRAY_BUFFERAparajitaMTfontseleniumidentifierwebgl_metastartalphabeticsetTimeoutaudio/ogg; codecs="vorbis"Humanst521BTVERTEX_SHADERorientationtouchstartundefinedMAX_VIEWPORT_DIMSgetShaderPrecisionFormatJSONMTExtrauseProgramaudio/aac;canvas_hstring cast failedPerformanceObserverObjectclearTimeoutUNMASKED_RENDERER_WEBGLvendor(^|[^SmallFontsclientYdblclickFunctionsubstringduckduckgoHaettenschweilermessagerttaudio/x-m4a;GREEN_BITSCalibriGishaMTscreenTEMPORARYdriverdevicePixelRatiowebdriverirgetContextAttributesrgb(255,0,255)WorkergetExtension_Selenium_IDE_RecorderTrident__proto__mousemoveJSON.stringify exceptionunknownavailWidthsorttestbodytouchcancelno Error.stackmouseenter]|$)',
14 | kB: "BitstreamVeraSansMonoVERSIONFranklinGothicbaseRemoveChild_e421bb29PDF.PdfCtrlEXT_texture_filter_anisotropiccallSeleniumgetpowDateALIASED_LINE_WIDTH_RANGEsrprotocolAvantGardeBkBTQuickTime.QuickTimetArialUnicodeMSdocumentinsertBefore_e421bb29ogactualBoundingBoxAscentaudiochildrensymbolbuniformOffsetUniversCE55MediumlanguageexceededontouchstartRealPlayerMAX_TEXTURE_SIZETDCCtl.TDCCtlouterHeightstop2dcontainersetMathproductSubenableVertexAttribArraytext[valuerangeMinloadTimeslanguagescallPhantomdataslice])[fillRectMsxml2.XMLHTTPinterrogateMinionProhardwareConcurrencymatchcalltiminginterrogationnoneoffsetUniformonucreateHTMLDocumentnumItemsAdodb.StreamSTENCIL_BITSVrindaRGBAtoLowerCasedumpStringatcreateElementSHADING_LANGUAGE_VERSIONdriver-evaluatenametoStringLetterGothicfromCharCoderepeat ;; vertexPosArrayshaderSourceLucidaBrightrgb(255,255,0)addEventListenerUNSIGNED_BYTEUint8ArrayRealPlayer.RealPlayer(tm) ActiveX Control (32-bit)product__selenium_unwrappedvertexAttribPointerUNMASKED_VENDOR_WEBGL__nightmaredrawArrays~getSupportedExtensionscanvas_dsubstrlocationprecisionactualBoundingBoxDescentuniform2fWEBKIT_EXT_texture_filter_anisotropicMSOutlookMAX_COMBINED_TEXTURE_IMAGE_UNITSfirstChildSegoeUILightnamedItemradiusXgetParameterstyleMAX_TEXTURE_IMAGE_UNITSitemgetTimezoneOffsetcontentDocumentBLUE_BITSmmmmmmmmllicanPlayType_seleniumClarendoncharCodeAtclosePathStaccato222BTBiomeMT$evenoddprototypergba(102, 204, 0, 0.7)TRAJANPROcreateElementNSsltmeasureTextlengthwebdriver-evaluateHighTowergetTimebindWebGL2RenderingContextcreateImageDatastring cast: BankGothicMdBTnavigationStartarcrefreshAVENIRLTProArabicTypesettingdescription,",
15 | gs: `RED_BITSgetOwnPropertyNamesPIabsMAX_CUBE_MAP_TEXTURE_SIZEwidthstringTouchEventbtoaforceselfSTATIC_DRAWSkype.DetectionSCRIPTfromnopemonospaceMacromediaFlashPaper.MacromediaFlashPaperloadbindBufferALPHA_BITSMarlettMSReferenceSpecialtyinlineattachShaderuncollectablegetContextLevenimMTquerySelectorcurrentTimeMAX_TEXTURE_MAX_ANISOTROPY_EXTtoDataURLMAX_VERTEX_ATTRIBSnavigatorscreenX__fxdriver_unwrappedFilebuildIDhistoryvideo/webm; codecs="vp8, vorbis"reese84interrogator[depth limit]removeChildDEPTH_BITSjavascript:rmocx.RealPlayer G2 Control.1[\\u0080-\\uFFFF]insertBeforeprop_ocanvas_fontsjoin__fxdriver_evaluateno Error.cause.pixelDepthactualBoundingBoxRightMOZ_EXT_texture_filter_anisotropic'experimental-webglcreateProgramMYRIADPROFloat32ArrayitemSizeclientXobjectMSMinchomouseoutenabledPluginputImageDatadisplayPERSISTENT__webdriver_evaluateSCRIPTINARENDERERHELVforEachrmocx.RealPlayer G2 Controlplatform;;;textBaselinesans-serifdivgetPrototypeOfradiusY-actualBoundingBoxLeftantialiasARNOPROconnectioncrreeseSkipExpirationCheckBauhaus93$1MEDIUM_INTappendChildMAX_FRAGMENT_UNIFORM_VECTORSctscalevisualViewportremoveEventListener__selenium_evaluatedeviceMemoryvideo/mp4; codecs="avc1.4D401E"canvas_ioano Error.messageImpactedattribute vec2 attrVertex;varying vec2 varyinTexCoordinate;uniform vec2 uniformOffset;void main(){varyinTexCoordinate=attrVertex+uniformOffset;gl_Position=vec4(attrVertex,0,1);}createAttributeparentNode__driver_unwrapped[\\ud800-\\udbff]$startInternaldata:image/webpScripting.DictionarycFuturaMdBTShockwaveFlash.ShockwaveFlashDevalVRXCtrl.DevalVRXCtrl.1filenamemimeTypesCenturyGothicstMAX_RENDERBUFFER_SIZE__driver_evaluateALIASED_POINT_SIZE_RANGEMicrosoft Internet ExplorerreplaceMSUIGothiccanvas_oCwm fjordbank glyphs vext quiz,stack]([^__webdriver_script_functionvertexPosAttribEUROSTILEAgencyFBouterWidthimage/webpwebgl_o;video/mp4; codecs="avc1.42E01E"rangeMaxrectmouseleaveWebAssemblygetOwnPropertyDescriptorWEBGL_debug_renderer_inforotationAngledoNotTrack`,
16 | };
17 |
18 | return {
19 | name: "ast-transform", // not required
20 | visitor: {
21 | CallExpression(path) {
22 | if (
23 | t.isMemberExpression(path.node.callee) &&
24 | t.isIdentifier(path.node.callee.object) &&
25 | Object.keys(strs).includes(path.node.callee.object.name) &&
26 | t.isIdentifier(path.node.callee.property, { name: "substr" })
27 | ) {
28 | path.replaceWith(
29 | t.stringLiteral(
30 | strs[path.node.callee.object.name].substr(
31 | path.node.arguments[0].value,
32 | path.node.arguments[1].value
33 | )
34 | )
35 | );
36 | }
37 | },
38 | },
39 | };
40 | }
41 | ```
--------------------------------------------------------------------------------
/autoReverseMain.js:
--------------------------------------------------------------------------------
1 | // @ts-check
2 |
3 | import { traverse, types } from '@babel/core';
4 | import { generate } from '@babel/generator';
5 | import parser from '@babel/parser';
6 | import axios from 'axios';
7 | import fs from 'fs/promises';
8 | import { JSDOM } from 'jsdom';
9 | import { deobfuscate } from 'obfuscator-io-deobfuscator';
10 | import { Script } from 'vm';
11 | import { convertComputedToProperty, extractIIFEBodyMain1, inlineImmutableBindings } from './utils.js';
12 |
13 | (async () => {
14 | const appId = 'PXzC5j78di';
15 | const url = `https://client.px-cloud.net/${appId}/main.min.js`;
16 |
17 | /** @type {string} */
18 | let originalScript = '';
19 | try {
20 | const response = await axios.get(url);
21 | originalScript = response.data;
22 | } catch (err) {
23 | console.error('Error fetching the script:', err);
24 | return;
25 | }
26 |
27 | const deobfedScript = deobfuscate(originalScript, {
28 | objectSimplification: { isEnabled: true },
29 | objectPacking: { isEnabled: true },
30 | proxyFunctionInlining: { isEnabled: true },
31 | stringRevealing: { isEnabled: true },
32 | expressionSimplification: { isEnabled: true },
33 | constantPropagation: { isEnabled: true },
34 | reassignmentRemoval: { isEnabled: true },
35 | sequenceSplitting: { isEnabled: true },
36 | controlFlowRecovery: { isEnabled: true },
37 | deadBranchRemoval: { isEnabled: false },
38 | antiTamperRemoval: { isEnabled: true },
39 | unusedVariableRemoval: { isEnabled: true },
40 | propertySimplification: { isEnabled: true },
41 | });
42 |
43 | const ast = parser.parse(deobfedScript);
44 |
45 | // Extract the body of the IIFE and execute it in a JSDOM context
46 | const iifeBodyResult = extractIIFEBodyMain1(ast);
47 | const jsdom = new JSDOM(
48 | `
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 | HUMAN Iframe Page
57 |
63 |
64 |
65 |
66 |
98 |
99 |
100 |
101 | `,
102 | {
103 | runScripts: 'dangerously',
104 | }
105 | );
106 |
107 | const script = new Script(iifeBodyResult?.code || '');
108 |
109 | // Execute the IIFE body in jsdom context
110 | try {
111 | script.runInContext(jsdom.getInternalVMContext());
112 | } catch (err) {}
113 |
114 | // run the IIFE body in a JSDOM context
115 | const { window } = jsdom;
116 |
117 | for (;;) {
118 | const needToReplaceNumberCalls = [];
119 | traverse(ast, {
120 | CallExpression(path) {
121 | const node = path.node;
122 |
123 | if (node.arguments.length !== 1) return;
124 |
125 | const arg1Value = path.get('arguments.0').evaluate();
126 | if (arg1Value.confident && typeof arg1Value.value === 'number') {
127 | const fnName = node.callee.name;
128 | if (fnName && typeof window[fnName] === 'function') {
129 | const result = window[fnName](arg1Value.value);
130 | needToReplaceNumberCalls.push({
131 | path,
132 | result,
133 | });
134 | }
135 | }
136 | },
137 | });
138 |
139 | needToReplaceNumberCalls.forEach((elem) => {
140 | const { path, result } = elem;
141 | path.replaceWith(types.stringLiteral(result));
142 | });
143 |
144 | const needToReplaceStrCalls = [];
145 | traverse(ast, {
146 | CallExpression(path) {
147 | const node = path.node;
148 |
149 | if (node.arguments.length !== 1) return;
150 |
151 | const arg1Value = path.get('arguments.0').evaluate();
152 | if (arg1Value.confident && typeof arg1Value.value === 'string') {
153 | const fnName = node.callee.name;
154 | if (fnName && typeof window[fnName] === 'function') {
155 | try {
156 | const result = window[fnName](arg1Value.value);
157 | if (typeof result === 'string') {
158 | needToReplaceStrCalls.push({
159 | path,
160 | result,
161 | });
162 | }
163 | } catch (err) {}
164 | }
165 | }
166 | },
167 | });
168 |
169 | needToReplaceStrCalls.forEach((elem) => {
170 | const { path, result } = elem;
171 | path.replaceWith(types.stringLiteral(result));
172 | });
173 |
174 | if (needToReplaceNumberCalls.length === 0 && needToReplaceStrCalls.length === 0) {
175 | break;
176 | }
177 | }
178 |
179 | // Traverse the AST to find and replace function calls
180 | inlineImmutableBindings(ast);
181 |
182 | // Convert computed properties to regular properties
183 | convertComputedToProperty(ast);
184 |
185 | window.close();
186 |
187 | // generate the modified script from the AST
188 | const modifiedScript = generate(ast, { retainLines: false }).code;
189 |
190 | // Save the modified script to a file
191 | const outputPath = `./main_${appId}.transformed.js`;
192 | const prettier = await import('prettier');
193 | const prettierConfig = await prettier.resolveConfig(outputPath);
194 | const formatted = await prettier.format(modifiedScript, {
195 | ...prettierConfig,
196 | filepath: outputPath,
197 | });
198 | await fs.writeFile(outputPath, formatted, 'utf-8');
199 | })();
200 |
--------------------------------------------------------------------------------
/source/iamNotaRobot.js:
--------------------------------------------------------------------------------
1 | function pxLang(a) {
2 | if (a)
3 | a = a.toLowerCase();
4 | const m = {
5 | en: "en",
6 | "en-us": "en",
7 | "it": "it",
8 | "it-it": "it",
9 | "it-ch": "it",
10 | "fr": "fr",
11 | "fr-ca": "fr-ch",
12 | "fr-fr": "fr",
13 | "es-mx": "es"
14 | };
15 | var b = m[a];
16 | if (!b)
17 | b = 'en';
18 | return b;
19 | }
20 |
21 | function iamNotaRobotPX(lang, brand='api', action='captcha', epsCaptcha, baseUrl) {
22 | if (typeof _isPxMobile === 'undefined' || _isPxMobile === null) {
23 | _isPxMobile = 0;
24 | }
25 | epsCaptcha.innerHTML = "";
26 | const captchaDiv = epsCaptcha.querySelector('#captcha-box');
27 | captchaDiv.innerHTML = '';
28 | window._pxSelectedLocale = pxLang(lang);
29 | window._pxAppId = _pxAppId;
30 | window._pxHostUrl = `https://collector-${_pxAppId}.perimeterx.net`;
31 | window._pxJsClientSrc = `//client.perimeterx.net/${_pxAppId}/main.min.js`;
32 | window._pxFirstPartyEnabled = 'true';
33 | window._pxTranslation = {
34 | fr: [{
35 | selector: ".px-captcha-header",
36 | text: "Veuillez vérifier que vous êtes un humain"
37 | }, {
38 | selector: ".px-captcha-message",
39 | text: "Appuyez et maintenez enfoncé pour confirmer que vous êtes un humain (et non un bot)."
40 | }],
41 | it: [{
42 | selector: ".px-captcha-header",
43 | text: "Per favore verifica di essere un essere umano"
44 | }, {
45 | selector: ".px-captcha-message",
46 | text: "Tieni premuto per confermare che sei un essere umano (e non un bot)."
47 | }],
48 | es: [{
49 | selector: ".px-captcha-header",
50 | text: "Por favor, compruebe que es un ser humano."
51 | }, {
52 | selector: ".px-captcha-message",
53 | text: "Mantén presionado para confirmar que eres un humano (y no un bot)."
54 | }],
55 | en: [{
56 | selector: ".px-captcha-header",
57 | text: "Please Verify You Are A Human"
58 | }, {
59 | selector: ".px-captcha-message",
60 | text: "Press & Hold to confirm you are a human (and not a bot)."
61 | }]
62 | };
63 | var pc = document.createElement('script');
64 | const captchaHost = 'https://captcha.px-cdn.net';
65 | const altCaptchaHost = 'https://captcha.px-cloud.net';
66 | pc.src = `${captchaHost}/${_pxAppId}/captcha.js?a=c&m=${_isPxMobile}`;
67 | document.head.appendChild(pc);
68 | pc.onerror = function() {
69 | pc = document.createElement('script');
70 | pc.src = `${altCaptchaHost}/${_pxAppId}/captcha.js?a=c&m=${_isPxMobile}`;
71 | document.head.appendChild(pc);
72 | }
73 | ;
74 | document.head.appendChild(pc);
75 | loadCommonResources(baseUrl, 'captcha');
76 | }
77 |
78 | function setGlobalVariables(vars) {
79 | const globalVariabes = document.createElement('script');
80 | globalVariabes.setAttribute('type', 'text/javascript');
81 | globalVariabes.textContent = vars;
82 | document.head.appendChild(globalVariabes);
83 | }
84 |
85 | function loadCommonResources(baseUrl, action) {
86 | const actionScript = document.createElement('script');
87 | actionScript.setAttribute('type', 'text/javascript');
88 | actionScript.setAttribute('src', `${baseUrl}/asset/${action}.js`);
89 | actionScript.onload = ()=>eval('load()');
90 | document.head.appendChild(actionScript);
91 | actionScript.remove();
92 | const actionCss = document.createElement('link');
93 | actionCss.setAttribute('type', 'text/css');
94 | actionCss.setAttribute('href', `${baseUrl}/asset/eps.css`)
95 | actionCss.setAttribute('rel', 'stylesheet')
96 | document.head.appendChild(actionCss);
97 | const viewport = document.createElement('meta')
98 | viewport.setAttribute('name', 'viewport');
99 | viewport.setAttribute('content', 'width=device-width, initial-scale=1');
100 | document.head.appendChild(viewport);
101 | }
102 |
103 | function iamNotaRobotD(lang, brand='api', action='captcha', epsCaptcha, baseUrl) {
104 | let xhr = new XMLHttpRequest();
105 | xhr.open('GET', baseUrl + '/amigood');
106 | xhr.setRequestHeader('x-lang', lang);
107 | xhr.setRequestHeader('brand', brand);
108 | xhr.setRequestHeader('requesting-host', window.location.host);
109 | xhr.onreadystatechange = function() {
110 | if (xhr.readyState === XMLHttpRequest.DONE) {
111 | const parser = new DOMParser();
112 | const epsContent = parser.parseFromString(xhr.responseText, 'text/html');
113 | const scripts = Array.from(epsContent.querySelectorAll('script'));
114 | scripts.filter(script=>script.hasAttribute('src') && script.getAttribute('src').includes('geetest')).map(script=>{
115 | const scriptEL = document.createElement('script');
116 | scriptEL.setAttribute('src', script.getAttribute('src'));
117 | document.head.appendChild(scriptEL);
118 | script.remove();
119 | epsCaptcha.innerHTML = epsContent.body.innerHTML;
120 | scriptEL.onload = ()=>{
121 | scripts.filter(script=>script.textContent.includes('#captcha-box') || script.textContent.includes('function solvedCaptcha(payload)')).forEach(element=>{
122 | const scriptEL = document.createElement('script');
123 | scriptEL.textContent = element.textContent;
124 | scriptEL.setAttribute('type', 'text/javascript');
125 | document.head.appendChild(scriptEL);
126 | element.remove()
127 | }
128 | );
129 | }
130 | }
131 | );
132 | loadCommonResources(baseUrl, 'captcha');
133 | }
134 | }
135 | ;
136 | xhr.send();
137 | }
138 | ;
139 | function iamNotaRobot(lang, brand='api', action='captcha') {
140 | const realBrand = (brand === 'api' ? 'tm' : brand);
141 | const epsCaptcha = document.querySelector('#eps-captcha');
142 | epsCaptcha.style = "background: rgb(255, 255, 255);";
143 | const baseUrl = Array.from(document.querySelectorAll('script')).filter(script=>script.hasAttribute('src') && script.getAttribute('src').includes('eps-mgr')).map(script=>{
144 | const elements = script.getAttribute('src').split('/');
145 | return elements[0] + "//" + elements[2];
146 | }
147 | )[0];
148 | if (action == 'block') {
149 | setGlobalVariables(`var rid="${dt}"; var ip="${client_ip}";var al="${lang}";`);
150 | epsCaptcha.innerHTML = "";
151 | loadCommonResources(baseUrl, 'block');
152 | return;
153 | }
154 |
155 | setGlobalVariables(`var tc="";var rid="${dt}";var rr="";var host="${window.location.host}";var ip="${client_ip}";var action="${action}";var al="${lang}";var ss="${realBrand}.css";`);
156 |
157 | if (eps_dg == 'p') {
158 | iamNotaRobotPX(lang, brand, action, epsCaptcha, baseUrl);
159 | } else {
160 | iamNotaRobotD(lang, brand, action, epsCaptcha, baseUrl);
161 | }
162 | }
163 |
--------------------------------------------------------------------------------
/source/eps-mgr:
--------------------------------------------------------------------------------
1 | var s = document.createElement('script');
2 | s.src = 'https://epsf.ticketmaster.com/asset/iamNotaRobot.js';
3 | s.charset = 'utf-8';
4 | document.head.appendChild(s);
5 | var nd_enabled = false;
6 | var client_ip = '24.225.131.119';
7 | var dt = '2024-08-05T19:27:30Z-400';
8 | var h = window.location.host;
9 | var d_f = new Map([["www.ticketmaster.co.uk", ["d", "g"]], ["my.ticketmaster.com", ["d"]], ["my.livenation.com", ["d"]], ["my.ticketmaster.ca", ["d"]], ["my.ticketmaster.ae", ["p"]], ["my.ticketmaster.at", ["p"]], ["my.ticketmaster.be", ["p"]], ["my.ticketmaster.ch", ["p"]], ["my.ticketmaster.co.nz", ["p"]], ["my.ticketmaster.co.uk", ["p"]], ["my.ticketmaster.co.za", ["p"]], ["my.ticketmaster.com.au", ["p"]], ["my.ticketmaster.com.mx", ["p"]], ["my.ticketmaster.cz", ["p"]], ["my.ticketmaster.de", ["p"]], ["my.ticketmaster.dk", ["p"]], ["my.ticketmaster.es", ["p"]], ["my.ticketmaster.fi", ["p"]], ["my.ticketmaster.ie", ["p"]], ["my.ticketmaster.nl", ["p"]], ["my.ticketmaster.no", ["p"]], ["my.ticketmaster.pl", ["p"]], ["my.ticketmaster.se", ["p"]], ["citylive.trium.fr", ["p"]], ["am.ticketmaster.com", ["d"]], ["auth.ticketmaster.com", ["d", "g"]], ["payments.ticketmaster.com", ["p"]], ["payments.ticketmaster.co.uk", ["p"]], ["www.ticketmaster.com", ["d", "p", "g"]], ["www.ticketmaster.ca", ["d", "p", "g"]], ["checkout.ticketmaster.com", ["d", "p", "g"]], ["www.ticketmaster.ae", ["p", "g", "d"]], ["www.ticketmaster.at", ["p", "g", "d"]], ["www.ticketmaster.se", ["p", "g", "d"]], ["www.ticketmaster.be", ["p", "g", "d"]], ["www.ticketmaster.ch", ["p", "g", "d"]], ["www.ticketmaster.cz", ["p", "g", "d"]], ["www.ticketmaster.de", ["p", "g", "d"]], ["www.ticketmaster.dk", ["p", "g", "d"]], ["www.ticketmaster.es", ["p", "g", "d"]], ["www.ticketmaster.fi", ["p", "g", "d"]], ["www.ticketmaster.nl", ["p", "g", "d"]], ["www.ticketmaster.no", ["p", "g", "d"]], ["www.ticketmaster.pl", ["p", "g", "d"]], ["www.ticketmaster.co.za", ["p", "g", "d"]], ["beta.ticketmaster.ae", ["p", "g", "d"]], ["beta.ticketmaster.at", ["p", "g", "d"]], ["beta.ticketmaster.se", ["p", "g", "d"]], ["beta.ticketmaster.be", ["p", "g", "d"]], ["beta.ticketmaster.ch", ["p", "g", "d"]], ["beta.ticketmaster.cz", ["p", "g", "d"]], ["beta.ticketmaster.de", ["p", "g", "d"]], ["beta.ticketmaster.dk", ["p", "g", "d"]], ["beta.ticketmaster.es", ["p", "g", "d"]], ["beta.ticketmaster.fi", ["p", "g", "d"]], ["beta.ticketmaster.nl", ["p", "g", "d"]], ["beta.ticketmaster.no", ["p", "g", "d"]], ["beta.ticketmaster.pl", ["p", "g", "d"]], ["beta.ticketmaster.co.za", ["p", "g", "d"]], ["alpha.ticketmaster.ae", ["p", "g", "d"]], ["alpha.ticketmaster.at", ["p", "g", "d"]], ["alpha.ticketmaster.se", ["p", "g", "d"]], ["alpha.ticketmaster.be", ["p", "g", "d"]], ["alpha.ticketmaster.ch", ["p", "g", "d"]], ["alpha.ticketmaster.cz", ["p", "g", "d"]], ["alpha.ticketmaster.de", ["p", "g", "d"]], ["alpha.ticketmaster.dk", ["p", "g", "d"]], ["alpha.ticketmaster.es", ["p", "g", "d"]], ["alpha.ticketmaster.fi", ["p", "g", "d"]], ["alpha.ticketmaster.nl", ["p", "g", "d"]], ["alpha.ticketmaster.no", ["p", "g", "d"]], ["alpha.ticketmaster.pl", ["p", "g", "d"]], ["alpha.ticketmaster.co.za", ["p", "g", "d"]], ["www.zz.ticketmaster.eu", ["p", "d"]], ["recette.ticketmaster.fr", ["p"]], ["billetterie.groupama-stadium.com", ["p"]], ["billetterie-stg.groupama-stadium.com", ["p"]], ["billetterie.ldlcarena.com", ["p"]], ["billetterie-stg.ldlcarena.com", ["p"]], ["billetterie.cultura.com", ["p"]], ["billetterie-stg.accorarena.com", ["p"]], ["billetterie.accorarena.com", ["p"]], ["recette.spectacles.carrefour.fr", ["p"]], ["spectacles.carrefour.fr", ["p"]], ["www.spectacles.carrefour.fr", ["p"]], ["www.spectaclescarrefour.leparisien.fr", ["p"]], ["www.leclercbilletterie.com", ["p"]], ["tickets.cdiscount.com", ["p"]], ["billetterie.adidasarena.com", ["p"]], ["billetterie.arkeaarena.com", ["p"]], ["billetterie.arenaaix.com", ["p"]], ["www.loisirs.showroomprive.com", ["p"]], ["demo.ticketmaster.fr", ["g", "p"]], ["www.ticketmaster.fr", ["g", "p"]], ["recette.spectacles.carrefour.fr", ["p"]], ["www.ticketmaster.ie", ["d", "g"]], ["www.ticketmaster.com.au", ["d", "g"]], ["nflhospitality.tmtickets.de", ["d", "g"]], ["nflhospitality.uat.tmtickets.de", ["d", "g"]], ["concerts.livenation.com", ["d", "g"]], ["ticketmaster.com.mx", ["d", "g"]], ["www.ticketmaster.com.mx", ["d", "g"]], ["billetterie.aegpresents.fr", ["g", "p"]]]);
10 | let features = d_f.get(h);
11 | if (features && features.length > 0) {
12 | for (let i = 0; i < features.length; i++) {
13 | if (features[i] == 'h') {
14 | try {
15 | var tagLoaded, sm, humanConfig = {}, humanScriptSrc = 'https://s.jwndnv.com/static/2.64.1/pagespeed.js?mo=2&ci=411638&dt=4116381628729041890000&pd=acc&spa=1&dom=s.jwndnv.com', maxFailCount = 5, debug = !0, maxHeaderSize = 4e3, appName = 'tm_pp', regex = 'am.ticketmaster.com' === h || 'stg1-am.ticketmaster.com' === h ? /\/render-ticket\/secure-barcode/ : /.+/, humanRequestFailCount = (setHumanConfig({
16 | protectedRequestRules: [{
17 | apiDomain: h,
18 | pathRegexes: [regex]
19 | }],
20 | excludedRequestRules: []
21 | }),
22 | 0), humanScriptURLdomain = getLocation(humanScriptSrc).hostname, signalHandler = function(e) {
23 | for (var t = {
24 | OZ_TC: e.OZ_TC
25 | }, n = e.OZ_DT, a = 0; t['OZ_DT' + a] = n.substring(0, maxHeaderSize),
26 | n = n.substring(maxHeaderSize); a++)
27 | ;
28 | var r = utf8_to_b64(e.OZ_SG);
29 | for (a = 0; ; a++) {
30 | 1;
31 | if (t['OZ_SG' + a] = r.substring(0, maxHeaderSize),
32 | !(r = r.substring(maxHeaderSize)))
33 | break
34 | }
35 | return t
36 | };
37 | function setHumanConfig(e) {
38 | humanConfig = e
39 | }
40 | function utf8_to_b64(e) {
41 | try {
42 | return btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g, function(e, t) {
43 | return String.fromCharCode(parseInt(t, 16))
44 | }))
45 | } catch (e) {
46 | return errorHandler(e, 'Error converting UTF8 to B64.'),
47 | ''
48 | }
49 | }
50 | function errorHandler(e, t) {
51 | t = (t += ' (') + (null != e ? e.message : 'null') + ')';
52 | debug && console.log(t)
53 | }
54 | function buildRouteRegex() {
55 | try {
56 | for (var e = 0; e < humanConfig.protectedRequestRules.length; e++)
57 | humanConfig.protectedRequestRules[e].domainRegex = new RegExp(humanConfig.protectedRequestRules[e].apiDomain,'i'),
58 | 0 != humanConfig.protectedRequestRules[e].pathRegexes.length && (t = humanConfig.protectedRequestRules[e].pathRegexes.map(e=>'string' == typeof e ? e : new RegExp(e).source).join('|'),
59 | humanConfig.protectedRequestRules[e].routesRegex = new RegExp(t,'i'));
60 | for (var t, e = 0; e < humanConfig.excludedRequestRules.length; e++)
61 | humanConfig.excludedRequestRules[e].domainRegex = new RegExp(humanConfig.excludedRequestRules[e].apiDomain,'i'),
62 | 0 != humanConfig.excludedRequestRules[e].pathRegexes.length && (t = humanConfig.excludedRequestRules[e].pathRegexes.map(e=>'string' == typeof e ? e : new RegExp(e).source).join('|'),
63 | humanConfig.excludedRequestRules[e].routesRegex = new RegExp(t,'i'))
64 | } catch (e) {
65 | errorHandler(e, 'Error creating Regex.')
66 | }
67 | }
68 | function getLocation(e) {
69 | var t = e.match(/^(https?\:)\/\/(([^:\/?#]*)(?:\:([0-9]+))?)([\/]{0,1}[^?#]*)(\?[^#]*|)(#.*|)$/);
70 | return t && {
71 | href: e,
72 | protocol: t[1],
73 | host: t[2],
74 | hostname: t[3],
75 | port: t[4],
76 | pathname: t[5],
77 | search: t[6],
78 | hash: t[7]
79 | }
80 | }
81 | function checkRoute(t, n) {
82 | try {
83 | return 0 < humanConfig.protectedRequestRules.filter(e=>!(!e.domainRegex.test(t) || !e.routesRegex.test(n))).length && 0 == humanConfig.excludedRequestRules.filter(e=>!(!e.domainRegex.test(t) || !e.routesRegex.test(n))).length
84 | } catch (e) {
85 | return errorHandler(e, 'Failed while comparing XHR Route to Regex.'),
86 | !1
87 | }
88 | }
89 | var ht = document.createElement('script')
90 | , hs = (ht.type = 'text/javascript',
91 | ht.src = humanScriptSrc,
92 | tagLoaded = new Promise(function(e, t) {
93 | ht.onload = function() {
94 | try {
95 | sm = window.$$$.start({
96 | si: appName
97 | })
98 | } catch (e) {
99 | t()
100 | }
101 | e()
102 | }
103 | }
104 | ).catch(e=>{
105 | errorHandler(e, 'Error in tagLoaded Promise.')
106 | }
107 | ),
108 | document.getElementsByTagName('script')[0]);
109 | hs.parentNode.insertBefore(ht, hs)
110 | } catch (e) {
111 | errorHandler(e, 'failed while creating Script Object.')
112 | }
113 | buildRouteRegex(),
114 | function() {
115 | try {
116 | var t = XMLHttpRequest.prototype.open;
117 | XMLHttpRequest.prototype.open = function() {
118 | if (maxFailCount <= humanRequestFailCount)
119 | return t.apply(this, [].slice.call(arguments));
120 | try {
121 | this._method = arguments[0];
122 | return /^https?:\/\//i.test(arguments[1]) ? this._urlObj = getLocation(arguments[1]) : this._urlObj = getLocation(new URL(arguments[1],document.baseURI).href),
123 | this._urlObj.hostname.toLowerCase() == humanScriptURLdomain.toLowerCase() ? this._dontPatch = !0 : this._dontPatch = !1,
124 | this._urlObj && !checkRoute(this._urlObj.hostname, this._urlObj.pathname) && (this._dontPatch = !0),
125 | this._async = arguments.length < 3 || arguments[2],
126 | t.apply(this, [].slice.call(arguments))
127 | } catch (e) {
128 | return humanRequestFailCount++,
129 | console.log(e),
130 | t.apply(this, [].slice.call(arguments))
131 | }
132 | }
133 | } catch (e) {
134 | errorHandler(e, 'Failed while monkey patching XMLHttpRequest.open().')
135 | }
136 | try {
137 | var r = XMLHttpRequest.prototype.send;
138 | XMLHttpRequest.prototype.send = function(a) {
139 | maxFailCount <= humanRequestFailCount || this._dontPatch ? r.call(this, a) : tagLoaded.then(()=>{
140 | sm.report().then(signalHandler).then(e=>{
141 | for (var t = Object.keys(e), n = 0; n < t.length; n++)
142 | this.setRequestHeader(t[n], e[t[n]]);
143 | r.call(this, a)
144 | }
145 | ).catch(e=>{
146 | humanRequestFailCount++,
147 | errorHandler(e, 'Error in Live Signal Route report() call.'),
148 | r.call(this, a)
149 | }
150 | )
151 | }
152 | ).catch(e=>{
153 | humanRequestFailCount++,
154 | r.call(this, a)
155 | }
156 | )
157 | }
158 | } catch (e) {
159 | errorHandler(e, 'Failed while monkey patching XMLHttpRequest.send().')
160 | }
161 | }();
162 | try {
163 | let i = window.fetch;
164 | window.fetch = async function(o, s) {
165 | return maxFailCount <= humanRequestFailCount ? i.call(this, o, s) : tagLoaded.then(()=>{
166 | var e, t;
167 | return t = ('string' != typeof o || /^https?:\/\//i.test(o) ? (e = getLocation('string' == typeof o ? new URL(o).href : o.url).hostname,
168 | getLocation('string' == typeof o ? new URL(o).href : o.url)) : (e = getLocation(new URL(o,document.baseURI).href).hostname,
169 | getLocation(new URL(o,document.baseURI).href))).pathname,
170 | e.toLowerCase() != humanScriptURLdomain.toLowerCase() && checkRoute(e, t) ? sm.report().then(signalHandler).then(e=>{
171 | for (var t = new Request(o,s), n = new Headers(t.headers), a = Object.keys(e), r = 0; r < a.length; r++)
172 | n.append(a[r], e[a[r]]);
173 | return i.call(this, t, {
174 | headers: n
175 | })
176 | }
177 | ).catch(e=>(humanRequestFailCount++,
178 | errorHandler(e, 'Error in Live Signal Route report() call.'),
179 | i.call(this, o, s))) : i.call(this, o, s)
180 | }
181 | ).catch(e=>(humanRequestFailCount++,
182 | errorHandler(e, 'The tag load promise failed'),
183 | i.call(this, o, s)))
184 | }
185 | } catch (e) {
186 | errorHandler(e, 'Failed while monkey patching fetch().')
187 | }
188 | } else if (features[i] == 'd') {
189 | var eps_dg = 'd';
190 | s = document.createElement('script');
191 | s.src = 'https://epsf.ticketmaster.com/eps-d';
192 | s.charset = 'utf-8';
193 | document.head.appendChild(s);
194 | } else if (features[i] == 'n') {
195 | nd_enabled = true;
196 | } else if (features[i] == 'g') {
197 | {
198 | const gecHost = 'epsf.ticketmaster.com';
199 | (async()=>{
200 | function e(c, o) {
201 | return new Promise((t,e)=>{
202 | let a = !0
203 | , n = async()=>{
204 | var e = await c();
205 | if (e)
206 | return t(e);
207 | a && setTimeout(n, 100)
208 | }
209 | ;
210 | n(),
211 | o && setTimeout(()=>{
212 | a = !1,
213 | t()
214 | }
215 | , o)
216 | }
217 | )
218 | }
219 | let n = '6LdWxZEkAAAAAIHtgtxW_lIfRHlcLWzZMMiwx9E1';
220 | var t, a, c = document.createElement('style'), c = (c.innerHTML = '.grecaptcha-badge { visibility: hidden; }',
221 | document.head.appendChild(c),
222 | document.createElement('script')), o = {
223 | '.*tmtickets.*': 'sports'
224 | };
225 | let i = 'default';
226 | for (t in o)
227 | a = document.URL,
228 | new RegExp(t).test(a) && (i = o[t]);
229 | c.src = 'https://www.google.com/recaptcha/enterprise.js?render=' + n,
230 | c.defer = !0,
231 | c.onload = async()=>{
232 | let a = '';
233 | 'sports' === i ? (a = window.dataLayer[0].ClientIdentifier,
234 | a += '_' + window.dataLayer[0].PageType.toLowerCase()) : a = await e(()=>window.digitalData?.page?.pageInfo?.pageName, 5e3),
235 | a = a || document.URL.split('/').slice(2, 5).join('/'),
236 | (await e(()=>window.grecaptcha?.enterprise?.ready))(async()=>{
237 | var e = a.replace(/[^A-Z]+/gi, '_')
238 | , t = await grecaptcha.enterprise.execute(n, {
239 | action: e
240 | }).catch(e=>console.error('gec execute failed: ' + e));
241 | t && (e = [window.location.hostname, n, encodeURIComponent(e), encodeURIComponent(t)].join('/'),
242 | t = `https://${gecHost}/gec/v2/` + e + document.location.search,
243 | (new Image).src = t)
244 | }
245 | )
246 | }
247 | ,
248 | document.head.appendChild(c)
249 | }
250 | )().catch(e=>{
251 | console.error('gec failed: ' + e)
252 | }
253 | );
254 | }
255 | } else if (features[i] == 'm') {
256 | (async()=>{
257 | var e, a, t, n, o;
258 | e = window,
259 | a = document,
260 | t = 'script',
261 | n = 'https://www.datadoghq-browser-agent.com/us1/v5/datadog-rum.js',
262 | e = e[o = 'DD_RUM'] = e[o] || {
263 | q: [],
264 | onReady: function(a) {
265 | e.q.push(a)
266 | }
267 | },
268 | (o = a.createElement(t)).async = 1,
269 | o.src = 'https://www.datadoghq-browser-agent.com/us1/v5/datadog-rum.js',
270 | (n = a.getElementsByTagName(t)[0]).parentNode.insertBefore(o, n);
271 | window.DD_RUM.onReady(function() {
272 | window.DD_RUM.init({
273 | clientToken: 'pub83028f47283c30775066b8fc4ee6d05f',
274 | applicationId: '344438d7-5732-4fff-ba1a-78189a1ea812',
275 | site: 'datadoghq.com',
276 | service: (((window.digitalData || {}).page || {}).pageInfo || {}).domain || 'unknown',
277 | env: (((window.digitalData || {}).page || {}).pageInfo || {}).environment || 'prod',
278 | sessionSampleRate: 100,
279 | sessionReplaySampleRate: 0,
280 | trackUserInteractions: !0,
281 | trackResources: !0,
282 | trackLongTasks: !0,
283 | defaultPrivacyLevel: 'mask'
284 | }),
285 | TMAuthAdaptorStandalone && TMAuthAdaptorStandalone.init({
286 | integratorId: 'prd124.abuse-prevention',
287 | placementId: 'datadog'
288 | }).getUser(!1).then(a=>{
289 | window.DD_RUM.setUser({
290 | id: a.hmacUserId,
291 | name: a.firstName + ' ' + a.lastName,
292 | email: a.emailAddress
293 | })
294 | }
295 | )
296 | })
297 | }
298 | )().catch(a=>{
299 | console.error('datadog failed: ' + a)
300 | }
301 | );
302 | } else if (features[i] == 'p') {
303 | var eps_dg = 'p';
304 | var pp = document.createElement('script');
305 | pp.src = 'https://epsf.ticketmaster.com/eps-p';
306 | pp.charset = 'utf-8';
307 | document.head.appendChild(pp);
308 | } else if (features[i] == 'i') {
309 | i_sdk = document.createElement('script');
310 | i_sdk.src = 'https://www.ipqscdn.com/api/ticketmaster.co.uk/FO7QZkCuyNhsd5pyrXGwbD1Pjo2nXPVR32tvxupSSKShG8NxLoZ7MR7vW01glZRWm4hN7fj1D1Rmp5S4V8sOpINsxOiQVcKlf5zBZUlJ106qq8PXg9lzu3DamqPsIacBRFbYxxCuXbOeSJZbJMn7f0o8iFC96hP1rXufJGwZdulqMVe8OsPZ54MgWz7VllPTPcFToQ8xHA4ivIo2gmrnUQ3pUm6WEkLwToo9T0axKQxqlIf7EesIBLM75G8hEfxd/learn.js';
311 | i_sdk.charset = 'utf-8';
312 | document.head.appendChild(i_sdk);
313 | }
314 | ;
315 | }
316 | } else {
317 | var eps_dg = 'd';
318 | s = document.createElement('script');
319 | s.src = 'https://epsf.ticketmaster.com/eps-d';
320 | s.charset = 'utf-8';
321 | document.head.appendChild(s);
322 | }
323 | ;if (nd_enabled) {
324 | var epsSID = '523b198b89ce5a28c5edf2fe284ed5f24fe5acab';
325 | var ns = document.createElement('script');
326 | ns.src = 'https://epsf.ticketmaster.com/asset/nd.js';
327 | ns.charset = 'utf-8';
328 | document.head.appendChild(ns);
329 | }
330 |
--------------------------------------------------------------------------------
/readable/init_8.9.6.md:
--------------------------------------------------------------------------------
1 | ### The steps to de-obfuscate init_8.9.6:
2 | 1. Paste `init_8.9.6` of the source into `https://obf-io.deobfuscate.io/`.
3 | 2. You may get a code like `0++`, it's okay, you can just change it to `e.cssFromStyleSheets++;`.
4 | 3. Looking at the code, we see that the call to function `R` needs to be replaced. It looks like computing the string.
5 | 4. I also found a lot of similar operations: `gl`, `Ef`, `Fs`, `Qf`, `Xh`, `Ri`, `Ey`, `cp`, `$h`, `mh` function, etc.
6 | 5. Specifically, I noticed that the code contains something like `+ parseInt`, this is a special treatment of the order of the array of strings. We have to adjust the strings in `Ri`, `Ef`, `gl`, `cp`, `Qf`, `Fs`, `mh`, `Xh`, `Ey`, `$h` accordingly.
7 | 6. Put some special treatment on the function `c`.
8 | 7. Execute this code in https://astexplorer.net/ using `@baber/parser` + `babelv7` transform.
9 | 8. Paste the code into https://obf-io.deobfuscate.io/ (uncheck "Simplify Objects") and let it help us optimize the code structure.
10 |
11 |
12 | ```javascript
13 | export default function (babel) {
14 | const { types: t } = babel;
15 | var E = (function () {
16 | try {
17 | return window.atob;
18 | } catch (t) {}
19 | })();
20 |
21 | function f(t) {
22 | f =
23 | "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
24 | ? function (t) {
25 | return typeof t;
26 | }
27 | : function (t) {
28 | return t &&
29 | "function" == typeof Symbol &&
30 | t.constructor === Symbol &&
31 | t !== Symbol.prototype
32 | ? "symbol"
33 | : typeof t;
34 | };
35 | return f(t);
36 | }
37 |
38 | function R(t) {
39 | return f(E) === "function"
40 | ? E(t)
41 | : (function (t) {
42 | var e;
43 | var n;
44 | var r;
45 | var a;
46 | var o = [];
47 | var c = 0;
48 | var i = t.length;
49 | try {
50 | if (
51 | /[^+/=0-9A-Za-z]/.test(t) ||
52 | (/=/.test(t) && (/=[^=]/.test(t) || /={3}/.test(t)))
53 | ) {
54 | return null;
55 | }
56 | for (
57 | i % 4 > 0 &&
58 | (i = (t += window.Array(4 - (i % 4) + 1).join("=")).length);
59 | c < i;
60 |
61 | ) {
62 | n = [];
63 | for (a = c; c < a + 4; ) {
64 | n.push(
65 | "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(
66 | t.charAt(c++)
67 | )
68 | );
69 | }
70 | r = [
71 | ((e =
72 | (n[0] << 18) +
73 | (n[1] << 12) +
74 | ((63 & n[2]) << 6) +
75 | (63 & n[3])) &
76 | 16711680) >>
77 | 16,
78 | 64 === n[2] ? -1 : (65280 & e) >> 8,
79 | 64 === n[3] ? -1 : 255 & e,
80 | ];
81 | for (a = 0; a < 3; ++a) {
82 | if (r[a] >= 0 || 0 === a) {
83 | o.push(String.fromCharCode(r[a]));
84 | }
85 | }
86 | }
87 | return o.join("");
88 | } catch (t) {
89 | return null;
90 | }
91 | })(t);
92 | }
93 |
94 | function gl(t, e) {
95 | const n = [
96 | "HyhDBUZYdQ",
97 | "push",
98 | "outerWidth",
99 | "HyhDBkNQdw",
100 | "input",
101 | "getAttribute",
102 | "HyhDBkZZdQ",
103 | "HyhDBURRfg",
104 | "4320224yAoFuM",
105 | "documentMode",
106 | "HyhDBUdQdg",
107 | "HyhDBUBRdg",
108 | "d2ViZHJpdmVy",
109 | "deviceMemory",
110 | "HyhDBkBZcg",
111 | "architecture",
112 | "HyhDBkJZfg",
113 | "constructor",
114 | "HyhDBkNbcQ",
115 | "test",
116 | "HyhDBkJddg",
117 | "enabledPlugin",
118 | "2238xWgSdL",
119 | "HyhDBkNQdg",
120 | "call",
121 | "HyhDBUZfdg",
122 | "length",
123 | "true",
124 | "HyhDBUZQdQ",
125 | "width",
126 | "rtt",
127 | "battery",
128 | "DateTimeFormat",
129 | "matches",
130 | "HyhDBUdYcA",
131 | "HyhDBURdcg",
132 | "value",
133 | "HyhDBUBffg",
134 | "HyhDBUdbdw",
135 | "(any-hover: none), (any-pointer: coarse)",
136 | "HyhDBkBccQ",
137 | "HyhDBUtfcQ",
138 | "HyhDBkBbcw",
139 | "moz",
140 | "HyhDBkVZdQ",
141 | "164OpdsXF",
142 | "localStorage",
143 | "HyhDBUBYdQ",
144 | "HyhDBkdQcA",
145 | "HyhDBkZcfg",
146 | "HyhDBkFYcQ",
147 | "webView",
148 | "HyhDBkdZdw",
149 | "HyhDBUtccQ",
150 | "AudioWorkletNode",
151 | "HyhDBUZadA",
152 | "maxTouchPoints",
153 | "HyhDBUdecg",
154 | "log",
155 | "HyhDBkZYcA",
156 | "callPhantom",
157 | "appVersion",
158 | "get",
159 | "HyhDBUVccw",
160 | "permissions",
161 | "doNotTrack",
162 | "awesomium",
163 | "HyhDBkBQfw",
164 | "openDatabase",
165 | "getElementsByTagName",
166 | "HyhDBUtafw",
167 | "HyhDBkNffw",
168 | "HyhDBUBdcA",
169 | "__webdriver_script_fn",
170 | "sort",
171 | "HyhDBUVYdA",
172 | "bmF2aWdhdG9yLndlYmRyaXZlcg==",
173 | "HyhDBkBddg",
174 | "HyhDBUtZdA",
175 | "HyhDBUVQdQ",
176 | "bitness",
177 | "shift",
178 | "HyhDBkZYfw",
179 | "runtime",
180 | "HyhDBUBcfw",
181 | "forEach",
182 | "scrollY",
183 | "HyhDBkBbdg",
184 | "2,10",
185 | "defaultView",
186 | "innerHeight",
187 | "HyhDBUZbdQ",
188 | "HyhDBUZcdg",
189 | "getPrototypeOf",
190 | "HyhDBUtYcg",
191 | "HyhDBUZbfw",
192 | "mobile",
193 | "geolocation",
194 | "HyhDBkdadw",
195 | "HyhDBUpQcg",
196 | "domAutomation",
197 | "HyhDBkdadg",
198 | "HyhDBkdcfw",
199 | "HyhDBUpbfg",
200 | "HyhDBUBfdA",
201 | "appCodeName",
202 | "AudioWorklet",
203 | "HyhDBkJafg",
204 | "null",
205 | "effectiveType",
206 | "9bgLOEd",
207 | "mimeTypes",
208 | "HyhDBUZedw",
209 | "517290tapWUW",
210 | "HyhDBkddcg",
211 | "HyhDBkNbcA",
212 | "HyhDBUdffw",
213 | "anNIZWFwU2l6ZUxpbWl0",
214 | "pageXOffset",
215 | "Android",
216 | "HyhDBUZecg",
217 | "HyhDBkBfcQ",
218 | "HyhDBUtbdQ",
219 | "HyhDBUVQcg",
220 | "HyhDBkZYcQ",
221 | "HyhDBkZYdw",
222 | "platformVersion",
223 | "product",
224 | "pdfViewerEnabled",
225 | "HyhDBkBZfg",
226 | "HyhDBUVedQ",
227 | "HyhDBkZRfg",
228 | "onLine",
229 | "HyhDBkdacA",
230 | "HyhDBkNYdQ",
231 | "atob",
232 | "HyhDBkNefw",
233 | "[object HTMLPluginsCollection]",
234 | " Mobile/",
235 | "HyhDBUZfcA",
236 | "pageYOffset",
237 | "HyhDBUZdcw",
238 | "referrer",
239 | "Content Security Policy",
240 | "3212kcAgYN",
241 | "HyhDBUVbcA",
242 | "30951FlmlBj",
243 | "voiceURI",
244 | "1259172mZvRGu",
245 | "orientation",
246 | "HyhDBURadQ",
247 | "buildID",
248 | "standalone",
249 | "HyhDBUtbfw",
250 | "aGFyZHdhcmVDb25jdXJyZW5jeQ==",
251 | "HyhDBUBQcg",
252 | "WebAssembly",
253 | "scrollX",
254 | "HyhDBUVffg",
255 | "BatteryManager",
256 | "dXNlZEpTSGVhcFNpemU=",
257 | "HyhDBUVddw",
258 | "HyhDBUZacg",
259 | "appName",
260 | "HyhDBUtcdg",
261 | "html",
262 | "name",
263 | "HyhDBkNdcg",
264 | "visibility",
265 | "getTime",
266 | "brands",
267 | "availHeight",
268 | "HyhDBkZRcQ",
269 | "v8Locale",
270 | "HyhDBkZccQ",
271 | "HyhDBkZacQ",
272 | "substring",
273 | "getEntries",
274 | "hardwareConcurrency",
275 | "spawn",
276 | "HyhDBkNddQ",
277 | "HyhDBUpYfg",
278 | "downlink",
279 | "[object Geolocation]",
280 | "platform",
281 | "HyhDBUVfcg",
282 | "uaFullVersion",
283 | "HyhDBUVQdw",
284 | "setInterval",
285 | "HyhDBUZZcQ",
286 | "userAgentData",
287 | "missing",
288 | "PX12073",
289 | "fmget_targets",
290 | "undefined",
291 | "setItem",
292 | "HyhDBkNadw",
293 | "timing",
294 | "getBoundingClientRect",
295 | "HyhDBUtRcQ",
296 | "HyhDBkZddg",
297 | "(pointer:fine)",
298 | "HyhDBkJacg",
299 | "sendBeacon",
300 | "format",
301 | "HyhDBUZbfg",
302 | "onorientationchange",
303 | "map",
304 | "height",
305 | "visible",
306 | "HyhDBUtbcQ",
307 | "msDoNotTrack",
308 | "HyhDBkNafw",
309 | "HyhDBkBYcg",
310 | "addEventListener",
311 | "HyhDBkJYdA",
312 | "HyhDBkFRdw",
313 | "HyhDBUZcfg",
314 | "elementFromPoint",
315 | "emit",
316 | "Worklet",
317 | "toString",
318 | "HyhDBUZafg",
319 | "RequestAnimationFrame",
320 | "HyhDBUtcdQ",
321 | "setTimeout",
322 | "Buffer",
323 | "isSecureContext",
324 | "HyhDBkZZdg",
325 | "label",
326 | "pixelDepth",
327 | "HyhDBkJYdg",
328 | "HyhDBkFcdw",
329 | "HyhDBkNadQ",
330 | "HyhDBUpRdw",
331 | "hidden",
332 | "HyhDBkFcfw",
333 | "offsetHeight",
334 | "indexOf",
335 | "[object MimeTypeArray]",
336 | "HyhDBkZZdA",
337 | "availWidth",
338 | "connection",
339 | "HyhDBUVcfw",
340 | "fontFromResourceApi",
341 | "domAutomationController",
342 | "HyhDBUBbcQ",
343 | "prototype",
344 | "offsetWidth",
345 | "performance",
346 | "type",
347 | "HyhDBUtadw",
348 | "dG90YWxKU0hlYXBTaXpl",
349 | "matchMedia",
350 | "ontouchstart",
351 | "HyhDBkZYfg",
352 | "HyhDBUBQcQ",
353 | "hasOwnProperty",
354 | "bWVtb3J5",
355 | "HyhDBkZZdw",
356 | "HyhDBUtcfw",
357 | "[object PluginArray]",
358 | "geb",
359 | "HyhDBURRdw",
360 | "HyhDBkBcdg",
361 | "HyhDBUVbdA",
362 | "HyhDBUdccA",
363 | "_cordovaNative",
364 | "random",
365 | "languages",
366 | "HyhDBUBQfw",
367 | "648GOisVI",
368 | "HyhDBUdYfw",
369 | "HyhDBUtQdQ",
370 | "plugins",
371 | "HyhDBUpdfw",
372 | "MatchesSelector",
373 | "HyhDBUVYfw",
374 | "22sbVOzV",
375 | "HyhDBUVQcw",
376 | "HyhDBURccA",
377 | "imgFromResourceApi",
378 | "colorDepth",
379 | "HyhDBkZadg",
380 | "getOwnPropertyDescriptor",
381 | "HyhDBkJefw",
382 | "HyhDBUtQdw",
383 | "cookie",
384 | "HyhDBkdccQ",
385 | "navigation",
386 | "T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcg==",
387 | "getTimezoneOffset",
388 | "HyhDBkJadw",
389 | "chrome",
390 | "HyhDBkFYcg",
391 | "HyhDBkZefg",
392 | "ancestorOrigins",
393 | "HyhDBkFfdw",
394 | "HyhDBUBQdg",
395 | "caches",
396 | "HyhDBUZafw",
397 | "dispatchEvent",
398 | "HyhDBkBdcA",
399 | "HyhDBUVdcQ",
400 | "HyhDBkBZcQ",
401 | "ActiveXObject",
402 | "webkit",
403 | "userAgent",
404 | "_Selenium_IDE_Recorder",
405 | "HyhDBURYcw",
406 | "keys",
407 | "HyhDBkJRdA",
408 | "innerWidth",
409 | "HyhDBUVddg",
410 | "HyhDBkZcfw",
411 | "TouchEvent",
412 | "Date",
413 | "HyhDBkdYfg",
414 | "HyhDBkJbdQ",
415 | "HyhDBUZZcw",
416 | "console",
417 | "cookieEnabled",
418 | "query",
419 | "getComputedStyle",
420 | "HyhDBkZQfw",
421 | "HyhDBkBQcQ",
422 | "message",
423 | "Performance",
424 | "HyhDBUdddA",
425 | "__nightmare",
426 | "HyhDBkdbdw",
427 | "bmF2aWdhdG9yLnVzZXJBZ2VudA==",
428 | "language",
429 | "HyhDBUZRcQ",
430 | "requestAnimationFrame",
431 | "HyhDBkZccg",
432 | "tagName",
433 | "10473730eQAQrv",
434 | "cssFromResourceApi",
435 | "ondeviceready",
436 | "HyhDBURQdw",
437 | "HyhDBUtQcA",
438 | " Safari/",
439 | "HyhDBUVadw",
440 | "productSub",
441 | "HyhDBUdRcg",
442 | "HyhDBUZacA",
443 | "HyhDBkdcdQ",
444 | "instantiate",
445 | "add",
446 | "showModalDialog",
447 | "cssFromStyleSheets",
448 | "RunPerfTest",
449 | "HyhDBkdecg",
450 | "HyhDBkZacg",
451 | "notify",
452 | "HyhDBkFedg",
453 | "item",
454 | "HyhDBUBfdw",
455 | "external",
456 | "HyhDBkdfcQ",
457 | "HyhDBkFdcg",
458 | "HyhDBUtecQ",
459 | "1631zxWmOw",
460 | "outerHeight",
461 | "HyhDBkddfg",
462 | "documentElement",
463 | "XDomainRequest",
464 | "PointerEvent",
465 | "split",
466 | "bind",
467 | "HyhDBkdQdQ",
468 | "HyhDBkBRcQ",
469 | "model",
470 | "getBattery",
471 | "HyhDBURYdw",
472 | "EventSource",
473 | "HyhDBUdedg",
474 | "HyhDBURbfg",
475 | "[object MSPluginsCollection]",
476 | "HyhDBkFQcA",
477 | "saveData"
478 | ];
479 | return n[(t -= 154)];
480 | }
481 |
482 | function Ef(t, e) {
483 | var n = [
484 | "charCodeAt",
485 | "slice",
486 | "substring",
487 | "4qGCCyw",
488 | "indexOf",
489 | "15548787BDMOTV",
490 | "50533550hTZSHu",
491 | "floor",
492 | "577046gbwZJy",
493 | "length",
494 | "9120IYrAbT",
495 | "push",
496 | "split",
497 | "sort",
498 | "1604064986000",
499 | "2476209ddDxWg",
500 | "40PXgOlY",
501 | "280mOVJiO",
502 | "6566768iMFEqh",
503 | "797881JsIrYL"
504 | ];
505 | return n[(t -= 157)];
506 | }
507 |
508 | function Fs(t, e) {
509 | var n = [
510 | "5yGDazF",
511 | "trigger",
512 | "sid",
513 | "HyhDBUpddQ",
514 | "_pxPreventAnalyticsCookie",
515 | "HyhDBkNdcA",
516 | "_pxAppId",
517 | "HyhDBURedA",
518 | "isChallengeDone",
519 | "true",
520 | "_pr_c",
521 | "HyhDBkNfcA",
522 | "cls",
523 | "removeItem",
524 | "shift",
525 | "1026132kRrnMU",
526 | "href",
527 | "18lJqiyh",
528 | "365958ugAyqG",
529 | "reload",
530 | "enrich",
531 | "1oo1o1",
532 | "risk",
533 | "24174760jxCtqV",
534 | "sts",
535 | "slice",
536 | "HyhDBUVdfw",
537 | "setItem",
538 | "HyhDBUdY",
539 | "bake",
540 | "ttl",
541 | "28NYExkP",
542 | "apply",
543 | "1371744AMCIhD",
544 | "forceSent",
545 | "pxqp",
546 | "getItem",
547 | "HyhDBkdQfg",
548 | "YmFrZQ==",
549 | "split",
550 | "622780bzMcpF",
551 | "length",
552 | "drc",
553 | "~~~~",
554 | "unshift",
555 | "toLowerCase",
556 | "push",
557 | "584648HnGcjN",
558 | "args",
559 | "concat",
560 | "1306868ivqNvh"
561 | ];
562 | return n[(t -= 208)];
563 | }
564 |
565 | function Qf(t, e) {
566 | var n = [
567 | "HyhDBkZQfg",
568 | "style",
569 | "getOwnPropertyDescriptor",
570 | "tof",
571 | "HyhDBkZddw",
572 | "Opera",
573 | "webkit",
574 | "gecko",
575 | "HyhDBkZdfw",
576 | "support",
577 | "6mSjIIz",
578 | "88HVIuWp",
579 | "plugins",
580 | "pqp",
581 | "toUpperCase",
582 | "concat",
583 | "toString",
584 | "7333529uzrNxE",
585 | "query",
586 | "nqbDcbnfasn76cspMYzpsy",
587 | "onhelp",
588 | "keys",
589 | "jnyehf",
590 | "inject_failed",
591 | "push",
592 | "try_to_inject",
593 | "toSource",
594 | "Function",
595 | "presto",
596 | "get",
597 | "HyhDBkZdcQ",
598 | "_len",
599 | "HyhDBkZddA",
600 | "onload",
601 | "HyhDBkZfdw",
602 | "match",
603 | "HyhDBkZedg",
604 | "type",
605 | "permissions",
606 | "toS",
607 | "sort",
608 | "slice",
609 | "HyhDBkZffw",
610 | "2iAJTdH",
611 | "allowedFeatures",
612 | "webkitNotifications",
613 | "angvir pbqr",
614 | "stringify",
615 | "charCodeAt",
616 | "HyhDBkZffg",
617 | "5cdfwqZ",
618 | "T2JqZWN0Lm5ld0hhbmRsZXIuPGNvbXB1dGVkPg==",
619 | "every",
620 | "iframe",
621 | "cmVhZCBvbmx5",
622 | "prototype",
623 | "featurePolicy",
624 | "maxConnectionsPerServer",
625 | "HyhDBkZddQ",
626 | "CynlvatSynt",
627 | "fubjZbqnyQvnybt",
628 | "haxabja",
629 | "msLaunchUri",
630 | "HyhDBkZRcg",
631 | "chrome",
632 | "removeChild",
633 | "Flzoby",
634 | "createElement",
635 | "jroxvgRkvgShyyfperra",
636 | "substring",
637 | "isn",
638 | "ActiveXObject",
639 | "async",
640 | "24704asEwxx",
641 | "HyhDBkZQdA",
642 | "HyhDBkZecA",
643 | "HyhDBkZQcQ",
644 | "HyhDBkZdcg",
645 | "undef",
646 | "connection",
647 | "brave",
648 | "String",
649 | "cyhtrkg",
650 | "HyhDBkZdfg",
651 | "nhqvb",
652 | "jroxvgShyyfperraRyrzrag",
653 | "mozConnection",
654 | "HyhDBkZedA",
655 | "navigator",
656 | "replace",
657 | "toLowerCase",
658 | "input",
659 | "document",
660 | "prefixes",
661 | "HyhDBkZfcQ",
662 | "getElementById",
663 | "pncgher",
664 | "display:none",
665 | "&ci=",
666 | "indexOf",
667 | "HyhDBkZdcw",
668 | "HyhDBkZecQ",
669 | "smd",
670 | "hasOwnProperty",
671 | "519729jdsOPr",
672 | "fryravhz-vqr-vaqvpngbe",
673 | "HyhDBkZfcA",
674 | "description",
675 | "axabja",
676 | "length",
677 | "jroxvg",
678 | "w3c",
679 | "HyhDBkZQdw",
680 | "27444010UucOvB",
681 | "nyreg",
682 | "status",
683 | "userAgent",
684 | "unknown",
685 | "OPR",
686 | "trg",
687 | "name",
688 | "HyhDBkZdcA",
689 | "resolvedOptions",
690 | "styleMedia",
691 | "onerror",
692 | "Object",
693 | "Intl",
694 | "cyhtvaf",
695 | "value",
696 | "fromCharCode",
697 | "message",
698 | "webkitConnection",
699 | "Neenl",
700 | "body",
701 | "call",
702 | "script",
703 | "zbm",
704 | "&ti=",
705 | "appendChild",
706 | "123129RIHTrT",
707 | "timeZone",
708 | "Notification",
709 | "isArray",
710 | "Cebzvfr",
711 | "jroxvgVfShyyFperra",
712 | "filename",
713 | "permission",
714 | "HyhDBkZQcg",
715 | "head",
716 | "onoperadetachedviewchange",
717 | "exec",
718 | "trident",
719 | "AngvirVBSvyr",
720 | "T2JqZWN0LmFwcGx5",
721 | "UGZYCbchcRyrzrag",
722 | "__proto__",
723 | "HyhDBkZQdg",
724 | "protocol",
725 | "9146880Owqhmw",
726 | "HyhDBkZedw",
727 | "share",
728 | "inject_succeeded",
729 | "1104999YVkXvO",
730 | "src",
731 | "HyhDBkZQdQ",
732 | "DateTimeFormat",
733 | "setAttribute",
734 | "getOwnPropertyDescriptors",
735 | "outerHTML"
736 | ];
737 | return n[(t -= 177)];
738 | }
739 |
740 | function Xh(t, e) {
741 | var n = [
742 | "HyhDBUVRcg",
743 | "bmF2aWdhdG9y",
744 | "onlostpointercapture",
745 | "getBoxQuads",
746 | "join",
747 | "HyhDBkZRdQ",
748 | "onhashchange",
749 | "Keyboard",
750 | "onvrdisplaydisconnect",
751 | "onselect",
752 | "webkitURL",
753 | "fileSize",
754 | "ondurationchange",
755 | "onpointerout",
756 | "match",
757 | "fragmentDirective",
758 | "onmousemove",
759 | "requestStorageAccess",
760 | "createTouch",
761 | "exitPictureInPicture",
762 | "HyhDBkZZcA",
763 | "onpageshow",
764 | "274580tmwwMF",
765 | "HyhDBURecg",
766 | "Close",
767 | "ontoggle",
768 | "ondragover",
769 | "HyhDBkFRcg",
770 | "createExpression",
771 | "Onafterprint",
772 | "registerProtocolHandler",
773 | "onwebkitanimationstart",
774 | "usedJSHeapSize",
775 | "createProcessingInstruction",
776 | "onmousedown",
777 | "onbeforeunload",
778 | "onuserproximity",
779 | "createcdatasECTION",
780 | "onactivateinvisible",
781 | "onselectionchange",
782 | "ondragexit",
783 | "oncancel",
784 | "onoffline",
785 | "VRFieldOfView",
786 | "onmouseenter",
787 | "elementsFromPoint",
788 | "speechSynthesis",
789 | "Yandex",
790 | "onvolumechange",
791 | "ondevicemotion",
792 | "eWFuZGV4",
793 | "VRDispaly",
794 | "queryCommandValue",
795 | "Onappinstalled",
796 | "onsubmit",
797 | "mozSyntheticDocument",
798 | "appName",
799 | "Onanimationend",
800 | "onplaying",
801 | "onrejectionhandled",
802 | "Open",
803 | "ongotpointercapture",
804 | "onreset",
805 | "toLowerCase",
806 | "taintEnabled",
807 | "onload",
808 | "ononline",
809 | "createNodeIterator",
810 | "productSub (important returns the build number of the current browser)",
811 | "onloadstart",
812 | "slice",
813 | "onshow",
814 | "Evaluate",
815 | "Dump",
816 | "Locks",
817 | "adoptNode",
818 | "styleSheetSets",
819 | "3326310FApFDX",
820 | "execComandShowHelp",
821 | "cookieEnabled",
822 | "webkitMediaStream",
823 | "onvrdisplaypresentchange",
824 | "onblur",
825 | "createRange",
826 | "webkitRTCPeerConnection",
827 | "Oncopy",
828 | "Append",
829 | "ontransitionstart",
830 | "Math",
831 | "createEntityReference",
832 | "onwebkitanimationiteration",
833 | "Serial",
834 | "onvrdisplaydeactivate",
835 | "VRStageParameters",
836 | "HyhDBUdddA",
837 | "hasOwnProperty",
838 | "oninput",
839 | "onwaiting",
840 | "RELEASEevents",
841 | "ol_originalAddEventListener",
842 | "onoverscroll",
843 | "HyhDBkJQdQ",
844 | "cGx1Z2lucw==",
845 | "onscroll",
846 | "mozFullScreenEnabled",
847 | "RnVuY3Rpb24=",
848 | "onscrollend",
849 | "queryCommandEnabled",
850 | "selectedStyleSheetSet",
851 | "onelementpainted",
852 | "oncut",
853 | "b3BlcmE=",
854 | "HyhDBUVccQ",
855 | "onlanguagechange",
856 | "HyhDBUZYfg",
857 | "performance",
858 | "getBattery",
859 | "ondeviceproximity",
860 | "Prepend",
861 | "onunload",
862 | "getvrdISPLAYS",
863 | "mediaSession",
864 | "[object global]",
865 | "onmouseup",
866 | "onmouseover",
867 | "CREATEdOCUMENTfRAGMENT",
868 | "caches",
869 | "length",
870 | "onpointerenter",
871 | "onmouseout",
872 | "onmozfullscreenerror",
873 | "onmouseleave",
874 | "Standalone",
875 | "HyhDBkZZcw",
876 | "vendorSub (important return vendor version number)",
877 | "plugins",
878 | "width",
879 | "importNode",
880 | "vendorName",
881 | "Plugins",
882 | "ondrop",
883 | "19504771tsqWfi",
884 | "mozInnerScreenX",
885 | "onunhandledrejection",
886 | "preferredStyleSheetSet",
887 | "Onmozfullscreenerror",
888 | "queryCommandIndeterm",
889 | "onwebkitanimationend",
890 | "Product",
891 | "getUserMedia",
892 | "onafterscriptexecute",
893 | "VRDisplayEvent",
894 | "onplay",
895 | "registerElement",
896 | "onmessageerror",
897 | "onpointerover",
898 | "42PrMCAS",
899 | "getElementbyTagName",
900 | "bGFuZ3VhZ2Vz",
901 | "menubar",
902 | "Permissions",
903 | "44obbHUv",
904 | "onkeyup",
905 | "Doctype",
906 | "ondeviceorientation",
907 | "onseeking",
908 | "createTextNode",
909 | "xmlVersion",
910 | "onsearch",
911 | "231585qUNKFZ",
912 | "webkitSpeechRecognition",
913 | "HTMLElement",
914 | "CREATEelement",
915 | "HyhDBkdQdw",
916 | "ontransitionrun",
917 | "onmozfullscreenchange",
918 | "carePositionsFromPoint",
919 | "webkitSpeechRecognitionError",
920 | "mozRTCSessionDescription",
921 | "onmousewheel",
922 | "setAppBadge",
923 | "HyhDBkFefg",
924 | "onstalled",
925 | "getElementByName",
926 | "1362ykYiRa",
927 | "prototype",
928 | "Onabort",
929 | "onerror",
930 | "Onanimationstart",
931 | "pushNotification",
932 | "oninvalid",
933 | "getElementsByClassName",
934 | "addressSpace",
935 | "getComputedStyle",
936 | "getSelection",
937 | "onpagehide",
938 | "hasStorageAccess",
939 | "HyhDBkZZfg",
940 | "createElementNS",
941 | "featurePolicy",
942 | "onratechange",
943 | "releaseCapture",
944 | "ondevicelight",
945 | "webkitSpeechGrammar",
946 | "onloadeddata",
947 | "Vibrate",
948 | "onwheel",
949 | "HyhDBUVcdw",
950 | "oncontextmenu",
951 | "Onselectionchange",
952 | "safari",
953 | "onloadedmetadata",
954 | "oncanplay",
955 | "enableStyleSheetsForSet",
956 | "scrollbars",
957 | "contentType",
958 | "onpointerup",
959 | "Share",
960 | "[object process]",
961 | "normalizeDocument",
962 | "ondblclick",
963 | "scheduler",
964 | "hasFocus",
965 | "totalJSHeapSize",
966 | "cmVmcmVzaA==",
967 | "Onpaste",
968 | "caretRangeFromPoint",
969 | "mozFullScreen",
970 | "exitPointerLock",
971 | "toString",
972 | "b3By",
973 | "jsHeapSizeLimit",
974 | "clearAppBadge",
975 | "ondragstart",
976 | "Y2hyb21lOi8vanVnZ2xlci9jb250ZW50",
977 | "memory",
978 | "onformdata",
979 | "Clipboard",
980 | "createNSResolver",
981 | "Chrome",
982 | "Onbeforescriptexecute",
983 | "Onafterscriptexecute",
984 | "onbeforescriptexecute",
985 | "ondragleave",
986 | "release",
987 | "HyhDBkZZfw",
988 | "Write",
989 | "getDefaultComputedStyle",
990 | "buildID (important return the buildID on firefox in addition to productSub)",
991 | "onended",
992 | "onclick",
993 | "mediaDevices",
994 | "visibilityState",
995 | "Opera",
996 | "onrendersubtreeactivation",
997 | "requestMediaKeySystemAccess",
998 | "HyhDBUdbdA",
999 | "Onauxclick",
1000 | "createElementFromPoint",
1001 | "call",
1002 | "oncuechange",
1003 | "ondragend",
1004 | "CreateAttributeNS",
1005 | "webkitSpeechRecognitionEvent",
1006 | "VRFrameData",
1007 | "mozFullScreenElement",
1008 | "ondeviceorientationabsolute",
1009 | "HyhDBkZZcQ",
1010 | "onpointerdown",
1011 | "VRPose",
1012 | "HyhDBkFffg",
1013 | "VRDisplayCapabilities",
1014 | "W29iamVjdCBTYWZhcmlSZW1vdGVOb3RpZmljYXRpb25d",
1015 | "elementFromPoint",
1016 | "filter",
1017 | "sort",
1018 | "c2FmYXJp",
1019 | "onpointerleave",
1020 | "closed",
1021 | "Bluetooth",
1022 | "toolbar",
1023 | "queryCommandState",
1024 | "Onreadystatechange",
1025 | "onseeked",
1026 | "writeIn",
1027 | "180XGEVgo",
1028 | "compatMode",
1029 | "dmFsdWU=",
1030 | "locationbar",
1031 | "HyhDBkFZfg",
1032 | "onchange",
1033 | "onbeforeprint",
1034 | "onselectstart",
1035 | "caretPositionFromPoint",
1036 | "onsuspend",
1037 | "substring",
1038 | "mozCancelFullScreen",
1039 | "mozSetImageElement",
1040 | "onclose",
1041 | "onpause",
1042 | "754867zOwMCl",
1043 | "Y2FsbA==",
1044 | "test",
1045 | "HyhDBkZZcg",
1046 | "HyhDBkZccw",
1047 | "crypto",
1048 | "querySelector",
1049 | "mozRTCIceCandidate",
1050 | "querySelectorAll",
1051 | "onfocus",
1052 | "onwebkittransitionend",
1053 | "CaptureEvents",
1054 | "getAnimatinos",
1055 | "onkeypress",
1056 | "lastStyleSheetSet",
1057 | "loadOverlay",
1058 | "onstorage",
1059 | "webkitSpeechGrammarList",
1060 | "HyhDBkBQdw",
1061 | "queryCommandSupported",
1062 | "onpointermove",
1063 | "yandexAPI",
1064 | "Onfullscreenchange",
1065 | "ontransitionend",
1066 | "oncanplaythrough",
1067 | "appCodeName",
1068 | "getOwnPropertyNames",
1069 | "createEvent",
1070 | "onpointercancel",
1071 | "ondrag",
1072 | "getOverrideStyle",
1073 | "Onanimationiteration",
1074 | "onbeforeinstallprompt",
1075 | "onvrdisplayactivate",
1076 | "onvrdisplayconnect",
1077 | "Onvisibilitychange",
1078 | "javaEnabled",
1079 | "ontimeupdate",
1080 | "onpointerrawupdate",
1081 | "undefined",
1082 | "1466zUggwt",
1083 | "ondragenter",
1084 | "HyhDBkZRcw",
1085 | "rootScroller",
1086 | "mediaCapabilities",
1087 | "devicePixelRatio",
1088 | "onprogress",
1089 | "onemptied",
1090 | "createElementsFromPoint",
1091 | "onresize",
1092 | "HyhDBURQdg",
1093 | "919336noLzKJ",
1094 | "personalbar",
1095 | "getCSSCanvasContext",
1096 | "documentElement",
1097 | "createAttribute",
1098 | "VREyeParameters",
1099 | "Clear",
1100 | "eval",
1101 | "onabsolutedeviceorientation",
1102 | "onbeforexrselect",
1103 | "Replacechildren",
1104 | "getBoxObjectFor",
1105 | "ancestorOrigins",
1106 | "mozInnerScreenY",
1107 | "onloadend",
1108 | "createTreeWalker",
1109 | "cHJvdG90eXBl",
1110 | "createTouchList",
1111 | "d2ViZHJpdmVy",
1112 | "queryCommandText",
1113 | "onmessage",
1114 | "Securitypolicy",
1115 | "CREATEcOMMENT",
1116 | "ontransitioncancel",
1117 | "onkeydown",
1118 | "onpopstate",
1119 | "name",
1120 | "mozRTCPeerConnection",
1121 | "HyhDBUBccQ",
1122 | "Presentation",
1123 | "getElementsById"
1124 | ];
1125 | return n[(t -= 293)];
1126 | }
1127 |
1128 | function Ri(t, e) {
1129 | var n = [
1130 | "defineProperty",
1131 | "HyhHAkI",
1132 | "handler",
1133 | "HyhDBUtbcQ",
1134 | "HyhDBURZfw",
1135 | "captcha_max_stale",
1136 | "HyhFAkA",
1137 | "ODlkNWZhOGQtMTgwZi00NGExLTg0OTctMDZiNWRlMjMwMmQ0",
1138 | "HyhDBUBc",
1139 | "HyhDBUVbdA",
1140 | "HyhDBUBb",
1141 | "HyhDBUVdcQ",
1142 | "28ToIWEp",
1143 | "languages",
1144 | "HyhDBkNY",
1145 | "HyhDBUpbdQ",
1146 | "75303hnVlhI",
1147 | "fontFromResourceApi",
1148 | "HyhDBUBa",
1149 | "HyhDBkNRcw",
1150 | "HyhDBUpQcg",
1151 | "length",
1152 | "cssFromResourceApi",
1153 | "HyhDBkZYdw",
1154 | "HyhDBERe",
1155 | "HyhDBkNRfw",
1156 | "replace",
1157 | "HyhDBUpYfw",
1158 | "random",
1159 | "HyhDBERY",
1160 | "HyhDBkVbcw",
1161 | "HyhDBUddcg",
1162 | "HyhFAkc",
1163 | "HyhDBUdd",
1164 | "hasOwnProperty",
1165 | "HyhDBURccw",
1166 | "HyhDBkFecg",
1167 | "HyhDBUVdfw",
1168 | "HyhDBUpffg",
1169 | "18890660hyqGzd",
1170 | "HyhFAUY",
1171 | "HyhDBURQdA",
1172 | "HyhDBUpRdw",
1173 | "HyhDBkVZcA",
1174 | "HyhDBkJacA",
1175 | "HyhDBkFbdg",
1176 | "querySelectorAll",
1177 | "HyhDBERQ",
1178 | "4221qqSExc",
1179 | "HyhDBkZadg",
1180 | "imgFromResourceApi",
1181 | "nodeName",
1182 | "2089630RggBhk",
1183 | "HyhFAkE",
1184 | "HyhDBUVRfw",
1185 | "705974fBHepm",
1186 | "636420XeImkt",
1187 | "HyhDBkVZcQ",
1188 | "HyhEAEY",
1189 | "getElementById",
1190 | "HyhDBUBd",
1191 | "21PtfmVb",
1192 | "round",
1193 | "1205596AIaNEn",
1194 | "toLowerCase",
1195 | "HyhDBUdYfw",
1196 | "cssFromStyleSheets",
1197 | "1616YoNOWq"
1198 | ];
1199 | return n[(t -= 329)];
1200 | }
1201 |
1202 | function Ey(t, e) {
1203 | var n = [
1204 | "35260980wplrPy",
1205 | "1490478gJjMTr",
1206 | "splice",
1207 | "HyhDBkZecw",
1208 | "filter",
1209 | "202638ERBpVm",
1210 | "sendActivitiesCount",
1211 | "params",
1212 | "join",
1213 | "HyhDBkFQdg",
1214 | "HyhDBUdRcA",
1215 | "activities",
1216 | "trigger",
1217 | "Events",
1218 | "bind",
1219 | "HyhDBUZRdg",
1220 | "HyhDBUBbdA",
1221 | "48324JYphKF",
1222 | "clientFailures",
1223 | "HyhDBUtRdw",
1224 | "Blob",
1225 | "xhrSuccess",
1226 | "postData",
1227 | "px_c_p_",
1228 | "clientRoutesLength",
1229 | "push",
1230 | "setItem",
1231 | "HyhHAkI",
1232 | "hasOwnProperty",
1233 | "_px",
1234 | "_px2",
1235 | "333ArFCca",
1236 | "clientHttpErrorStatuses",
1237 | "extend",
1238 | "386792TlTCGu",
1239 | "HyhDBkNRcw",
1240 | "getTime",
1241 | "sendBeacon",
1242 | "HyhDBUBQcw",
1243 | "HyhDBkFcfg",
1244 | "Hyg6dzEHKTsDBkYSGBI9GRdH",
1245 | "4296436cwFxQY",
1246 | "xhrFailure",
1247 | "_px3",
1248 | "length",
1249 | "148spysiH",
1250 | "xhrResponse",
1251 | "clientXhrErrors",
1252 | "203ikeYdh",
1253 | "fallbackStartIndex",
1254 | "testDefaultPath",
1255 | "2236215JIIfKa",
1256 | "HyhDBkZecg",
1257 | "captchaFailures",
1258 | "Hyg6dzUJLSomF0YaDi8sEQZdHAYUKgMCWx0bIw",
1259 | "getItem"
1260 | ];
1261 | return n[(t -= 487)];
1262 | }
1263 |
1264 | function cp(t, e) {
1265 | var n = [
1266 | "20ztQlha",
1267 | "xhrSuccess",
1268 | "reload",
1269 | "vid",
1270 | "xhrFailure",
1271 | "HyhDBURQdA",
1272 | "HyhDBUZRdg",
1273 | "xhrResponse",
1274 | "_pxVid",
1275 | "pxvid",
1276 | "HyhDBUVccw",
1277 | "HyhDBkFYcQ",
1278 | "22tnEQUr",
1279 | "496095iBoyFw",
1280 | "length",
1281 | "platform",
1282 | "HyhDBUBadg",
1283 | "180528NieMUV",
1284 | "removeItem",
1285 | "HyhDBkNRcw",
1286 | "bind",
1287 | "Hyg",
1288 | "getItem",
1289 | "pxInit",
1290 | "4278765cWcfmx",
1291 | "_asyncInit",
1292 | "val",
1293 | "189cIkkUk",
1294 | "getTime",
1295 | "uid",
1296 | "8282583edIsWM",
1297 | "_pxRootUrl",
1298 | "HyhDBkFecg",
1299 | "ttl",
1300 | "3966896hYFkSr",
1301 | "random",
1302 | "trigger",
1303 | "HyhDBkddfg",
1304 | "14783HyWrao",
1305 | "subscribe",
1306 | "13347100TVBdtk",
1307 | "one",
1308 | "_pxmvid",
1309 | "HyhDBUtRfg",
1310 | "HyhDBUdecw"
1311 | ];
1312 | return n[(t -= 141)];
1313 | }
1314 |
1315 | function $h(t, e) {
1316 | var n = [
1317 | "HNKDfr0Iz4",
1318 | "caR",
1319 | "10aINaRW",
1320 | "4vtwATU",
1321 | "pIY6sc",
1322 | "7cXqKg",
1323 | "floor",
1324 | "UmFj",
1325 | "112120PbTFQA",
1326 | "7ncQN",
1327 | "1574356UncXCG",
1328 | "5425629BFYylJ",
1329 | "QiugjY",
1330 | "reverse",
1331 | "475744gSKbwD",
1332 | "join",
1333 | "split",
1334 | "375603AQaSvr",
1335 | "18OyvpTc",
1336 | "87568iRkbUm",
1337 | "cztI3",
1338 | "8qzt0QH",
1339 | "90XmhrEQ",
1340 | "458852jQkxdn",
1341 | "HyhDBkZfdQ",
1342 | "apply"
1343 | ];
1344 | return n[(t -= 288)];
1345 | }
1346 |
1347 | function mh(t, e) {
1348 | var n = [
1349 | "webdriver",
1350 | "toJSON",
1351 | "fetch",
1352 | "http",
1353 | "runtime",
1354 | "929847YGAzAw",
1355 | "YXBw",
1356 | "indexOf",
1357 | "2994idCmBe",
1358 | "238ZwXSwl",
1359 | "1565500vcVECh",
1360 | "loadTimes",
1361 | "csi",
1362 | "timing",
1363 | "dispatchToListener",
1364 | "1731QlDfni",
1365 | "15320LdbFHk",
1366 | "performance",
1367 | "sendMessage",
1368 | "length",
1369 | "15ZDGXhH",
1370 | "install",
1371 | "constructor",
1372 | "cnVudGltZQ==",
1373 | "webstore",
1374 | "342lvdEMg",
1375 | "createElement",
1376 | "onInstallStageChanged",
1377 | "Y2hyb21l",
1378 | "5400252qyQKjU",
1379 | "195160yfnXSb",
1380 | "6376579MZFQxH",
1381 | "protocol"
1382 | ];
1383 | return n[(t -= 257)];
1384 | }
1385 |
1386 | var a = (function () {
1387 | try {
1388 | if (atob && "test" === atob("dGVzdA==")) {
1389 | return atob;
1390 | }
1391 | } catch (t) {}
1392 |
1393 | function t(t) {
1394 | this.message = t;
1395 | }
1396 |
1397 | t.prototype = new Error();
1398 | t.prototype.name = "InvalidCharacterError";
1399 | return function (e) {
1400 | var n = String(e).replace(/[=]+$/, "");
1401 |
1402 | if (n.length % 4 == 1) {
1403 | throw new t(
1404 | "'atob' failed: The string to be decoded is not correctly encoded."
1405 | );
1406 | }
1407 |
1408 | var r;
1409 | var a;
1410 | var o = 0;
1411 | var c = 0;
1412 |
1413 | for (
1414 | var i = "";
1415 | (a = n.charAt(c++));
1416 | ~a && ((r = o % 4 ? 64 * r + a : a), o++ % 4)
1417 | ? (i += String.fromCharCode(255 & (r >> ((-2 * o) & 6))))
1418 | : 0
1419 | ) {
1420 | a =
1421 | "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(
1422 | a
1423 | );
1424 | }
1425 |
1426 | return i;
1427 | };
1428 | })();
1429 |
1430 | function c(n) {
1431 | var i = a(n);
1432 | var u = "";
1433 |
1434 | for (var f = 0; f < i.length; ++f) {
1435 | var s = "Opr4shF".charCodeAt(f % 7);
1436 | u += String.fromCharCode(s ^ i.charCodeAt(f));
1437 | }
1438 |
1439 | return u;
1440 | }
1441 |
1442 | const calls = { gl, Ef, Fs, Qf, Xh, Ri, Ey, cp, $h, mh };
1443 |
1444 | function apply_R_Transform(path) {
1445 | if (
1446 | t.isIdentifier(path.node.callee, { name: "R" }) &&
1447 | path.node.arguments.length === 1 &&
1448 | t.isStringLiteral(path.node.arguments[0])
1449 | ) {
1450 | const rValue = R(path.node.arguments[0].value);
1451 | path.replaceWith(t.stringLiteral(rValue));
1452 | }
1453 | }
1454 |
1455 | function apply_c_Transform(path) {
1456 | if (
1457 | t.isIdentifier(path.node.callee, { name: "c" }) &&
1458 | path.node.arguments.length === 1 &&
1459 | t.isStringLiteral(path.node.arguments[0])
1460 | ) {
1461 | try {
1462 | const rValue = c(path.node.arguments[0].value);
1463 | path.replaceWith(t.stringLiteral(rValue));
1464 | } catch (err) {}
1465 | }
1466 | }
1467 |
1468 | return {
1469 | name: "ast-transform", // not required
1470 | visitor: {
1471 | Program(path) {
1472 | path.traverse({
1473 | CallExpression(path) {
1474 | apply_R_Transform(path);
1475 | apply_c_Transform(path);
1476 |
1477 | if (
1478 | t.isIdentifier(path.node.callee) &&
1479 | path.node.callee.name in calls &&
1480 | path.node.arguments.length === 1 &&
1481 | t.isNumericLiteral(path.node.arguments[0])
1482 | ) {
1483 | const rValue = calls[path.node.callee.name](
1484 | path.node.arguments[0].value
1485 | );
1486 | try {
1487 | path.replaceWith(t.stringLiteral(rValue));
1488 | } catch (err) {}
1489 | }
1490 | },
1491 | });
1492 |
1493 | // Replace the remaining calls to the functions of R and c with the following
1494 | path.traverse({
1495 | CallExpression(path) {
1496 | apply_R_Transform(path);
1497 | apply_c_Transform(path);
1498 | },
1499 | });
1500 |
1501 | // Remove these codes, which can send execution into a dead loop
1502 | path.traverse({
1503 | ExpressionStatement(path) {
1504 | const code = path.getSource();
1505 | if (code.split("\n").length > 13) return;
1506 | const regex = /!?\s*function\s*\(\s*\w+\s*,\s*\w+\s*\)\s*{\s*for\s*\(.*\)\s*{\s*try\s*{\s*.*parseInt.*\s*\.push\(.*\.shift\(\)\);\s*} catch/s;
1507 | if (regex.test(code)) path.remove();
1508 | },
1509 | })
1510 | },
1511 | },
1512 | };
1513 | }
1514 |
1515 | ```
--------------------------------------------------------------------------------
/readable/init_9.0.8.md:
--------------------------------------------------------------------------------
1 | ### The steps to de-obfuscate init_9.0.8:
2 | 1. Paste `init_9.0.8.js` of the source into `https://obf-io.deobfuscate.io/`.
3 | 2. You may get a code like `0++`, it's okay, you can just change it to `n.cssFromStyleSheets++`.
4 | 3. Looking at the code, we see that the call to function `X` needs to be replaced. It looks like computing the string.
5 | 4. Searching for `= ["`, I found many such similar string definitions in the code and similar operations: `Dc`, `rf`, `gf`, `jf`, `Zl`, `dh`, `bh`, `fd`, `Fp`, `kg` function, etc.
6 | 5. Put some special treatment on the function `c`.
7 | 6. Execute this code in https://astexplorer.net/ using `@baber/parser` + `babelv7` transform.
8 | 8. Paste the code into https://obf-io.deobfuscate.io/ (uncheck "Simplify Objects") and let it help us optimize the code structure.
9 | 8. TODO: Maybe in the future we can use `babel/parser` to write automated de-obfuscation programs to deal with this shit upgrade.
10 |
11 |
12 | ```javascript
13 | // @ts-check
14 |
15 | export default function (babel) {
16 | const { types: t } = babel;
17 | var x = (function () {
18 | try {
19 | return window.atob;
20 | } catch (t) {}
21 | })();
22 |
23 | function M(t) {
24 | f =
25 | "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
26 | ? function (t) {
27 | return typeof t;
28 | }
29 | : function (t) {
30 | return t &&
31 | "function" == typeof Symbol &&
32 | t.constructor === Symbol &&
33 | t !== Symbol.prototype
34 | ? "symbol"
35 | : typeof t;
36 | };
37 | return f(t);
38 | }
39 |
40 | function X(t) {
41 | return M === "function"
42 | ? x(t)
43 | : (function (t) {
44 | var e;
45 | var n;
46 | var r;
47 | var a;
48 | var o = [];
49 | var i = 0;
50 | var c = t.length;
51 | try {
52 | if (
53 | /[^+/=0-9A-Za-z]/.test(t) ||
54 | (/=/.test(t) && (/=[^=]/.test(t) || /={3}/.test(t)))
55 | ) {
56 | return null;
57 | }
58 | for (
59 | c % 4 > 0 &&
60 | (c = (t += window.Array(4 - (c % 4) + 1).join("=")).length);
61 | i < c;
62 |
63 | ) {
64 | n = [];
65 | for (a = i; i < a + 4; ) {
66 | n.push(
67 | "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(
68 | t.charAt(i++)
69 | )
70 | );
71 | }
72 | r = [
73 | ((e =
74 | (n[0] << 18) +
75 | (n[1] << 12) +
76 | ((63 & n[2]) << 6) +
77 | (63 & n[3])) &
78 | 16711680) >>
79 | 16,
80 | 64 === n[2] ? -1 : (65280 & e) >> 8,
81 | 64 === n[3] ? -1 : 255 & e,
82 | ];
83 | for (a = 0; a < 3; ++a) {
84 | if (r[a] >= 0 || 0 === a) {
85 | o.push(String.fromCharCode(r[a]));
86 | }
87 | }
88 | }
89 | return o.join("");
90 | } catch (t) {
91 | return null;
92 | }
93 | })(t);
94 | }
95 |
96 | var a = (function () {
97 | try {
98 | if (atob && "test" === atob("dGVzdA==")) {
99 | return atob;
100 | }
101 | } catch (t) {}
102 |
103 | function t(t) {
104 | this.message = t;
105 | }
106 |
107 | t.prototype = new Error();
108 | t.prototype.name = "InvalidCharacterError";
109 | return function (e) {
110 | var n = String(e).replace(/[=]+$/, "");
111 |
112 | if (n.length % 4 == 1) {
113 | throw new t(
114 | "'atob' failed: The string to be decoded is not correctly encoded."
115 | );
116 | }
117 |
118 | var r;
119 | var a;
120 | var o = 0;
121 | var c = 0;
122 |
123 | for (
124 | var i = "";
125 | (a = n.charAt(c++));
126 | ~a && ((r = o % 4 ? 64 * r + a : a), o++ % 4)
127 | ? (i += String.fromCharCode(255 & (r >> ((-2 * o) & 6))))
128 | : 0
129 | ) {
130 | a =
131 | "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(
132 | a
133 | );
134 | }
135 |
136 | return i;
137 | };
138 | })();
139 |
140 | function c(n) {
141 | var i = a(n);
142 | var u = "";
143 |
144 | for (var f = 0; f < i.length; ++f) {
145 | var s = "Opr4shF".charCodeAt(f % 7);
146 | u += String.fromCharCode(s ^ i.charCodeAt(f));
147 | }
148 |
149 | return u;
150 | }
151 |
152 | function Dc(t, e) {
153 | var n = [
154 | "fyNMZTpPSFY=",
155 | "4406701nDsUUi",
156 | "PX1145",
157 | "toLowerCase",
158 | "12qwgquJ",
159 | "PX12635",
160 | "UFgxMDc2",
161 | "egYJQDxrDXs=",
162 | "cHADdjYfAkM=",
163 | "QABzQAJs",
164 | "PX1135",
165 | "round",
166 | "cssFromStyleSheets",
167 | "PX561",
168 | "hasOwnProperty",
169 | "nodeName",
170 | "PX11745",
171 | "PX764",
172 | "cssFromResourceApi",
173 | "handler",
174 | "fontFromResourceApi",
175 | "UFgxMDcw",
176 | "PX1078",
177 | "aRlaHyx1XC0=",
178 | "9auVrEH",
179 | "PX11659",
180 | "12786VjchMA",
181 | "259130AzTDcJ",
182 | "dW1GKzMNSxg=",
183 | "PX12617",
184 | "207tvlNgc",
185 | "698176BwcuCM",
186 | "PX1200",
187 | "BFw3GkI9MC8=",
188 | "UFg3NTU=",
189 | "length",
190 | "6kisfua",
191 | "IUESR2QoH3A=",
192 | "imgFromResourceApi",
193 | "random",
194 | "defineProperty",
195 | "PX12616",
196 | "replace",
197 | "AWFyJ0cPfhc=",
198 | "414sARfbQ",
199 | "PX762",
200 | "8xnJtpF",
201 | "ODlkNWZhOGQtMTgwZi00NGExLTg0OTctMDZiNWRlMjMwMmQ0",
202 | "UFg2NDU=",
203 | "UFgxMTcxOQ==",
204 | "11554683DfJoAl",
205 | "12548327bOpNXN",
206 | "PX763",
207 | "4973215JzpVSo",
208 | "languages",
209 | "ChY5UE9+P2Q=",
210 | "querySelectorAll",
211 | "PX11978",
212 | "ZR1WGyNyUSs=",
213 | "DhI9VEh9MG8="
214 | ];
215 | return n[(t -= 374)];
216 | }
217 |
218 | function rf(t, e) {
219 | var n = [
220 | "push",
221 | "length",
222 | "9cHfImq",
223 | "44IpXzRP",
224 | "sort",
225 | "slice",
226 | "188559qbucbk",
227 | "substring",
228 | "150958SITkhT",
229 | "charCodeAt",
230 | "12479336teiHdr",
231 | "30xqRqgb",
232 | "floor",
233 | "1604064986000",
234 | "252507DSLvvH",
235 | "592045XnoIBt",
236 | "indexOf",
237 | "6154220jzGHOZ",
238 | "split",
239 | "925137NyvhaU"
240 | ];
241 | return n[(t -= 414)];
242 | }
243 |
244 | function gf(t, e) {
245 | var n = [
246 | "w3c",
247 | "stringify",
248 | "AWFyJ0QNcBI=",
249 | "get",
250 | "WiZpIB9KahU=",
251 | "getOwnPropertyDescriptors",
252 | "toLowerCase",
253 | "jroxvgVfShyyFperra",
254 | "61384edLuOs",
255 | "zbm",
256 | "isn",
257 | "U08gSRYjLHs=",
258 | "src",
259 | "String",
260 | "&ti=",
261 | "15417PgEcsb",
262 | "call",
263 | "fubjZbqnyQvnybt",
264 | "DXV+M0gZfwI=",
265 | "removeChild",
266 | "concat",
267 | "S3c4MQ4bNAE=",
268 | "appendChild",
269 | "jroxvgRkvgShyyfperra",
270 | "PARPQnloTHE=",
271 | "maxConnectionsPerServer",
272 | "nqbDcbnfasn76cspMYzpsy",
273 | "document",
274 | "634160Fxbtir",
275 | "ZjoVPCNWFgg=",
276 | "jroxvg",
277 | "setAttribute",
278 | "iframe",
279 | "134yGuruQ",
280 | "axabja",
281 | "jnyehf",
282 | "trg",
283 | "async",
284 | "tof",
285 | "toString",
286 | "prototype",
287 | "angvir pbqr",
288 | "replace",
289 | "presto",
290 | "CynlvatSynt",
291 | "value",
292 | "sort",
293 | "plugins",
294 | "style",
295 | "inject_failed",
296 | "featurePolicy",
297 | "2004013VbNRTb",
298 | "timeZone",
299 | "LDRfMmlYXQY=",
300 | "CFg7Hk00OiU=",
301 | "allowedFeatures",
302 | "script",
303 | "status",
304 | "cyhtrkg",
305 | "Opera",
306 | "cmVhZCBvbmx5",
307 | "75JHoeFu",
308 | "690PaeTwu",
309 | "Az9weUZTcU0=",
310 | "toS",
311 | "Object",
312 | "connection",
313 | "jroxvgShyyfperraRyrzrag",
314 | "onoperadetachedviewchange",
315 | "haxabja",
316 | "chrome",
317 | "length",
318 | "Bho1XEN2OW8=",
319 | "OPR",
320 | "indexOf",
321 | "Ql5xGAcycCg=",
322 | "cyhtvaf",
323 | "support",
324 | "KxcYEW57GiI=",
325 | "1027232DmHXec",
326 | "Cebzvfr",
327 | "resolvedOptions",
328 | "match",
329 | "every",
330 | "onhelp",
331 | "isArray",
332 | "share",
333 | "substring",
334 | "permissions",
335 | "HwNsBVpvYTM=",
336 | "getElementById",
337 | "slice",
338 | "pncgher",
339 | "protocol",
340 | "W0coQR4rKXs=",
341 | "eydIYT5LRFs=",
342 | "unknown",
343 | "Neenl",
344 | "DzN8dUpffUI=",
345 | "DateTimeFormat",
346 | "HmItZFsOLFI=",
347 | "input",
348 | "DXV+M0gZcgU=",
349 | "brave",
350 | "T3M8NQofPgc=",
351 | "__proto__",
352 | "WGhrbh0Eal0=",
353 | "userAgent",
354 | "body",
355 | "styleMedia",
356 | "message",
357 | "gecko",
358 | "permission",
359 | "query",
360 | "try_to_inject",
361 | "head",
362 | "createElement",
363 | "AngvirVBSvyr",
364 | "keys",
365 | "type",
366 | "filename",
367 | "prefixes",
368 | "onload",
369 | "6gTlJau",
370 | "inject_succeeded",
371 | "webkitNotifications",
372 | "fromCharCode",
373 | "navigator",
374 | "display:none",
375 | "eWlKLzwFRho=",
376 | "exec",
377 | "webkit",
378 | "nhqvb",
379 | "&ci=",
380 | "UGZYCbchcRyrzrag",
381 | "toSource",
382 | "Notification",
383 | "mozConnection",
384 | "a1dYUS47VGA=",
385 | "msLaunchUri",
386 | "GUlqT1wlaXQ=",
387 | "push",
388 | "trident",
389 | "undef",
390 | "210tHbLmg",
391 | "Flzoby",
392 | "bjIdNCteHAE=",
393 | "pqp",
394 | "Intl",
395 | "_len",
396 | "65538eWlXDL",
397 | "onerror",
398 | "Ui5hKBdCYhI=",
399 | "ActiveXObject",
400 | "smd",
401 | "egYJQD9qC3A=",
402 | "fryravhz-vqr-vaqvpngbe",
403 | "Function",
404 | "webkitConnection",
405 | "hasOwnProperty",
406 | "outerHTML",
407 | "toUpperCase",
408 | "T2JqZWN0LmFwcGx5",
409 | "getOwnPropertyDescriptor",
410 | "description",
411 | "nyreg",
412 | "charCodeAt",
413 | "T2JqZWN0Lm5ld0hhbmRsZXIuPGNvbXB1dGVkPg==",
414 | "name"
415 | ];
416 | return n[(t -= 432)];
417 | }
418 |
419 | function jf(t, e) {
420 | var n = [
421 | "_pxAppId",
422 | "getItem",
423 | "forceSent",
424 | "X0MsRRktLnU=",
425 | "1461GhrOGf",
426 | "_pr_c",
427 | "unshift",
428 | "shift",
429 | "LVUeU2s6H2g=",
430 | "toLowerCase",
431 | "980371rEXZuD",
432 | "enrich",
433 | "args",
434 | "slice",
435 | "638VBfkFc",
436 | "apply",
437 | "sts",
438 | "12924KiiNaG",
439 | "bake",
440 | "true",
441 | "push",
442 | "trigger",
443 | "isChallengeDone",
444 | "~~~~",
445 | "YmFrZQ==",
446 | "55396eDVagG",
447 | "concat",
448 | "split",
449 | "length",
450 | "_pxPreventAnalyticsCookie",
451 | "RBx3WgF1dm4=",
452 | "2JedngF",
453 | "PX12488",
454 | "cls",
455 | "href",
456 | "12rmsQJJ",
457 | "11oo1o",
458 | "removeItem",
459 | "eC1weC1jb29raWVz",
460 | "reload",
461 | "sid",
462 | "1016Yzjvlv",
463 | "664oKHFKr",
464 | "risk",
465 | "12043272nDtgjt",
466 | "pxqp",
467 | "drc",
468 | "ttl",
469 | "MVECV3Q4AWM=",
470 | "25110obuOOA",
471 | "662565KGVFrX",
472 | "setItem",
473 | "ICBTJmZAUhc="
474 | ];
475 | return n[(t -= 263)];
476 | }
477 |
478 | function Zl(t, e) {
479 | var n = [
480 | "onInstallStageChanged",
481 | "YXBw",
482 | "171iYrRVD",
483 | "http",
484 | "length",
485 | "1224418IhulZa",
486 | "timing",
487 | "performance",
488 | "toJSON",
489 | "Y2hyb21l",
490 | "3881410SCnFHe",
491 | "webstore",
492 | "csi",
493 | "loadTimes",
494 | "3546ilnrbQ",
495 | "webdriver",
496 | "365648fwPOVc",
497 | "install",
498 | "14LZLMhP",
499 | "16940bzGcuS",
500 | "indexOf",
501 | "fetch",
502 | "protocol",
503 | "cnVudGltZQ==",
504 | "5371460asscnH",
505 | "sendMessage",
506 | "531130QUfrzd",
507 | "64170YmWkFx",
508 | "dispatchToListener",
509 | "createElement",
510 | "constructor",
511 | "runtime"
512 | ];
513 | return n[(t -= 157)];
514 | }
515 |
516 | function dh(t, e) {
517 | var n = [
518 | "onlostpointercapture",
519 | "23915nKpmkP",
520 | "onoffline",
521 | "onwebkitanimationstart",
522 | "onbeforescriptexecute",
523 | "ontransitioncancel",
524 | "Clipboard",
525 | "onloadedmetadata",
526 | "ol_originalAddEventListener",
527 | "Onbeforescriptexecute",
528 | "Prepend",
529 | "onpointerout",
530 | "ontransitionrun",
531 | "mediaDevices",
532 | "memory",
533 | "onprogress",
534 | "appCodeName",
535 | "GCgrLl5HJhg=",
536 | "menubar",
537 | "S3c4MQ4bPQc=",
538 | "mozRTCIceCandidate",
539 | "W29iamVjdCBTYWZhcmlSZW1vdGVOb3RpZmljYXRpb25d",
540 | "documentElement",
541 | "Evaluate",
542 | "onrendersubtreeactivation",
543 | "Write",
544 | "UTEidxRdJ0A=",
545 | "onresize",
546 | "requestMediaKeySystemAccess",
547 | "oncancel",
548 | "Onafterscriptexecute",
549 | "onloadeddata",
550 | "mozCancelFullScreen",
551 | "preferredStyleSheetSet",
552 | "ondeviceproximity",
553 | "onsearch",
554 | "onpointercancel",
555 | "3209728chpyGP",
556 | "onselectionchange",
557 | "onratechange",
558 | "webkitSpeechGrammarList",
559 | "onpointerleave",
560 | "execComandShowHelp",
561 | "webkitSpeechRecognitionEvent",
562 | "440072lhkFPp",
563 | "getElementsById",
564 | "CFg7Hk0zPiQ=",
565 | "onstorage",
566 | "VRDispaly",
567 | "addressSpace",
568 | "onmouseup",
569 | "getCSSCanvasContext",
570 | "Append",
571 | "onmousemove",
572 | "VRDisplayEvent",
573 | "caretPositionFromPoint",
574 | "VGxnahIGZ18=",
575 | "Standalone",
576 | "vendorName",
577 | "onpointerover",
578 | "onkeydown",
579 | "scrollbars",
580 | "queryCommandIndeterm",
581 | "createExpression",
582 | "ondevicemotion",
583 | "onelementpainted",
584 | "onloadend",
585 | "Opera",
586 | "console",
587 | "oninput",
588 | "24mytfbX",
589 | "Onafterprint",
590 | "length",
591 | "onpointerdown",
592 | "onloadstart",
593 | "onwheel",
594 | "Clear",
595 | "cookieEnabled",
596 | "Onreadystatechange",
597 | "visibilityState",
598 | "onchange",
599 | "STk6fw9VPkU=",
600 | "getElementByName",
601 | "createNodeIterator",
602 | "createElementNS",
603 | "onmouseout",
604 | "Oncopy",
605 | "60685sEedSs",
606 | "1097118SzpeSJ",
607 | "normalizeDocument",
608 | "mozSetImageElement",
609 | "vendorSub (important return vendor version number)",
610 | "Y2FsbA==",
611 | "getBoxQuads",
612 | "onabsolutedeviceorientation",
613 | "Onpaste",
614 | "Onanimationend",
615 | "styleSheetSets",
616 | "onkeyup",
617 | "querySelectorAll",
618 | "undefined",
619 | "onclick",
620 | "mediaCapabilities",
621 | "ancestorOrigins",
622 | "SlZ5EAw7eCA=",
623 | "onwebkitanimationend",
624 | "createTextNode",
625 | "Chrome",
626 | "ondragleave",
627 | "oncut",
628 | "onstalled",
629 | "onended",
630 | "MDBDNnVYTwc=",
631 | "getAnimatinos",
632 | "onhashchange",
633 | "ontimeupdate",
634 | "createcdatasECTION",
635 | "oncuechange",
636 | "ondblclick",
637 | "createTouchList",
638 | "createElementFromPoint",
639 | "ondevicelight",
640 | "javaEnabled",
641 | "queryCommandText",
642 | "performance",
643 | "ondeviceorientationabsolute",
644 | "toolbar",
645 | "getOwnPropertyNames",
646 | "onvrdisplaypresentchange",
647 | "cGx1Z2lucw==",
648 | "mozInnerScreenX",
649 | "onvrdisplaydisconnect",
650 | "speechSynthesis",
651 | "ondrag",
652 | "rootScroller",
653 | "webkitSpeechGrammar",
654 | "createNSResolver",
655 | "onblur",
656 | "ontransitionstart",
657 | "taintEnabled",
658 | "scheduler",
659 | "onuserproximity",
660 | "bmF2aWdhdG9y",
661 | "Keyboard",
662 | "caretRangeFromPoint",
663 | "40zqqbEx",
664 | "onmessageerror",
665 | "onpointerup",
666 | "onseeked",
667 | "CREATEcOMMENT",
668 | "hasStorageAccess",
669 | "registerProtocolHandler",
670 | "ondragstart",
671 | "carePositionsFromPoint",
672 | "VRDisplayCapabilities",
673 | "onkeypress",
674 | "onfocus",
675 | "d2ViZHJpdmVy",
676 | "ondragenter",
677 | "yandexAPI",
678 | "Onmozfullscreenerror",
679 | "30UZNPOf",
680 | "onplay",
681 | "a1dYUS06X2E=",
682 | "onpause",
683 | "test",
684 | "createTreeWalker",
685 | "Math",
686 | "oninvalid",
687 | "registerElement",
688 | "Onabort",
689 | "lastStyleSheetSet",
690 | "onbeforeprint",
691 | "23464YjaHbB",
692 | "join",
693 | "compatMode",
694 | "onmessage",
695 | "GmYpYF8NJFY=",
696 | "exitPictureInPicture",
697 | "onvrdisplaydeactivate",
698 | "onscroll",
699 | "Onvisibilitychange",
700 | "mozFullScreenEnabled",
701 | "getBattery",
702 | "Share",
703 | "mozSyntheticDocument",
704 | "b3BlcmE=",
705 | "toLowerCase",
706 | "onload",
707 | "cg4BSDRgDXo=",
708 | "Onselectionchange",
709 | "VRStageParameters",
710 | "createTouch",
711 | "webkitSpeechRecognition",
712 | "onclose",
713 | "Vibrate",
714 | "toString",
715 | "jsHeapSizeLimit",
716 | "cmVmcmVzaA==",
717 | "onwaiting",
718 | "Onauxclick",
719 | "closed",
720 | "enableStyleSheetsForSet",
721 | "cHADdjUcDkc=",
722 | "elementsFromPoint",
723 | "oncanplaythrough",
724 | "[object global]",
725 | "onpagehide",
726 | "Dump",
727 | "devicePixelRatio",
728 | "writeIn",
729 | "NS0Ga3BBA18=",
730 | "Y2hyb21lOi8vanVnZ2xlci9jb250ZW50",
731 | "onmouseleave",
732 | "elementFromPoint",
733 | "contentType",
734 | "onselect",
735 | "onmousewheel",
736 | "Doctype",
737 | "onlanguagechange",
738 | "onscrollend",
739 | "aHgbfi0VF00=",
740 | "oncontextmenu",
741 | "Replacechildren",
742 | "queryCommandEnabled",
743 | "VRFieldOfView",
744 | "onformdata",
745 | "clearAppBadge",
746 | "ondragexit",
747 | "RELEASEevents",
748 | "locationbar",
749 | "GwdoAV5oajE=",
750 | "usedJSHeapSize",
751 | "importNode",
752 | "Bluetooth",
753 | "Securitypolicy",
754 | "getElementsByClassName",
755 | "exitPointerLock",
756 | "createEvent",
757 | "webkitRTCPeerConnection",
758 | "ononline",
759 | "adoptNode",
760 | "createEntityReference",
761 | "VRPose",
762 | "onbeforexrselect",
763 | "Open",
764 | "onsubmit",
765 | "onsuspend",
766 | "Permissions",
767 | "Onappinstalled",
768 | "onpointermove",
769 | "personalbar",
770 | "queryCommandValue",
771 | "onvolumechange",
772 | "requestStorageAccess",
773 | "WQkqDxxiKDU=",
774 | "ongotpointercapture",
775 | "mozInnerScreenY",
776 | "ondragend",
777 | "width",
778 | "1372IAfRcb",
779 | "3cytsdC",
780 | "ondeviceorientation",
781 | "safari",
782 | "webkitSpeechRecognitionError",
783 | "IUESR2QtF3w=",
784 | "onoverscroll",
785 | "getDefaultComputedStyle",
786 | "onshow",
787 | "createAttribute",
788 | "productSub (important returns the build number of the current browser)",
789 | "OAhLTn1jSHQ=",
790 | "onselectstart",
791 | "KVkaX282Gmo=",
792 | "[object process]",
793 | "crypto",
794 | "mozFullScreen",
795 | "CaptureEvents",
796 | "onmouseenter",
797 | "dmFsdWU=",
798 | "onunload",
799 | "sort",
800 | "plugins",
801 | "onreset",
802 | "webkitURL",
803 | "onwebkitanimationiteration",
804 | "mozFullScreenElement",
805 | "Plugins",
806 | "onmousedown",
807 | "onpointerenter",
808 | "buildID (important return the buildID on firefox in addition to productSub)",
809 | "cHJvdG90eXBl",
810 | "onvrdisplayactivate",
811 | "mozRTCPeerConnection",
812 | "onpointerrawupdate",
813 | "filter",
814 | "VREyeParameters",
815 | "mozRTCSessionDescription",
816 | "getComputedStyle",
817 | "createProcessingInstruction",
818 | "onbeforeinstallprompt",
819 | "getSelection",
820 | "onbeforeunload",
821 | "onwebkittransitionend",
822 | "ondurationchange",
823 | "Product",
824 | "onemptied",
825 | "prototype",
826 | "c2FmYXJp",
827 | "HTMLElement",
828 | "ontransitionend",
829 | "webkitMediaStream",
830 | "querySelector",
831 | "onactivateinvisible",
832 | "onvrdisplayconnect",
833 | "fragmentDirective",
834 | "onmozfullscreenerror",
835 | "queryCommandState",
836 | "call",
837 | "fyNMZTpJQFY=",
838 | "onpopstate",
839 | "NkpFDHMmSDs=",
840 | "RnVuY3Rpb24=",
841 | "Locks",
842 | "onmozfullscreenchange",
843 | "Serial",
844 | "onseeking",
845 | "eWFuZGV4",
846 | "caches",
847 | "hasFocus",
848 | "CREATEdOCUMENTfRAGMENT",
849 | "match",
850 | "createElementsFromPoint",
851 | "release",
852 | "onmouseover",
853 | "totalJSHeapSize",
854 | "name",
855 | "featurePolicy",
856 | "onerror",
857 | "ondrop",
858 | "ondragover",
859 | "Yandex",
860 | "onafterscriptexecute",
861 | "bGFuZ3VhZ2Vz",
862 | "hasOwnProperty",
863 | "b3By",
864 | "getElementbyTagName",
865 | "fileSize",
866 | "onunhandledrejection",
867 | "selectedStyleSheetSet",
868 | "substring",
869 | "eval",
870 | "getUserMedia",
871 | "xmlVersion",
872 | "releaseCapture",
873 | "setAppBadge",
874 | "Close",
875 | "appName",
876 | "getvrdISPLAYS",
877 | "ajYZMC9aHAo=",
878 | "onpageshow",
879 | "BX12O0MSdgg=",
880 | "VRFrameData",
881 | "LnJddGgcX0I=",
882 | "CreateAttributeNS",
883 | "getBoxObjectFor",
884 | "CREATEelement",
885 | "Onanimationstart",
886 | "mediaSession",
887 | "Presentation",
888 | "pushNotification",
889 | "queryCommandSupported",
890 | "getOverrideStyle",
891 | "Onanimationiteration",
892 | "createRange",
893 | "loadOverlay",
894 | "KnZZcG8aWUc=",
895 | "onrejectionhandled",
896 | "VGxnahEAYl8=",
897 | "slice",
898 | "onplaying",
899 | "ontoggle",
900 | "2832753hiJxcy",
901 | "Onfullscreenchange",
902 | "oncanplay"
903 | ];
904 | return n[(t -= 479)];
905 | }
906 |
907 | function bh(t, e) {
908 | var n = [
909 | "1340lpVjDc",
910 | "GmVgpc",
911 | "6372KKzTjO",
912 | "join",
913 | "floor",
914 | "9131zIOdRo",
915 | "WXxeLfKGyO",
916 | "reverse",
917 | "6qkyh6vQe",
918 | "YMsdv",
919 | "2655666NDncXD",
920 | "46FpfnKv",
921 | "1550152GCSFzQ",
922 | "b7R",
923 | "split",
924 | "T3lHS2ZMZXhYVw==",
925 | "376458dHgdjo",
926 | "kYudzCSg",
927 | "1972180NUlSue",
928 | "Odv9UP",
929 | "1132648IWZZDw",
930 | "bRVeEyh5XSI=",
931 | "dOq86K9SQG",
932 | "apply"
933 | ];
934 | return n[(t -= 354)];
935 | }
936 |
937 | function fd(t, e) {
938 | var n = [
939 | "ontouchstart",
940 | "platform",
941 | "referrer",
942 | "T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcg==",
943 | "uaFullVersion",
944 | "cy9AaTVDRFg=",
945 | "battery",
946 | "Rlp1HAA7ci0=",
947 | "Ql5xGAcyfCM=",
948 | "spawn",
949 | "get",
950 | "dEwHCjIjBjg=",
951 | "maxTouchPoints",
952 | "b1NcVSo+Wmc=",
953 | "offsetHeight",
954 | "push",
955 | "getTime",
956 | "missing",
957 | "N2sELXIBBR8=",
958 | "ondeviceready",
959 | "innerHeight",
960 | "eydIYT5LTVI=",
961 | "Czd4cU5dfUQ=",
962 | "aRlaHyx0Wi4=",
963 | "getPrototypeOf",
964 | "PkJNBHsqTz8=",
965 | "WiZpIB9JbRc=",
966 | "WebAssembly",
967 | "VQ0mCxBkIT8=",
968 | "3904125bVGTeA",
969 | "userAgent",
970 | "GmYpYF8MLVY=",
971 | "ZR1WGyNyVyg=",
972 | "webView",
973 | "fontFromResourceApi",
974 | "pixelDepth",
975 | "DateTimeFormat",
976 | "dispatchEvent",
977 | "moz",
978 | "WGhrbh4Fa1o=",
979 | "userAgentData",
980 | "sort",
981 | "outerWidth",
982 | "DFQ/Ekk5Oyg=",
983 | "OAhLTn1hSng=",
984 | "availHeight",
985 | "DhI9VEh+PmY=",
986 | "message",
987 | "Q38wOQYXNQM=",
988 | "45wjqeqr",
989 | "XGRvYhoOY1k=",
990 | "Buffer",
991 | "localStorage",
992 | "ZHwXeiEQF08=",
993 | "_Selenium_IDE_Recorder",
994 | "pageYOffset",
995 | "cookieEnabled",
996 | "prototype",
997 | "msDoNotTrack",
998 | "PARPQnlsS3I=",
999 | "cg4BSDdkBno=",
1000 | "dG90YWxKU0hlYXBTaXpl",
1001 | "2724416PEgfXr",
1002 | "scrollX",
1003 | "addEventListener",
1004 | "split",
1005 | "undefined",
1006 | "(pointer:fine)",
1007 | "height",
1008 | "callPhantom",
1009 | "getEntries",
1010 | "languages",
1011 | "MVECV3Q7A2M=",
1012 | "JDxXOmFVVQE=",
1013 | "RBx3WgFzcms=",
1014 | "U08gSRYkIHI=",
1015 | "TlJ9FAs+eCU=",
1016 | "item",
1017 | "ActiveXObject",
1018 | "bjIdNChdEQc=",
1019 | "O2cIIX0LChc=",
1020 | "Bho1XENwOWc=",
1021 | "HUVuQ1sqang=",
1022 | "PSUOY3tEC1M=",
1023 | "HuNv",
1024 | "IUESR2QtEnw=",
1025 | "dW1GKzMDRh8=",
1026 | "DFQ/Ekk5OiE=",
1027 | "HUVuQ1sqaHA=",
1028 | "KxcYEW5+GyA=",
1029 | "MVECV3Q9Bmw=",
1030 | "Ah4xWEdyPG0=",
1031 | "brands",
1032 | "visible",
1033 | "defaultView",
1034 | "random",
1035 | "rtt",
1036 | "name",
1037 | "TBR/Ugl9eWk=",
1038 | "console",
1039 | "domAutomationController",
1040 | "navigation",
1041 | "value",
1042 | "JDxXOmFVWwk=",
1043 | "setItem",
1044 | "Ix8QGWZwFC0=",
1045 | "cHADdjYfAkM=",
1046 | "BFw3GkI9MC8=",
1047 | "deviceMemory",
1048 | "AEAzBkUsMTw=",
1049 | "20990vSYiTr",
1050 | "YQFSByRsVDM=",
1051 | "JV0WW2AxG2E=",
1052 | "VQ0mCxBhJzk=",
1053 | "outerHeight",
1054 | "bHQfcikYGUQ=",
1055 | "sendBeacon",
1056 | "TBR/Ugl9fmM=",
1057 | " Mobile/",
1058 | "O2cIIX0LDxo=",
1059 | "Czd4cU1We0Q=",
1060 | "appName",
1061 | "onLine",
1062 | "aGFyZHdhcmVDb25jdXJyZW5jeQ==",
1063 | "getComputedStyle",
1064 | "M28AKXUCAhs=",
1065 | "colorDepth",
1066 | "input",
1067 | "mobile",
1068 | "ICBTJmZKXxA=",
1069 | "hasOwnProperty",
1070 | "cRFCFzdwRCw=",
1071 | "BatteryManager",
1072 | "getBattery",
1073 | "RunPerfTest",
1074 | "availWidth",
1075 | "PARPQnpuQ3c=",
1076 | "EFAjFlY+LyU=",
1077 | "LVUeU2s1Gmk=",
1078 | "matches",
1079 | "2550408chIUtG",
1080 | "downlink",
1081 | "effectiveType",
1082 | "GwdoAV5uZDM=",
1083 | "substring",
1084 | "cssFromResourceApi",
1085 | "In5ReGQRUkI=",
1086 | "Content Security Policy",
1087 | "M28AKXYHARs=",
1088 | "HUVuQ1srY3A=",
1089 | "DXV+M0sUcgc=",
1090 | "XiJtJBhPahc=",
1091 | "153688ZoUiqp",
1092 | "Bzt0fUJWeEk=",
1093 | "openDatabase",
1094 | "anNIZWFwU2l6ZUxpbWl0",
1095 | "hidden",
1096 | "DXV+M0sfeQY=",
1097 | "DhI9VEt6O2c=",
1098 | "GCgrLl1FLR0=",
1099 | "isSecureContext",
1100 | "U08gSRUuJH8=",
1101 | "P2MMJXkJDRE=",
1102 | "dytEbTFHR1k=",
1103 | "HwNsBVliaz4=",
1104 | "bRVeEyt7Uyk=",
1105 | "fbRv~argX$hBxMA",
1106 | "MDBDNnVcRwI=",
1107 | "architecture",
1108 | "PkJNBHgjTTY=",
1109 | "YGATZiYNF1I=",
1110 | "O2cIIX0HBBc=",
1111 | "bRVeEyh+XSA=",
1112 | "JxsUHWJ0EC4=",
1113 | "v8Locale",
1114 | "ZR1WGyN8Vi4=",
1115 | "toString",
1116 | "MVECV3c7AW0=",
1117 | "fgINRDtpCXI=",
1118 | "emit",
1119 | "indexOf",
1120 | "JnpVfGAWU0Y=",
1121 | "getBoundingClientRect",
1122 | "notify",
1123 | "VGxnahINZV8=",
1124 | "P2MMJXoLCh8=",
1125 | "shift",
1126 | "buildID",
1127 | "offsetWidth",
1128 | "Ew9gCVZjZDw=",
1129 | "awesomium",
1130 | "egYJQDxrDXs=",
1131 | "scrollY",
1132 | "cg4BSDdnB3k=",
1133 | "YGATZiYOFFw=",
1134 | "productSub",
1135 | "matchMedia",
1136 | "DhI9VEhzPWU=",
1137 | "XDomainRequest",
1138 | "map",
1139 | "d2ViZHJpdmVy",
1140 | "forEach",
1141 | "performance",
1142 | "length",
1143 | "JV0WW2A0FWA=",
1144 | "dW1GKzMMShg=",
1145 | "SBh7Xg53d2k=",
1146 | "LnJddGgcWUM=",
1147 | "getAttribute",
1148 | " Safari/",
1149 | "query",
1150 | "requestAnimationFrame",
1151 | "geolocation",
1152 | "KVkaX2wyFms=",
1153 | "aRlaHyx1XC0=",
1154 | "ViplLBNGYB4=",
1155 | "voiceURI",
1156 | "Rlp1HAA3eS4=",
1157 | "label",
1158 | "FmolbFAFKVo=",
1159 | "VQ0mCxBlID0=",
1160 | "atob",
1161 | "BFw3GkIwNyg=",
1162 | "NS0Ga3NHClk=",
1163 | "Date",
1164 | "XiJtJBtNaRU=",
1165 | "visibility",
1166 | "VGxnahEGZ1g=",
1167 | "external",
1168 | "eydIYT5ISlI=",
1169 | "KxcYEW19GCo=",
1170 | "FU1mS1Mga30=",
1171 | "cRFCFzR7RSA=",
1172 | "SBh7Xg1ydms=",
1173 | "HwNsBVpubjM=",
1174 | "Performance",
1175 | "runtime",
1176 | "ZjoVPCBVGQ0=",
1177 | "167769tdFDzD",
1178 | "TBR/Ugl4f2g=",
1179 | "instantiate",
1180 | "AudioWorklet",
1181 | "documentElement",
1182 | "JV0WW2AyEmA=",
1183 | "type",
1184 | "true",
1185 | "S3c4MQ0WNQQ=",
1186 | "keys",
1187 | "chrome",
1188 | "ancestorOrigins",
1189 | "XiJtJBhPbh8=",
1190 | "48kQCYnQ",
1191 | "SlZ5EA89eCY=",
1192 | "imgFromResourceApi",
1193 | "LVUeU2s1H2g=",
1194 | "platformVersion",
1195 | "geb",
1196 | "saveData",
1197 | "connection",
1198 | "JnpVfGAQWE4=",
1199 | "V0skTRIgJH4=",
1200 | "[object PluginArray]",
1201 | "TTU+cwtaPUU=",
1202 | "html",
1203 | "FwtkDVFkZDo=",
1204 | "enabledPlugin",
1205 | "tagName",
1206 | "appVersion",
1207 | "caches",
1208 | "orientation",
1209 | "standalone",
1210 | "bmF2aWdhdG9yLndlYmRyaXZlcg==",
1211 | "HUVuQ1spb3Q=",
1212 | "mimeTypes",
1213 | "width",
1214 | "test",
1215 | "[object HTMLPluginsCollection]",
1216 | "XQUuAxtpKTI=",
1217 | "format",
1218 | "HCQvIllPIhE=",
1219 | "Q38wOQURNAo=",
1220 | "call",
1221 | "EventSource",
1222 | "RequestAnimationFrame",
1223 | "cookie",
1224 | "hardwareConcurrency",
1225 | "_cordovaNative",
1226 | "fgINRDhuC38=",
1227 | "EXFiN1cdbgY=",
1228 | "Worklet",
1229 | "VQ0mCxNhIz4=",
1230 | "VGxnahEAY1A=",
1231 | "Bzt0fUJSck4=",
1232 | "AEAzBkYhMz0=",
1233 | "getTimezoneOffset",
1234 | "documentMode",
1235 | "plugins",
1236 | "XGRvYhoLb1k=",
1237 | "PkJNBHgiSj4=",
1238 | "HUVuQ1sqanM=",
1239 | "ZjoVPCBWEgY=",
1240 | "Ah4xWEd0PW0=",
1241 | "null",
1242 | "domAutomation",
1243 | "Rlp1HAMwcCo=",
1244 | "(any-hover: none), (any-pointer: coarse)",
1245 | "setInterval",
1246 | "elementFromPoint",
1247 | "IUESR2ctEn0=",
1248 | "setTimeout",
1249 | "Em4haFQAJ1k=",
1250 | "egYJQD9rCnU=",
1251 | "bHQfcikdGEc=",
1252 | "bHQfcioZHUQ=",
1253 | "cssFromStyleSheets",
1254 | "dW1GKzMNSxg=",
1255 | "PointerEvent",
1256 | "pageXOffset",
1257 | "ViplLBNHZRk=",
1258 | "getElementsByTagName",
1259 | "SlZ5EAw7eCA=",
1260 | "LnJddGsZWUE=",
1261 | "bjIdNCtfHAI=",
1262 | "timing",
1263 | "[object MimeTypeArray]",
1264 | "__nightmare",
1265 | "bmF2aWdhdG9yLnVzZXJBZ2VudA==",
1266 | "ZR1WGyNyUSs=",
1267 | "ViplLBNHZRc=",
1268 | "language",
1269 | "LxMcFWp5GS8=",
1270 | "TTU+cwhdOUI=",
1271 | "appCodeName",
1272 | "__webdriver_script_fn",
1273 | "pdfViewerEnabled",
1274 | "innerWidth",
1275 | "log",
1276 | "ajYZMCxaGwM=",
1277 | "[object MSPluginsCollection]",
1278 | "fmget_targets",
1279 | "PARPQnluT3c=",
1280 | "cRFCFzR8Qy0=",
1281 | "AudioWorkletNode",
1282 | "getOwnPropertyDescriptor",
1283 | "product",
1284 | "showModalDialog",
1285 | "15535070MTAgcB",
1286 | "bitness",
1287 | "QSEyZwdAPlY=",
1288 | "doNotTrack",
1289 | "AWFyJ0QIdhY=",
1290 | "constructor",
1291 | "[object Geolocation]",
1292 | "T3M8NQkZPwY=",
1293 | "cg4BSDRhBnw=",
1294 | "dXNlZEpTSGVhcFNpemU=",
1295 | "bRVeEyt5UyY=",
1296 | "In5ReGQRU0k=",
1297 | "bWVtb3J5",
1298 | "QABzRgVsdnY=",
1299 | "NkpFDHMmQzk=",
1300 | "HUVuQ1spaHM=",
1301 | "LxMcFWl/GiM=",
1302 | "model",
1303 | "SBh7Xg55fW0=",
1304 | "cy9AaTZEQls=",
1305 | "2,10",
1306 | "Android",
1307 | "permissions",
1308 | "webkit",
1309 | "W0coQR4vJXE=",
1310 | "cRFCFzR8TiY=",
1311 | "BDxAnFW",
1312 | "AEAzBkUsPz0=",
1313 | "19kheNiS",
1314 | "MatchesSelector",
1315 | "ChY5UE98OmU=",
1316 | "OSkKb39DCV8=",
1317 | "bind",
1318 | "ajYZMC9aGQY=",
1319 | "fWVOIzgNShE=",
1320 | "TouchEvent",
1321 | "HUVuQ1spa3Q=",
1322 | "PARPQnpqTnQ=",
1323 | "add",
1324 | "onorientationchange",
1325 | "fyNMZTpPSFY=",
1326 | "V0skTRImI34=",
1327 | "Rlp1HAAwcS0=",
1328 | "dEwHCjIgAT4="
1329 | ];
1330 | return n[(t -= 223)];
1331 | }
1332 |
1333 | function Fp(t, e) {
1334 | var n = [
1335 | "199990DBVxdf",
1336 | "bind",
1337 | "SlZ5EA89dSI=",
1338 | "10336508jIqtFA",
1339 | "xhrSuccess",
1340 | "2ddcKuz",
1341 | "Em4haFQELV8=",
1342 | "postData",
1343 | "T3M8NQoYPA8=",
1344 | "FCwnKlJNKhk=",
1345 | "Blob",
1346 | "fallbackStartIndex",
1347 | "activities",
1348 | "fEQPAjopAjY=",
1349 | "3658266FdJQsE",
1350 | "clientXhrErrors",
1351 | "testDefaultPath",
1352 | "MDBDNnVcQQE=",
1353 | "setItem",
1354 | "clientHttpErrorStatuses",
1355 | "length",
1356 | "splice",
1357 | "PXHCFakeVerificationResponse",
1358 | "ChY5UEx8PmA=",
1359 | "IUESR2QoH3A=",
1360 | "xhrFailure",
1361 | "10490814NfTjOd",
1362 | "xhrResponse",
1363 | "captchaFailures",
1364 | "57059oCFOxB",
1365 | "trigger",
1366 | "KnZZcG8aW0Y=",
1367 | "params",
1368 | "462496UyYrXG",
1369 | "Events",
1370 | "hasOwnProperty",
1371 | "ZHwXeiIQGkg=",
1372 | "join",
1373 | "_px3",
1374 | "_px",
1375 | "push",
1376 | "px_c_p_",
1377 | "getItem",
1378 | "getTime",
1379 | "sendBeacon",
1380 | "filter",
1381 | "clientRoutesLength",
1382 | "sendActivitiesCount",
1383 | "PXHCBootstrapTries",
1384 | "clientFailures",
1385 | "PX561",
1386 | "3811923cRKNvl",
1387 | "572atJeRK",
1388 | "extend",
1389 | "24xdKnxc",
1390 | "60BTptRI",
1391 | "_px2"
1392 | ];
1393 | return n[(t -= 462)];
1394 | }
1395 |
1396 | function kg(t, e) {
1397 | var n = [
1398 | "removeItem",
1399 | "uid",
1400 | "reload",
1401 | "vid",
1402 | "4628364MiBuNc",
1403 | "length",
1404 | "getTime",
1405 | "_pxRootUrl",
1406 | "ttl",
1407 | "pxvid",
1408 | "trigger",
1409 | "bind",
1410 | "_pxmvid",
1411 | "9031890ZQAhgz",
1412 | "_asyncInit",
1413 | "KnZZcGwcX0I=",
1414 | "NkpFDHAnRzs=",
1415 | "3448bztBqM",
1416 | "223210VNTJMS",
1417 | "subscribe",
1418 | "3646173Ludexn",
1419 | "random",
1420 | "IUESR2QoH3A=",
1421 | "AWFyJ0cPfhc=",
1422 | "ZHwXeiIQGkg=",
1423 | "4068540YYrhOg",
1424 | "one",
1425 | "val",
1426 | "cRFCFzdwTy0=",
1427 | "getItem",
1428 | "5VRMHZB",
1429 | "_pxVid",
1430 | "xhrSuccess",
1431 | "15711540wqskBO",
1432 | "pxInit",
1433 | "xhrFailure",
1434 | "xhrResponse",
1435 | "platform",
1436 | "9027CTQCED",
1437 | "2oFZulk"
1438 | ];
1439 | return n[(t -= 189)];
1440 | }
1441 |
1442 | const calls = { Dc, rf, gf, jf, Zl, dh, bh, fd, Fp, kg };
1443 |
1444 | function apply_X_Transform(path) {
1445 | if (
1446 | t.isIdentifier(path.node.callee, { name: "X" }) &&
1447 | path.node.arguments.length === 1 &&
1448 | t.isStringLiteral(path.node.arguments[0])
1449 | ) {
1450 | const rValue = X(path.node.arguments[0].value);
1451 | path.replaceWith(t.stringLiteral(rValue));
1452 | }
1453 | }
1454 |
1455 | function apply_c_Transform(path) {
1456 | if (
1457 | t.isIdentifier(path.node.callee, { name: "c" }) &&
1458 | path.node.arguments.length === 1 &&
1459 | t.isStringLiteral(path.node.arguments[0])
1460 | ) {
1461 | const rValue = c(path.node.arguments[0].value);
1462 | path.replaceWith(t.stringLiteral(rValue));
1463 | }
1464 | }
1465 |
1466 | return {
1467 | name: "ast-transform", // not required
1468 | visitor: {
1469 | Program(path) {
1470 | path.traverse({
1471 | CallExpression(path) {
1472 | apply_X_Transform(path);
1473 | apply_c_Transform(path);
1474 |
1475 | if (
1476 | t.isIdentifier(path.node.callee) &&
1477 | path.node.callee.name in calls &&
1478 | path.node.arguments.length === 1 &&
1479 | t.isNumericLiteral(path.node.arguments[0])
1480 | ) {
1481 | const rValue = calls[path.node.callee.name](
1482 | path.node.arguments[0].value
1483 | );
1484 | path.replaceWith(t.stringLiteral(rValue));
1485 | }
1486 | },
1487 | });
1488 |
1489 | // Replace the remaining calls to the functions of X and c with the following
1490 | path.traverse({
1491 | CallExpression(path) {
1492 | apply_X_Transform(path);
1493 | apply_c_Transform(path);
1494 | },
1495 | });
1496 |
1497 | // Remove these codes, which can send execution into a dead loop
1498 | path.traverse({
1499 | ExpressionStatement(path) {
1500 | const code = path.getSource();
1501 | if (code.split("\n").length > 13) return;
1502 | const regex = /!?\s*function\s*\(\s*\w+\s*,\s*\w+\s*\)\s*{\s*for\s*\(.*\)\s*{\s*try\s*{\s*.*parseInt.*\s*\.push\(.*\.shift\(\)\);\s*} catch/s;
1503 | if (regex.test(code)) path.remove();
1504 | },
1505 | });
1506 | },
1507 | },
1508 | };
1509 | }
1510 |
1511 |
1512 | ```
--------------------------------------------------------------------------------
/payload.md:
--------------------------------------------------------------------------------
1 | # PerimeterX Payload Analysis - Privacy Research
2 |
3 | ## ⚠️ PRIVACY RESEARCH USE ONLY
4 |
5 | **📋 [Complete Legal Disclaimer and Terms of Use](DISCLAIMER.md)**
6 |
7 | This document contains educational analysis of browser fingerprinting techniques for **authorized privacy and security research** in controlled environments that comply with all applicable laws and institutional ethics guidelines.
8 |
9 | **Important:** This analysis is provided solely for **research purposes** and must not be used to circumvent security systems or violate terms of service.
10 |
11 | ---
12 |
13 | ## Fingerprint Collection Analysis
14 |
15 | ### PX11307
16 | n / a
17 |
18 | ### PX11309
19 | ```javascript
20 | function gd(t, e) {
21 | try {
22 | if (t && t[e]) {
23 | var n = new t[e]("");
24 | var r = "";
25 | for (var a in n) if (n.hasOwnProperty(a)) {
26 | r += a;
27 | }
28 | return undefined ? undefined ? At(undefined, r) : Et(At(undefined, r)) : undefined ? Rt(r) : Et(Rt(r));
29 | }
30 | } catch (t) {}
31 | return "no_fp";
32 | }
33 |
34 | return gd(window, "WebKitCSSMatrix");
35 | ```
36 |
37 | ### PX11311
38 | ```javascript
39 | function Wd(t) {
40 | if (Pd !== t) {
41 | (t ? zo : Jo)(document, "click", Gd);
42 | Pd = t;
43 | }
44 | }
45 |
46 | function zo(t, e, n, r) {
47 | try {
48 | var a;
49 | if (t && e && f(n) === "function" && f(e) === "string") {
50 | if (f(t.addEventListener) === "function") {
51 | if (Wo) {
52 | a = false;
53 | if (f(r) === "boolean") {
54 | a = r;
55 | } else if (r && f(r.useCapture) === "boolean") {
56 | a = r.useCapture;
57 | } else if (r && f(r.capture) === "boolean") {
58 | a = r.capture;
59 | }
60 | } else if (f(r) === "object" && null !== r) {
61 | a = {};
62 | if (r.hasOwnProperty("capture")) {
63 | a.capture = r.capture || false;
64 | }
65 | if (r.hasOwnProperty("once")) {
66 | a.once = r.once;
67 | }
68 | if (r.hasOwnProperty("passive")) {
69 | a.passive = r.passive;
70 | }
71 | if (r.hasOwnProperty("mozSystemGroup")) {
72 | a.mozSystemGroup = r.mozSystemGroup;
73 | }
74 | } else {
75 | a = {
76 | passive: true,
77 | capture: f(r) === "boolean" && r || false
78 | };
79 | }
80 | t.addEventListener(e, n, a);
81 | } else if (f(t.attachEvent) === "function") {
82 | t.attachEvent("on" + e, n);
83 | }
84 | }
85 | } catch (t) {}
86 | }
87 |
88 | function Jo(t, e, n) {
89 | try {
90 | if (t && e && f(n) === "function" && f(e) === "string") {
91 | if (f(t.removeEventListener) === "function") {
92 | t.removeEventListener(e, n);
93 | } else if (f(t.detachEvent) === "function") {
94 | t.detachEvent("on" + e, n);
95 | }
96 | }
97 | } catch (t) {}
98 | }
99 |
100 | function Wd(t) {
101 | if (Pd !== t) {
102 | (t ? zo : Jo)(document, "click", Gd);
103 | Pd = t;
104 | }
105 | }
106 |
107 | function Gd(t) {
108 | var e;
109 | if (Qd) {
110 | var r = function (t) {
111 | try {
112 | if (!t || !t.isTrusted) {
113 | return false;
114 | }
115 | var e = Io(t);
116 | if (!e) {
117 | return false;
118 | }
119 | var n = e.getClientRects();
120 | var r = {
121 | x: n[0].left + n[0].width / 2,
122 | y: n[0].top + n[0].height / 2
123 | };
124 | var a = Math.abs(r.x - t.clientX);
125 | var o = Math.abs(r.y - t.clientY);
126 | if (a < 1 && o < 1) {
127 | return {
128 | centerX: a,
129 | centerY: o
130 | };
131 | }
132 | } catch (t) {}
133 | return null;
134 | }(t);
135 | if (r) {
136 | Yd++;
137 | var a = Io(t);
138 | var o = Zo(a);
139 | var i = No(a);
140 | u(e = {}, "PX11652", o);
141 | u(e, "PX12305", r.centerX);
142 | u(e, "PX11311", r.centerY);
143 | u(e, "PX11427", i.top);
144 | u(e, "PX12208", i.left);
145 | u(e, "PX11824", a.offsetWidth);
146 | u(e, "PX11631", a.offsetHeight);
147 | u(e, "PX12129", Yd);
148 | lf("PX12030", e);
149 | if (5 <= Yd) {
150 | Qd = false;
151 | Wd(false);
152 | }
153 | }
154 | }
155 | }
156 |
157 | ```
158 |
159 | ### PX11316
160 | ```javascript
161 | {
162 | name: "PX11316",
163 | func: function () {
164 | return !!document.body.addBehavior;
165 | },
166 | defValue: false
167 | }
168 | ```
169 |
170 | ### PX11325
171 | n / a
172 |
173 | ### PX11339
174 | ```javascript
175 | var Bv = function () {
176 | var e = new RegExp("/api/v2/collector", "g");
177 | return ft ? [new RegExp("/".concat(Gy[Me].replace("PX", ""), "/init.js"), "g"), e] : [/(?:https?:)?\/\/client(?:-stg)?\.(?:perimeterx\.net|a\.pxi\.pub|px-cdn\.net|px-cloud\.net)\/PX[A-Za-z0-9]{4,8}\/main\.min\.js/g, e];
178 | };
179 |
180 | var my = function () {
181 | var t = arguments.length > 0 && undefined !== arguments[0] ? arguments[0] : {};
182 | var e = t.regexList;
183 | var n = t.urlContainsList;
184 | var r = t.entriesFilter;
185 | var a = undefined === r ? function () {
186 | return true;
187 | } : r;
188 | if (!(f(or(window, "performance.getEntries", null)) === "function")) {
189 | return [];
190 | }
191 | var o = window.performance.getEntries().filter(a);
192 | var c = [];
193 | for (var i = 0; i < o.length; i++) {
194 | var u = o[i];
195 | if (e) {
196 | for (var s = 0; s < e.length; s++) {
197 | var h = e[s];
198 | if ("string" == typeof h) {
199 | h = new RegExp(e[s]);
200 | }
201 | if (h && f(h.test) === "function" && h.test(u.name)) {
202 | c.push(u);
203 | }
204 | }
205 | } else if (n) {
206 | for (var l = 0; l < n.length; l++) {
207 | var d = n[l];
208 | if (-1 !== u.name.indexOf(d)) {
209 | c.push(u);
210 | }
211 | }
212 | }
213 | }
214 | return c;
215 | };
216 |
217 | function gv() {
218 | if (Yn && Yn.hasOwnProperty(Fn[jt])) {
219 | try {
220 | var e = Bv();
221 | var n = my({
222 | regexList: [e[0]]
223 | })[0];
224 | if (n) {
225 | mv("PX11807", n.duration);
226 | }
227 | var r = my({
228 | regexList: [e[1]]
229 | })[0];
230 | if (r) {
231 | mv("PX11339", r.duration);
232 | mv("PX12298", r.domainLookupEnd - r.domainLookupStart);
233 | }
234 | } catch (t) {}
235 | }
236 | }
237 | ```
238 |
239 | ### PX11344
240 | ```javascript
241 | function Zo(t, e) {
242 | if (!(t && (t instanceof Element || f(t) === "object" && null !== t && 1 === t.nodeType))) {
243 | return "";
244 | }
245 | var n;
246 | var r = t[Eo];
247 | if (r) {
248 | return e ? Mo(r) : r;
249 | }
250 | try {
251 | n = function (t) {
252 | if (t.id) {
253 | return "#" + t.id;
254 | }
255 | var e;
256 | var n = "";
257 | for (var r = 0; r < 20; r++) {
258 | if (!(t && t instanceof Element)) {
259 | return n;
260 | }
261 | if ("html" === t.tagName.toLowerCase()) {
262 | return n;
263 | }
264 | if (t.id) {
265 | return "#" + t.id + n;
266 | }
267 | if (!((e = xo(t)) instanceof Element)) {
268 | return t.tagName + n;
269 | }
270 | if (Co(n = Oo(t, e) + n)) {
271 | return n;
272 | }
273 | t = e;
274 | n = ">" + n;
275 | }
276 | }(t);
277 | n = n.replace(/^>/, "");
278 | n = e ? Mo(n) : n;
279 | t[Eo] = n;
280 | } catch (t) {}
281 | return n || t.id || t.tagName || "";
282 | }
283 |
284 | function Vc(t, e, n) {
285 | var r;
286 | if (e) {
287 | u(r = {}, "PX11918", e || "");
288 | u(r, "PX12242", n || "");
289 | u(r, "PX11652", Zo(t, true));
290 | lc("PX11344", r);
291 | }
292 | }
293 | ```
294 |
295 | ### PX11352
296 | ```javascript
297 | try {
298 | r = t.createBuffer();
299 | t.bindBuffer(t.ARRAY_BUFFER, r);
300 | var u = new Float32Array([-.2, -.9, 0, .4, -.26, 0, 0, .732134444, 0]);
301 | t.bufferData(t.ARRAY_BUFFER, u, t.STATIC_DRAW);
302 | r.itemSize = 3;
303 | r.numItems = 3;
304 | a = t.createProgram();
305 | o = t.createShader(t.VERTEX_SHADER);
306 | t.shaderSource(o, "attribute vec2 attrVertex;varying vec2 varyinTexCoordinate;uniform vec2 uniformOffset;void main(){varyinTexCoordinate=attrVertex+uniformOffset;gl_Position=vec4(attrVertex,0,1);}");
307 | t.compileShader(o);
308 | i = t.createShader(t.FRAGMENT_SHADER);
309 | t.shaderSource(i, "precision mediump float;varying vec2 varyinTexCoordinate;void main() {gl_FragColor=vec4(varyinTexCoordinate,0,1);}");
310 | t.compileShader(i);
311 | t.attachShader(a, o);
312 | t.attachShader(a, i);
313 | t.linkProgram(a);
314 | t.useProgram(a);
315 | a.vertexPosAttrib = t.getAttribLocation(a, "attrVertex");
316 | a.offsetUniform = t.getUniformLocation(a, "uniformOffset");
317 | t.enableVertexAttribArray(a.vertexPosArray);
318 | t.vertexAttribPointer(a.vertexPosAttrib, r.itemSize, t.FLOAT, false, 0, 0);
319 | t.uniform2f(a.offsetUniform, 1, 1);
320 | t.drawArrays(t.TRIANGLE_STRIP, 0, r.numItems);
321 | e.canvasfp = null === t.canvas ? "no_fp" : undefined ? undefined ? At(undefined, t.canvas.toDataURL()) : Et(At(undefined, t.canvas.toDataURL())) : undefined ? Rt(t.canvas.toDataURL()) : Et(Rt(t.canvas.toDataURL()));
322 | e.extensions = t.getSupportedExtensions() || ["no_fp"];
323 | } catch (t) {
324 | e.errors.push("PX11982");
325 | }
326 |
327 | r.PX11352 = n.canvasfp;
328 | ```
329 |
330 | ### PX11353
331 | ```javascript
332 | function n(n) {
333 | if (e) {
334 | for (var a = 0; a < zc.length; a++) {
335 | var o = zc[a];
336 | document.removeEventListener(o, e[o]);
337 | }
338 | e = null;
339 | t("PX11353", n);
340 | }
341 | }
342 | ```
343 |
344 | ### PX11362
345 | ```javascript
346 | function ci(t) {
347 | var n = ["storeItem", "retrieveItem", "isNodeReachable_"];
348 | try {
349 | var r = Object.getOwnPropertyNames(document);
350 | for (var a = 0; a < r.length; a++) {
351 | try {
352 | var o = document[r[a]];
353 | var i = Object.getOwnPropertyNames(o.__proto__).toString();
354 | for (var u = 0; u < n.length && -1 !== i.indexOf(n[u]); u++) {
355 | if (u === n.length - 1) {
356 | t("PX11362");
357 | }
358 | }
359 | } catch (t) {}
360 | }
361 | } catch (t) {}
362 | }
363 | ```
364 |
365 | ### PX11380
366 | ```javascript
367 | t.PX11380 = screen && +screen.colorDepth || 0;
368 | ```
369 |
370 | ### PX11388
371 | n / a
372 |
373 | ### PX11390
374 | ```javascript
375 | t.PX11390 = function () {
376 | try {
377 | return new Date().getTimezoneOffset();
378 | } catch (t) {
379 | return 9999;
380 | }
381 | }();
382 | ```
383 |
384 | ### PX11393
385 | ```javascript
386 | if (t.type === "mousemove" && f(t.movementX) === "number" && f(t.movementY) === "number") {
387 | if (Nu.length < 10) {
388 | Nu.push(+t.movementX.toFixed(2) + "," + +t.movementY.toFixed(2) + "," + ((e || +new Date()) - (Ao || 0)));
389 | }
390 | if (Vu.length < 50) {
391 | Vu.push(Wu(t));
392 | }
393 | }
394 | u(n, "PX11393", Nu.join("|"));
395 | ```
396 |
397 | ### PX11405
398 | n / a
399 |
400 | ### PX11427
401 | ```javascript
402 | function No(t) {
403 | try {
404 | var e = Element.prototype.getBoundingClientRect.call(t);
405 | return {
406 | left: e.left,
407 | top: e.top
408 | };
409 | } catch (t) {
410 | return {
411 | left: -1,
412 | top: -1
413 | };
414 | }
415 | }
416 | n.PX11427 = f.top;
417 | ```
418 |
419 | ### PX11429
420 | ```javascript
421 | function _c(t, e, n) {
422 | var r = t[e];
423 | if (r) {
424 | t[e] = function () {
425 | var e = f(Array.from) === "function" ? Array.from(arguments) : Array.prototype.slice.call(arguments);
426 | try {
427 | Oc(n, u({}, "PX11976", e));
428 | } catch (t) {}
429 | return r.apply(this, e);
430 | };
431 | }
432 | }
433 | _c(document, "getElementsByTagName", "PX11429");
434 | ```
435 |
436 | ### PX11433
437 | ```javascript
438 | (function (t, e) {
439 | if (t.type === "mousemove" && f(t.movementX) === "number" && f(t.movementY) === "number") {
440 | if (Nu.length < 10) {
441 | Nu.push(+t.movementX.toFixed(2) + "," + +t.movementY.toFixed(2) + "," + ((e || +new Date()) - (Ao || 0)));
442 | }
443 | if (Vu.length < 50) {
444 | Vu.push(Wu(t));
445 | }
446 | } else if (t.type === "touchmove") {
447 | var n = $u(t);
448 | if (n && f(n.screenX) === "number" && f(n.screenY) === "number") {
449 | if (Cu.length < 10) {
450 | var r = f(Eu.previousTouchmove.screenX) === "number" ? n.screenX - Eu.previousTouchmove.screenX : 0;
451 | var a = f(Eu.previousTouchmove.screenY) === "number" ? n.screenY - Eu.previousTouchmove.screenY : 0;
452 | Eu.previousTouchmove.screenX = n.screenX;
453 | Eu.previousTouchmove.screenY = n.screenY;
454 | Cu.push(+r.toFixed(2) + "," + +a.toFixed(2) + "," + ((e || +new Date()) - (Ao || 0)));
455 | }
456 | if (_u.length < 50) {
457 | _u.push(Wu(t));
458 | }
459 | }
460 | }
461 | })(t, n);
462 | u(n, "PX11433", _u.length > 0 ? _t(_u) : undefined);
463 | ```
464 |
465 | ### PX11448
466 | ```javascript
467 | {
468 | name: "PX11448",
469 | func: function () {
470 | return !!window.sessionStorage;
471 | },
472 | defValue: false
473 | }
474 | ```
475 |
476 | ### PX11450
477 | ```javascript
478 | function Oc(t, e) {
479 | var n = arguments.length > 2 && undefined !== arguments[2] && arguments[2];
480 | if (Ec < 200) {
481 | var a;
482 | var o = Ct(Kn());
483 | var i = o[o.length - 1] || {};
484 | var f = i[0] || "";
485 | var s = i[1] || "";
486 | if (!n && -1 !== f.indexOf(Fa)) {
487 | return;
488 | }
489 | Ec++;
490 | u(a = {}, "PX12343", t);
491 | u(a, "PX12240", Wt(bc, s));
492 | u(a, "PX11944", Wt(Dc, f));
493 | wc.push(ct(a, e));
494 | }
495 | }
496 | HTMLFormElement.prototype.submit = function () {
497 | var e = f(Array.from) === "function" ? Array.from(arguments) : Array.prototype.slice.call(arguments);
498 | try {
499 | Oc("PX11450", e);
500 | } catch (t) {}
501 | return r.apply(this, e);
502 | };
503 | ```
504 |
505 | ### PX11452
506 | ```javascript
507 | function Oh(t, e) {
508 | var o = "";
509 | for (var c = 0; c < e.length; c++) {
510 | try {
511 | var i = e[c];
512 | o += "" + t.hasOwnProperty(i);
513 | } catch (t) {
514 | o += t;
515 | }
516 | }
517 | return It(o);
518 | }
519 | var mo = ["closed", "devicePixelRatio", "getSelection", "locationbar", "scrollbars", "crypto", "caches", "speechSynthesis", "menubar", "personalbar", "toolbar", "Dump", "VRDispaly", "VRDisplayCapabilities", "VRDisplayEvent", "VREyeParameters", "VRFieldOfView", "VRFrameData", "VRPose", "VRStageParameters", "mozInnerScreenX", "mozInnerScreenY", "mozRTCIceCandidate", "mozRTCPeerConnection", "mozRTCSessionDescription", "webkitMediaStream", "webkitRTCPeerConnection", "webkitSpeechGrammar", "webkitSpeechGrammarList", "webkitSpeechRecognition", "webkitSpeechRecognitionError", "webkitSpeechRecognitionEvent", "webkitURL", "scheduler", "getDefaultComputedStyle", "Yandex", "yandexAPI", "Chrome", "Opera", "onrendersubtreeactivation", "scheduler", "onactivateinvisible", "onoverscroll", "onscrollend", "ondevicemotion", "ondeviceorientation", "onabsolutedeviceorientation", "ondeviceproximity", "onuserproximity", "ondevicelight", "onvrdisplayconnect", "onvrdisplaydisconnect", "onvrdisplayactivate", "onvrdisplaydeactivate", "onvrdisplaypresentchange", "ondragexit", "onloadend", "onshow", "onelementpainted", "onmozfullscreenchange", "Onmozfullscreenerror", "Onabort", "Onafterprint", "Onanimationend", "Onanimationiteration", "Onanimationstart", "Onappinstalled", "Onauxclick", "onbeforeinstallprompt", "onbeforeprint", "onbeforeunload", "onbeforexrselect", "onblur", "oncancel", "oncanplay", "oncanplaythrough", "onchange", "onclick", "onclose", "oncontextmenu", "oncuechange", "ondblclick", "ondevicemotion", "ondeviceorientation", "ondeviceorientationabsolute", "ondrag", "ondragend", "ondragenter", "ondragleave", "ondragover", "ondragstart", "ondrop", "ondurationchange", "onemptied", "onended", "onerror", "onfocus", "onformdata", "ongotpointercapture", "onhashchange", "oninput", "oninvalid", "onkeydown", "onkeypress", "onkeyup", "onlanguagechange", "onload", "onloadeddata", "onloadedmetadata", "onloadstart", "onlostpointercapture", "onmessage", "onmessageerror", "onmousedown", "onmouseenter", "onmouseleave", "onmousemove", "onmouseout", "onmouseover", "onmouseup", "onmousewheel", "onoffline", "ononline", "onpagehide", "onpageshow", "onpause", "onplay", "onplaying", "onpointercancel", "onpointerdown", "onpointerenter", "onpointerleave", "onpointermove", "onpointerout", "onpointerover", "onpointerrawupdate", "onpointerup", "onpopstate", "onprogress", "onratechange", "onrejectionhandled", "onreset", "onresize", "onscroll", "onsearch", "onseeked", "onseeking", "onselect", "onselectionchange", "onselectstart", "onstalled", "onstorage", "onsubmit", "onsuspend", "ontimeupdate", "ontoggle", "ontransitioncancel", "ontransitionend", "ontransitionrun", "ontransitionstart", "onunhandledrejection", "onunload", "onvolumechange", "onwaiting", "onwebkitanimationend", "onwebkitanimationiteration", "onwebkitanimationstart", "onwebkittransitionend", "onwheel", "Math"];
520 | t.PX11452 = Oh(window, mo);
521 | ```
522 |
523 | ### PX11454
524 | ```javascript
525 | function To() {
526 | var t = function () {
527 | var t = null;
528 | if (undefined !== document.hidden) {
529 | t = "";
530 | } else {
531 | var e = ["webkit", "moz", "ms", "o"];
532 | for (var n = 0; n < e.length; n++) {
533 | if (undefined !== document[e[n] + "Hidden"]) {
534 | t = e[n];
535 | break;
536 | }
537 | }
538 | }
539 | return t;
540 | }();
541 | return document[("" === t ? "v" : "V") + "isibilityState"];
542 | }
543 | u(n, "PX11454", To());
544 | ```
545 |
546 | ### PX11455
547 | ```javascript
548 | r.PX11455 = n.unmaskedRenderer;
549 | ```
550 |
551 | ### PX11463
552 | n / a
553 |
554 | ### PX11474
555 | ```javascript
556 | setTimeout(function () {
557 | var n = "no_fp";
558 | try {
559 | var r = lh(650, 12);
560 | if (r) {
561 | var a = sh(r);
562 | n = "PX11982";
563 | if (a) {
564 | a.font = "8px sans-serif";
565 | var o = 1;
566 | for (var c = 128512; c < 128591; c++) {
567 | a.fillText(fo("0x" + c.toString(16)), 8 * o, 8);
568 | o++;
569 | }
570 | n = undefined ? undefined ? At(undefined, a.canvas.toDataURL()) : Et(At(undefined, a.canvas.toDataURL())) : undefined ? Rt(a.canvas.toDataURL()) : Et(Rt(a.canvas.toDataURL()));
571 | }
572 | } else {
573 | n = "PX12423";
574 | }
575 | } catch (e) {
576 | n = "PX11474";
577 | }
578 | e(u({}, "PX11927", n));
579 | }, 1);
580 | ```
581 |
582 | ### PX11477
583 | ```javascript
584 | try {
585 | var r;
586 | var a = 0;
587 | if (f(t.getChannelData) === "function") {
588 | for (var o = 4500; o < 5e3; o++) {
589 | var i = t.getChannelData(0);
590 | if (i) {
591 | a += Math.abs(i[o]);
592 | }
593 | }
594 | }
595 | var s = a.toString();
596 | var h = s && (undefined ? undefined ? At(undefined, s) : Et(At(undefined, s)) : undefined ? Rt(s) : Et(Rt(s)));
597 | u(r = {}, "PX11477", s);
598 | u(r, "PX12109", h);
599 | e(r);
600 | } catch (t) {
601 | var l;
602 | u(l = {}, "PX11477", "no_fp");
603 | u(l, "PX12109", "no_fp");
604 | e(l);
605 | }
606 | ```
607 |
608 | ### PX11488
609 | n / a
610 |
611 | ### PX11510
612 | ```javascript
613 | Rc = true;
614 | xc();
615 | u(e = {}, "PX11949", wc);
616 | u(e, "PX12436", bc);
617 | u(e, "PX645", t);
618 | u(e, "PX11585", Dc);
619 | u(e, "PX12312", wc.length);
620 | u(e, "PX11803", kc);
621 | u(e, "PX12072", bo(Uc));
622 | u(e, "PX12323", Tc);
623 | if (t) {
624 | var a = Ct(Kn());
625 | var o = a[a.length - 1] || {};
626 | e.PX12240 = Wt(bc, o[1]);
627 | e.PX11944 = Wt(Dc, o[0]);
628 | }
629 | lc("PX11510", e);
630 | ```
631 |
632 | ### PX11528
633 | ```javascript
634 | Lt(t, "PX11528", function () {
635 | return Tl(Object.getOwnPropertyDescriptor(HTMLDocument.prototype, "cookie").get);
636 | }, "");
637 | ```
638 |
639 | ### PX11534
640 | ```javascript
641 | r.PX11534 = n.shadingLangulageVersion;
642 | ```
643 |
644 | ### PX11536
645 | ```javascript
646 | r.PX11536 = n.extensions;
647 | ```
648 |
649 | ### PX11538
650 | ```javascript
651 | Lt(t, "PX11538", function () {
652 | return history && f(history.length) === "number" && history.length || -1;
653 | }, -1);
654 | ```
655 |
656 | ### PX11539
657 | ```javascript
658 | Lt(t, "PX11539", function () {
659 | return Tl(window.console.log);
660 | }, "");
661 | ```
662 |
663 | ### PX11540
664 | ```javascript
665 | t.PX11540 = window.matchMedia && window.matchMedia("(pointer:fine)").matches;
666 | ```
667 |
668 | ### PX11544
669 | n / a
670 |
671 | ### PX11547
672 | ```javascript
673 | function Hd(t) {
674 | var n = function (t) {
675 | try {
676 | if (true || f(null) !== "function" || Yn && Yn.hasOwnProperty(Fn[ie])) {
677 | return;
678 | }
679 | return null(t, lf, function (t) {
680 | return pn(t, nn[pe]);
681 | }, Tt);
682 | } catch (t) {}
683 | }(t);
684 | t.PX12501 = ro();
685 | if (n && !function (t) {
686 | if (!(f(t) === "object" && null !== t)) {
687 | return true;
688 | }
689 | for (var e in t) if (t.hasOwnProperty(e) && undefined !== t[e]) {
690 | return false;
691 | }
692 | return true;
693 | }(n)) {
694 | t = ct(t, n);
695 | }
696 | $l("PX11547", t);
697 | }
698 | ```
699 |
700 | ### PX11551
701 | ```javascript
702 | {
703 | name: "PX11551",
704 | func: function () {
705 | return gd(window, "WebGLContextEvent");
706 | }
707 | }
708 | ```
709 |
710 | ### PX11555
711 | ```javascript
712 | var jt = function () {
713 | try {
714 | return window.performance && window.performance.memory;
715 | } catch (t) {}
716 | }();
717 | if (jt) {
718 | t.PX11529 = jt.usedJSHeapSize;
719 | t.PX11555 = jt.jsHeapSizeLimit;
720 | t.PX11833 = jt.totalJSHeapSize;
721 | }
722 | ```
723 |
724 | ### PX11564
725 | ```javascript
726 | t.PX11564 = window.orientation;
727 | ```
728 |
729 | ### PX11567
730 | ```javascript
731 | r.PX11567 = n.webglRenderer;
732 | ```
733 |
734 | ### PX11583
735 | ```javascript
736 | t.PX11583 = navigator.language;
737 | ```
738 |
739 | ### PX11585
740 | ```javascript
741 | u(e, "PX11585", Dc);
742 | ```
743 |
744 | ### PX11589
745 | ```javascript
746 | u(e = {}, "PX11589", r);
747 | ```
748 |
749 | ### PX11590
750 | ```javascript
751 | function lf(t, e) {
752 | e.PX11902 = af++;
753 | e.PX11560 = Bo() || +new Date();
754 | if (ff(t, e)) {
755 | cf.push({
756 | t: t,
757 | d: e,
758 | ts: new Date().getTime()
759 | });
760 | if (t === "PX11782") {
761 | Yu("PX11994");
762 | rf.trigger("PX11782");
763 | }
764 | } else {
765 | of.push({
766 | t: t,
767 | d: e,
768 | ts: new Date().getTime()
769 | });
770 | }
771 | }
772 |
773 | lf("PX11590", a);
774 | ```
775 |
776 | ### PX11595
777 | ```javascript
778 | n.PX11892 = function (t) {
779 | var n = [];
780 | try {
781 | if (!t.clipboardData || !t.clipboardData.items) {
782 | return null;
783 | }
784 | for (var r = 0; r < t.clipboardData.items.length; r++) {
785 | var a;
786 | var o = t.clipboardData.items[r];
787 | u(a = {}, "PX11819", o.kind);
788 | u(a, "PX11595", o.type);
789 | n.push(a);
790 | }
791 | } catch (t) {}
792 | return n;
793 | }(t);
794 | ```
795 |
796 | ### PX11606
797 | ```javascript
798 | if (!navigator.permissions) {
799 | return void (Kr = "PX11606");
800 | }
801 | ```
802 |
803 | ### PX11607
804 | ```javascript
805 | function Tv(t) {
806 | var e;
807 | var r = +new Date();
808 | u(e = {}, "PX11589", r);
809 | u(e, "PX11868", r - Ca);
810 | !function (t) {
811 | if (Yn && Yn.hasOwnProperty(Fn[de])) {
812 | t.PX12611 = fv;
813 | t.PX12612 = sv;
814 | }
815 | }(e);
816 | if (window.performance && window.performance.timing) {
817 | e.PX11742 = window.performance.timing.domComplete;
818 | e.PX12244 = window.performance.timing.loadEventEnd;
819 | }
820 | var o = {
821 | captchaMaxAge: bi,
822 | captchaMaxStale: wi
823 | };
824 | var i = o.captchaMaxStale;
825 | var f = o.captchaMaxAge;
826 | if (null !== i) {
827 | e.PX12616 = f;
828 | }
829 | if (null !== f) {
830 | e.PX12617 = i;
831 | }
832 | var s = t[_e]();
833 | var h = s.clientXhrErrors;
834 | var l = s.clientHttpErrorStatuses;
835 | var y = s.clientRoutesLength;
836 | var v = s.fallbackStartIndex;
837 | var p = s.clientFailures;
838 | var m = s.sendActivitiesCount;
839 | var g = s.captchaFailures;
840 | var B = s.PXHCBootstrapTries;
841 | var H = s.PXHCFakeVerificationResponse;
842 | e.PX11979 = h;
843 | e.PX11511 = l;
844 | e.PX11403 = y;
845 | e.PX11675 = v;
846 | if (t[Ve] >= 1) {
847 | e.PX12445 = t[Ve];
848 | }
849 | e.PX11346 = window.performance && f(window.performance.now) === "function";
850 | e.PX11731 = p;
851 | e.PX11704 = m;
852 | if (g > 1) {
853 | e.PX11905 = g;
854 | }
855 | if (B > 1) {
856 | e.PX11661 = B;
857 | }
858 | if (H) {
859 | e.PX11442 = true;
860 | }
861 | if (Qi === "89d5fa8d-180f-44a1-8497-06b5de2302d4") {
862 | e.PX11470 = true;
863 | }
864 | e.PX11363 = Bf;
865 | if (Oa) {
866 | var D = cr(["/init.js", "/main.min.js"], "script");
867 | var b = D.resourceSize;
868 | var w = D.resourcePath;
869 | e.PX12122 = b;
870 | e.PX11501 = w;
871 | }
872 | var k = window._pxAction;
873 | if (k && "b" !== k) {
874 | e.PX12057 = k;
875 | e.PX645 = Yi;
876 | e.PX11416 = Ci;
877 | e.PX1070 = Pi;
878 | e.PX1076 = Vi;
879 | }
880 | return e;
881 | }
882 | lf("PX11607", Tv(t));
883 | ```
884 |
885 | ### PX11621
886 | ```javascript
887 | t.PX11621 = navigator.deviceMemory;
888 | ```
889 |
890 | ### PX11627
891 | ```javascript
892 | function _c(t, e, n) {
893 | var r = t[e];
894 | if (r) {
895 | t[e] = function () {
896 | var e = f(Array.from) === "function" ? Array.from(arguments) : Array.prototype.slice.call(arguments);
897 | try {
898 | Oc(n, u({}, "PX11976", e));
899 | } catch (t) {}
900 | return r.apply(this, e);
901 | };
902 | }
903 | }
904 | _c(document, "getElementsByClassName", "PX11627");
905 | ```
906 |
907 | ### PX11631
908 | ```javascript
909 | function Xu(t, e) {
910 | var n;
911 | if (!t) {
912 | return null;
913 | }
914 | var a;
915 | u(n = {}, "PX12343", "DOMMouseScroll" === (a = t.type) ? Ro : a);
916 | u(n, "PX12270", _o(t));
917 | if (e) {
918 | var i = Io(t);
919 | if (i) {
920 | var f = No(i);
921 | n.PX11427 = f.top;
922 | n.PX12208 = f.left;
923 | n.PX11652 = function (t) {
924 | var e = Zo(t, true);
925 | return e ? function (t) {
926 | if (!Hu[t]) {
927 | Hu[t] = Du++;
928 | }
929 | return Du;
930 | }(e) : 0;
931 | }(i);
932 | n.PX11824 = i.offsetWidth;
933 | n.PX11631 = i.offsetHeight;
934 | n.PX12165 = function (t) {
935 | return "submit" === t.type ? t.type : t.nodeName ? t.nodeName.toLowerCase() : "";
936 | }(i);
937 | } else {
938 | n.PX11652 = 0;
939 | }
940 | }
941 | return n;
942 | }
943 | ```
944 |
945 | ### PX11634
946 | ```javascript
947 | var qc = ["webdriver", "cd_frame_id_"];
948 | function pi(t, e) {
949 | var n = -1;
950 | for (var r = 0; r < e.length; r++) {
951 | var a = e[r];
952 | if (Element.prototype.getAttribute.call(t, a)) {
953 | n = r;
954 | break;
955 | }
956 | }
957 | return n;
958 | }
959 |
960 | function di(t) {
961 | var n = pi(document.documentElement, qc);
962 | if (-1 !== n) {
963 | t("PX11634", n);
964 | }
965 | }
966 | ```
967 |
968 | ### PX11645
969 | ```javascript
970 | var yu = location && location.href || "";
971 | r.PX11645 = yu;
972 | ```
973 |
974 | ### PX11648
975 | ```javascript
976 | var n = {
977 | t: "PX12167",
978 | d: u({}, "PX11648", true)
979 | };
980 | ```
981 |
982 | ### PX11650
983 | ```javascript
984 | function Lt(t, e, n, r) {
985 | var a;
986 | try {
987 | a = n();
988 | } catch (t) {}
989 | if (f(a) === "undefined") {
990 | a = f(r) === "undefined" ? "missing" : r;
991 | }
992 | t[e] = a;
993 | return a;
994 | }
995 |
996 | Lt(t, "PX11650", function () {
997 | return f(window.atob) === "function" && /\{\s*\[native code\]\s*\}/.test("" + window.atob);
998 | }, false);
999 | ```
1000 |
1001 | ### PX11652
1002 | ```javascript
1003 |
1004 | if (!(xu[o] !== "mousemove" && xu[o] !== "touchmove")) {
1005 | e(document.body, xu[o], Lu);
1006 | }
1007 |
1008 | function Lu(t) {
1009 | try {
1010 | var n = +new Date();
1011 | var r = n - Au;
1012 | hu = t.type;
1013 | (function (t, e) {
1014 | if (t.type === "mousemove" && f(t.movementX) === "number" && f(t.movementY) === "number") {
1015 | if (Nu.length < 10) {
1016 | Nu.push(+t.movementX.toFixed(2) + "," + +t.movementY.toFixed(2) + "," + ((e || +new Date()) - (Ao || 0)));
1017 | }
1018 | if (Vu.length < 50) {
1019 | Vu.push(Wu(t));
1020 | }
1021 | } else if (t.type === "touchmove") {
1022 | var n = $u(t);
1023 | if (n && f(n.screenX) === "number" && f(n.screenY) === "number") {
1024 | if (Cu.length < 10) {
1025 | var r = f(Eu.previousTouchmove.screenX) === "number" ? n.screenX - Eu.previousTouchmove.screenX : 0;
1026 | var a = f(Eu.previousTouchmove.screenY) === "number" ? n.screenY - Eu.previousTouchmove.screenY : 0;
1027 | Eu.previousTouchmove.screenX = n.screenX;
1028 | Eu.previousTouchmove.screenY = n.screenY;
1029 | Cu.push(+r.toFixed(2) + "," + +a.toFixed(2) + "," + ((e || +new Date()) - (Ao || 0)));
1030 | }
1031 | if (_u.length < 50) {
1032 | _u.push(Wu(t));
1033 | }
1034 | }
1035 | }
1036 | })(t, n);
1037 | if (r > 50) {
1038 | var a;
1039 | Au = n;
1040 | var o = Gu(t);
1041 | u(a = {}, "PX12108", o.pageX);
1042 | u(a, "PX12414", o.pageY);
1043 | u(a, "PX11699", (n || +new Date()) - (Ao || 0));
1044 | if (null === Eu[hu]) {
1045 | var s = Xu(t, false);
1046 | s.coordination_start = [a];
1047 | s.coordination_end = [];
1048 | Eu[hu] = s;
1049 | } else {
1050 | var h = Eu[hu].coordination_start;
1051 | if (h.length >= Ru[hu] / 2 && (h = Eu[hu].coordination_end).length >= Ru[hu] / 2) {
1052 | h.shift();
1053 | }
1054 | h.push(a);
1055 | }
1056 | }
1057 | } catch (t) {}
1058 | }
1059 |
1060 | function Ed(t) {
1061 | var e;
1062 | if (wd && t) {
1063 | var r = function (t) {
1064 | var e = {};
1065 | if (!t) {
1066 | return e;
1067 | }
1068 | var n = t.touches || t.changedTouches;
1069 | Fo(n ? t = n[0] : t, e);
1070 | return e;
1071 | }(t);
1072 | u(e = {}, "PX12108", r.x);
1073 | u(e, "PX12414", r.y);
1074 | u(e, "PX11984", Kn());
1075 | u(e, "PX12303", t.type || "");
1076 | u(e, "PX11699", (undefined || +new Date()) - (Ao || 0));
1077 | u(e, "PX11987", _o(t));
1078 | u(e, "PX12461", Xo(t.target));
1079 | u(e, "PX11652", Zo(Io(t)));
1080 | lf("PX12123", e);
1081 | Ti(true);
1082 | wd = false;
1083 | }
1084 | }
1085 | ```
1086 |
1087 | ### PX11659
1088 | ```javascript
1089 | oo1o1o: function (t, e, n) {
1090 | var i = {};
1091 | try {
1092 | i.PX11762 = t;
1093 | i.PX12076 = e;
1094 | i.PX11953 = eval(n);
1095 | } catch (t) {
1096 | i.PX12056 = t + "";
1097 | }
1098 | lf("PX11659", i);
1099 | }
1100 | ```
1101 |
1102 | ### PX11663
1103 | ```javascript
1104 | return Tl(document.documentElement.dispatchEvent);
1105 | ```
1106 |
1107 | ### PX11673
1108 | ```javascript
1109 | if (a) {
1110 | var o = function (t) {
1111 | var e;
1112 | var r = Kn();
1113 | var a = Ct(r);
1114 | if (a.length > 0) {
1115 | var o;
1116 | var i = a[a.length - 1];
1117 | u(o = {}, "PX11984", r);
1118 | u(o, "PX11652", t);
1119 | u(o, "PX12240", i[1] || "");
1120 | u(o, "PX11944", i[0] || "");
1121 | e = o;
1122 | } else {
1123 | var f;
1124 | u(f = {}, "PX11984", r);
1125 | u(f, "PX11652", t);
1126 | e = f;
1127 | }
1128 | return e;
1129 | }(a);
1130 | var i = Xo(n);
1131 | if (f(i) !== "undefined") {
1132 | o.PX12461 = i;
1133 | }
1134 | lf("PX11673", o);
1135 | if (5 <= ++ny) {
1136 | ay = false;
1137 | iy(false);
1138 | }
1139 | }
1140 | ```
1141 |
1142 | ### PX11676
1143 | ```javascript
1144 | _c(document, "querySelectorAll", "PX11676");
1145 | ```
1146 |
1147 | ### PX11678
1148 | ```javascript
1149 | t.PX11678 = function () {
1150 | if (window.PointerEvent && "maxTouchPoints" in navigator) {
1151 | if (navigator.maxTouchPoints > 0) {
1152 | return true;
1153 | }
1154 | } else {
1155 | if (window.matchMedia && window.matchMedia("(any-hover: none), (any-pointer: coarse)").matches) {
1156 | return true;
1157 | }
1158 | if (window.TouchEvent || "ontouchstart" in window) {
1159 | return true;
1160 | }
1161 | }
1162 | return false;
1163 | }();
1164 | ```
1165 |
1166 | ### PX11679
1167 | ```javascript
1168 | u(n, "PX11679", document.body && document.body.offsetWidth + "x" + document.body.offsetHeight || "");
1169 | ```
1170 |
1171 | ### PX11681
1172 | ```javascript
1173 | t.PX11681 = navigator.languages;
1174 | ```
1175 |
1176 | ### PX11685
1177 | ```javascript
1178 | t.PX11681 = navigator.languages;
1179 | ```
1180 |
1181 | ### PX11698
1182 | ```javascript
1183 | (function (t, e) {
1184 | if (t.type === "mousemove" && f(t.movementX) === "number" && f(t.movementY) === "number") {
1185 | if (Nu.length < 10) {
1186 | Nu.push(+t.movementX.toFixed(2) + "," + +t.movementY.toFixed(2) + "," + ((e || +new Date()) - (Ao || 0)));
1187 | }
1188 | if (Vu.length < 50) {
1189 | Vu.push(Wu(t));
1190 | }
1191 | } else if (t.type === "touchmove") {
1192 | var n = $u(t);
1193 | if (n && f(n.screenX) === "number" && f(n.screenY) === "number") {
1194 | if (Cu.length < 10) {
1195 | var r = f(Eu.previousTouchmove.screenX) === "number" ? n.screenX - Eu.previousTouchmove.screenX : 0;
1196 | var a = f(Eu.previousTouchmove.screenY) === "number" ? n.screenY - Eu.previousTouchmove.screenY : 0;
1197 | Eu.previousTouchmove.screenX = n.screenX;
1198 | Eu.previousTouchmove.screenY = n.screenY;
1199 | Cu.push(+r.toFixed(2) + "," + +a.toFixed(2) + "," + ((e || +new Date()) - (Ao || 0)));
1200 | }
1201 | if (_u.length < 50) {
1202 | _u.push(Wu(t));
1203 | }
1204 | }
1205 | }
1206 | })(t, n);
1207 |
1208 | function _t(t) {
1209 | var e = [];
1210 | for (var n = 0; n < t.length; n += 2) {
1211 | e.push(t[n]);
1212 | }
1213 | return e;
1214 | }
1215 |
1216 | u(n, "PX11698", Vu.length > 0 ? _t(Vu) : undefined);
1217 | ```
1218 |
1219 | ### PX11699
1220 | ```javascript
1221 | u(a, "PX11699", t[r].PX11699 - t[r - 1].PX11699);
1222 | ```
1223 |
1224 | ### PX11702
1225 | ```javascript
1226 | var a = function (t) {
1227 | var e;
1228 | var r = Kn();
1229 | var a = Ct(r);
1230 | if (a.length > 0) {
1231 | var o;
1232 | var i = a[a.length - 1];
1233 | u(o = {}, "PX11984", r);
1234 | u(o, "PX11652", t);
1235 | u(o, "PX12240", i[1] || "");
1236 | u(o, "PX11944", i[0] || "");
1237 | e = o;
1238 | } else {
1239 | var f;
1240 | u(f = {}, "PX11984", r);
1241 | u(f, "PX11652", t);
1242 | e = f;
1243 | }
1244 | return e;
1245 | }(r);
1246 | var o = Xo(n);
1247 | if (f(o) !== "undefined") {
1248 | a.PX12461 = o;
1249 | }
1250 | lf("PX11702", a);
1251 | if (5 <= ++jd) {
1252 | zd = false;
1253 | qd(false);
1254 | }
1255 | ```
1256 |
1257 | ### PX11719
1258 | ```javascript
1259 | u(n = {}, "PX11719", true);
1260 | ```
1261 |
1262 | ### PX11745
1263 | ```javascript
1264 | case function () {
1265 | var t = window._pxAction;
1266 | return t === "pxhc" || "pxc" === t;
1267 | }():
1268 | t = "PX11745";
1269 | break;
1270 | ```
1271 |
1272 | ### PX11747
1273 | ```javascript
1274 | u(n, "PX11747", Ou.length > 0 ? Ou : undefined);
1275 | ```
1276 |
1277 | ### PX11754
1278 | ```javascript
1279 | t.PX11754 = navigator.userAgent;
1280 | ```
1281 |
1282 | ### PX11771
1283 | ```javascript
1284 | var th = "".concat(yt(), "//").concat(qs, ".").concat("px-client.net").concat("/b/g");
1285 | var eh = false;
1286 | function nh(t) {
1287 | if (!eh && window._pxAction && 0 === location.protocol.indexOf("http")) {
1288 | try {
1289 | var n = zs([{
1290 | t: "PX11940",
1291 | d: {}
1292 | }], t).join("&");
1293 | var r = "".concat(th, "?").concat(n);
1294 | var a = new XMLHttpRequest();
1295 | a.onreadystatechange = function () {
1296 | if (4 === a.readyState && 0 === a.status) {
1297 | lf("PX11796", u({}, "PX11771", th));
1298 | }
1299 | };
1300 | a.open("get", r);
1301 | a.send();
1302 | eh = true;
1303 | } catch (t) {}
1304 | }
1305 | }
1306 | ```
1307 |
1308 | ### PX11781
1309 | ```javascript
1310 | var N = screen && screen.width || -1;
1311 | var C = screen && screen.height || -1;
1312 | var V = screen && screen.availWidth || -1;
1313 | var _ = screen && screen.availHeight || -1;
1314 | t.PX11843 = N;
1315 | t.PX11781 = C;
1316 | t.PX12121 = V;
1317 | t.PX12128 = _;
1318 | t.PX12387 = N + "X" + C;
1319 | t.PX12003 = screen && +screen.pixelDepth || 0;
1320 | t.PX11380 = screen && +screen.colorDepth || 0;
1321 | ```
1322 |
1323 | ### PX11782
1324 | ```javascript
1325 | rf.subscribe("PX11782", Gy[Pe]);
1326 | ```
1327 |
1328 | ### PX11796
1329 | ```javascript
1330 | lf("PX11796", u({}, "PX11771", th));
1331 | ```
1332 |
1333 | ### PX11802
1334 | ```javascript
1335 | try {
1336 | var a;
1337 | u(a = {}, "PX12151", e);
1338 | u(a, "PX11921", Zo(this, true));
1339 | Oc("PX11802", a);
1340 | } catch (t) {}
1341 | if (f(n.set) === "function") {
1342 | return n.set.call(this, t);
1343 | }
1344 | ```
1345 |
1346 | ### PX11803
1347 | ```javascript
1348 | function xc() {
1349 | var t;
1350 | if (null !== Ac && kc.length < 40) {
1351 | if ((t = "-" === Ac[fn][0] || "-" === Ac[sn][0] ? "0" : Ac[hn] + " " + Ac[ln]) !== kc[kc.length - 1]) {
1352 | kc.push(t);
1353 | Tc.push(bo(Uc));
1354 | }
1355 | }
1356 | Ac = null;
1357 | }
1358 |
1359 | u(e, "PX11803", kc);
1360 | ```
1361 |
1362 | ### PX11805
1363 | ```javascript
1364 | try {
1365 | if (!navigator.permissions) {
1366 | return void (Kr = "PX11606");
1367 | }
1368 | if ("denied" === Notification.permission) {
1369 | navigator.permissions.query({
1370 | name: "notifications"
1371 | }).then(function (e) {
1372 | if ("prompt" === e.state) {
1373 | Kr = "PX11805";
1374 | }
1375 | });
1376 | }
1377 | } catch (t) {}
1378 | ```
1379 |
1380 | ### PX11807
1381 | ```javascript
1382 | var my = function () {
1383 | var t = arguments.length > 0 && undefined !== arguments[0] ? arguments[0] : {};
1384 | var e = t.regexList;
1385 | var n = t.urlContainsList;
1386 | var r = t.entriesFilter;
1387 | var a = undefined === r ? function () {
1388 | return true;
1389 | } : r;
1390 | if (!(f(or(window, "performance.getEntries", null)) === "function")) {
1391 | return [];
1392 | }
1393 | var o = window.performance.getEntries().filter(a);
1394 | var c = [];
1395 | for (var i = 0; i < o.length; i++) {
1396 | var u = o[i];
1397 | if (e) {
1398 | for (var s = 0; s < e.length; s++) {
1399 | var h = e[s];
1400 | if ("string" == typeof h) {
1401 | h = new RegExp(e[s]);
1402 | }
1403 | if (h && f(h.test) === "function" && h.test(u.name)) {
1404 | c.push(u);
1405 | }
1406 | }
1407 | } else if (n) {
1408 | for (var l = 0; l < n.length; l++) {
1409 | var d = n[l];
1410 | if (-1 !== u.name.indexOf(d)) {
1411 | c.push(u);
1412 | }
1413 | }
1414 | }
1415 | }
1416 | return c;
1417 | };
1418 |
1419 | if (n) {
1420 | mv("PX11807", n.duration);
1421 | }
1422 | ```
1423 |
1424 | ### PX11811
1425 | ```javascript
1426 | u(t, "PX11811", []);
1427 |
1428 | function lh(t, e) {
1429 | var n = document.createElement("canvas");
1430 | n.width = t || 2e3;
1431 | n.height = e || 200;
1432 | n.style.display = "inline";
1433 | return n;
1434 | }
1435 |
1436 | var a = lh();
1437 | if (!a) {
1438 | r.PX11811.push("PX12423");
1439 | return e(r);
1440 | }
1441 |
1442 | var o = a.getContext("webgl") || a.getContext("experimental-webgl");
1443 | if (!o) {
1444 | r.PX11811.push("PX11982");
1445 | return e(r);
1446 | }
1447 |
1448 | function fh(t, e, n) {
1449 | var r;
1450 | var a;
1451 | var o;
1452 | var i;
1453 | var u = function (e) {
1454 | t.clearColor(0, 0, 0, 1);
1455 | t.enable(t.DEPTH_TEST);
1456 | t.depthFunc(t.LEQUAL);
1457 | t.clear(t.COLOR_BUFFER_BIT | t.DEPTH_BUFFER_BIT);
1458 | return "[" + e[0] + ", " + e[1] + "]";
1459 | };
1460 | return function () {
1461 | return new lo(function (c) {
1462 | setTimeout(function () {
1463 | try {
1464 | r = t.createBuffer();
1465 | t.bindBuffer(t.ARRAY_BUFFER, r);
1466 | var u = new Float32Array([-.2, -.9, 0, .4, -.26, 0, 0, .732134444, 0]);
1467 | t.bufferData(t.ARRAY_BUFFER, u, t.STATIC_DRAW);
1468 | r.itemSize = 3;
1469 | r.numItems = 3;
1470 | a = t.createProgram();
1471 | o = t.createShader(t.VERTEX_SHADER);
1472 | t.shaderSource(o, "attribute vec2 attrVertex;varying vec2 varyinTexCoordinate;uniform vec2 uniformOffset;void main(){varyinTexCoordinate=attrVertex+uniformOffset;gl_Position=vec4(attrVertex,0,1);}");
1473 | t.compileShader(o);
1474 | i = t.createShader(t.FRAGMENT_SHADER);
1475 | t.shaderSource(i, "precision mediump float;varying vec2 varyinTexCoordinate;void main() {gl_FragColor=vec4(varyinTexCoordinate,0,1);}");
1476 | t.compileShader(i);
1477 | t.attachShader(a, o);
1478 | t.attachShader(a, i);
1479 | t.linkProgram(a);
1480 | t.useProgram(a);
1481 | a.vertexPosAttrib = t.getAttribLocation(a, "attrVertex");
1482 | a.offsetUniform = t.getUniformLocation(a, "uniformOffset");
1483 | t.enableVertexAttribArray(a.vertexPosArray);
1484 | t.vertexAttribPointer(a.vertexPosAttrib, r.itemSize, t.FLOAT, false, 0, 0);
1485 | t.uniform2f(a.offsetUniform, 1, 1);
1486 | t.drawArrays(t.TRIANGLE_STRIP, 0, r.numItems);
1487 | e.canvasfp = null === t.canvas ? "no_fp" : undefined ? undefined ? At(undefined, t.canvas.toDataURL()) : Et(At(undefined, t.canvas.toDataURL())) : undefined ? Rt(t.canvas.toDataURL()) : Et(Rt(t.canvas.toDataURL()));
1488 | e.extensions = t.getSupportedExtensions() || ["no_fp"];
1489 | } catch (t) {
1490 | e.errors.push("PX11982");
1491 | }
1492 | c();
1493 | }, 1);
1494 | });
1495 | }().then(function () {
1496 | return function () {
1497 | return new lo(function (r) {
1498 | setTimeout(function () {
1499 | try {
1500 | e.webglRenderer = uh(t, t.RENDERER);
1501 | e.shadingLangulageVersion = uh(t, t.SHADING_LANGUAGE_VERSION);
1502 | e.webglVendor = uh(t, t.VENDOR);
1503 | e.webGLVersion = uh(t, t.VERSION);
1504 | var a = t.getExtension("WEBGL_debug_renderer_info");
1505 | if (a) {
1506 | e.unmaskedVendor = uh(t, a.UNMASKED_VENDOR_WEBGL);
1507 | e.unmaskedRenderer = uh(t, a.UNMASKED_RENDERER_WEBGL);
1508 | }
1509 | e.webglParameters = [];
1510 | var o = e.webglParameters;
1511 | o.push(u(uh(t, t.ALIASED_LINE_WIDTH_RANGE)));
1512 | o.push(u(uh(t, t.ALIASED_POINT_SIZE_RANGE)));
1513 | o.push(uh(t, t.ALPHA_BITS));
1514 | o.push(t.getContextAttributes().antialias ? "yes" : "no");
1515 | o.push(uh(t, t.BLUE_BITS));
1516 | o.push(uh(t, t.DEPTH_BITS));
1517 | o.push(uh(t, t.GREEN_BITS));
1518 | o.push(function (t) {
1519 | var e;
1520 | var n = t.getExtension("EXT_texture_filter_anisotropic") || t.getExtension("WEBKIT_EXT_texture_filter_anisotropic") || t.getExtension("MOZ_EXT_texture_filter_anisotropic");
1521 | return n ? (0 === (e = t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)) && (e = 2), e) : null;
1522 | }(t));
1523 | o.push(uh(t, t.MAX_COMBINED_TEXTURE_IMAGE_UNITS));
1524 | o.push(uh(t, t.MAX_CUBE_MAP_TEXTURE_SIZE));
1525 | o.push(uh(t, t.MAX_FRAGMENT_UNIFORM_VECTORS));
1526 | o.push(uh(t, t.MAX_RENDERBUFFER_SIZE));
1527 | o.push(uh(t, t.MAX_TEXTURE_IMAGE_UNITS));
1528 | o.push(uh(t, t.MAX_TEXTURE_SIZE));
1529 | o.push(uh(t, t.MAX_VARYING_VECTORS));
1530 | o.push(uh(t, t.MAX_VERTEX_ATTRIBS));
1531 | o.push(uh(t, t.MAX_VERTEX_TEXTURE_IMAGE_UNITS));
1532 | o.push(uh(t, t.MAX_VERTEX_UNIFORM_VECTORS));
1533 | o.push(u(uh(t, t.MAX_VIEWPORT_DIMS)));
1534 | o.push(uh(t, t.STENCIL_BITS));
1535 | if (t.getShaderPrecisionFormat) {
1536 | var c = ["VERTEX_SHADER", "FRAGMENT_SHADER", "VERTEX_SHADER", "FRAGMENT_SHADER"];
1537 | var i = ["HIGH_FLOAT", "MEDIUM_FLOAT", "LOW_FLOAT"];
1538 | for (var f = 0; f < c.length; f++) {
1539 | var s = c[f];
1540 | for (var h = 0; h < i.length; h++) {
1541 | var l = i[h];
1542 | var d = t.getShaderPrecisionFormat(t[s], t[l]);
1543 | o.push(d.precision, d.rangeMin, d.rangeMax);
1544 | }
1545 | }
1546 | }
1547 | } catch (t) {
1548 | e.errors.push("PX11982");
1549 | }
1550 | r();
1551 | }, 1);
1552 | });
1553 | }();
1554 | }).then(function () {
1555 | return n(e);
1556 | });
1557 | }
1558 |
1559 | fh(o, n, function (n) {
1560 | r.PX11352 = n.canvasfp;
1561 | r.PX12292 = n.webglVendor;
1562 | r.PX11811 = n.errors;
1563 | r.PX11567 = n.webglRenderer;
1564 | r.PX12032 = n.webGLVersion;
1565 | r.PX11536 = n.extensions;
1566 | r.PX12503 = undefined ? undefined ? At(undefined, n.extensions) : Et(At(undefined, n.extensions)) : undefined ? Rt(n.extensions) : Et(Rt(n.extensions));
1567 | r.PX12149 = n.webglParameters;
1568 | r.PX12502 = undefined ? undefined ? At(undefined, n.webglParameters) : Et(At(undefined, n.webglParameters)) : undefined ? Rt(n.webglParameters) : Et(Rt(n.webglParameters));
1569 | r.PX12352 = n.unmaskedVendor;
1570 | r.PX11455 = n.unmaskedRenderer;
1571 | r.PX11534 = n.shadingLangulageVersion;
1572 | e(r);
1573 | });
1574 | ```
1575 |
1576 | ### PX11813
1577 | ```javascript
1578 |
1579 | function _c(t, e, n) {
1580 | var r = t[e];
1581 | if (r) {
1582 | t[e] = function () {
1583 | var e = f(Array.from) === "function" ? Array.from(arguments) : Array.prototype.slice.call(arguments);
1584 | try {
1585 | Oc(n, u({}, "PX11976", e));
1586 | } catch (t) {}
1587 | return r.apply(this, e);
1588 | };
1589 | }
1590 | }
1591 |
1592 | _c(document, "getElementsByName", "PX11813");
1593 | ```
1594 |
1595 | ### PX11814
1596 | ```javascript
1597 | try {
1598 | var r;
1599 | u(r = {}, "PX12151", e);
1600 | u(r, "PX11921", Zo(this, true));
1601 | Oc("PX11814", r);
1602 | } catch (t) {}
1603 | ```
1604 |
1605 | ### PX11819
1606 | ```javascript
1607 | n.PX11892 = function (t) {
1608 | var n = [];
1609 | try {
1610 | if (!t.clipboardData || !t.clipboardData.items) {
1611 | return null;
1612 | }
1613 | for (var r = 0; r < t.clipboardData.items.length; r++) {
1614 | var a;
1615 | var o = t.clipboardData.items[r];
1616 | u(a = {}, "PX11819", o.kind);
1617 | u(a, "PX11595", o.type);
1618 | n.push(a);
1619 | }
1620 | } catch (t) {}
1621 | return n;
1622 | }(t);
1623 | ```
1624 |
1625 | ### PX11824
1626 | ```javascript
1627 | function Io(t) {
1628 | if (t) {
1629 | return t.target || t.toElement || t.srcElement;
1630 | }
1631 | }
1632 |
1633 | if (e) {
1634 | var i = Io(t);
1635 | if (i) {
1636 | var f = No(i);
1637 | n.PX11427 = f.top;
1638 | n.PX12208 = f.left;
1639 | n.PX11652 = function (t) {
1640 | var e = Zo(t, true);
1641 | return e ? function (t) {
1642 | if (!Hu[t]) {
1643 | Hu[t] = Du++;
1644 | }
1645 | return Du;
1646 | }(e) : 0;
1647 | }(i);
1648 | n.PX11824 = i.offsetWidth;
1649 | n.PX11631 = i.offsetHeight;
1650 | n.PX12165 = function (t) {
1651 | return "submit" === t.type ? t.type : t.nodeName ? t.nodeName.toLowerCase() : "";
1652 | }(i);
1653 | } else {
1654 | n.PX11652 = 0;
1655 | }
1656 | }
1657 |
1658 | ```
1659 |
1660 | ### PX11826
1661 | n / a
1662 |
1663 | ### PX11840
1664 | ```javascript
1665 | t.PX11840 = window.Date();
1666 | ```
1667 |
1668 | ### PX11842
1669 | ```javascript
1670 | function dd(t) {
1671 | var e = [];
1672 | if (t) {
1673 | try {
1674 | var n = Object.getOwnPropertyNames(t);
1675 | for (var r = 0; r < n.length; r++) {
1676 | var a = n[r];
1677 | if (("_" === a[0] || "$" === a[0] || -1 !== lt(od, a)) && a.length <= 200 && (e.push(a), e.length >= 30)) {
1678 | break;
1679 | }
1680 | }
1681 | } catch (t) {}
1682 | }
1683 | return e;
1684 | }
1685 |
1686 | {
1687 | name: "PX12427",
1688 | func: function () {
1689 | return dd(window);
1690 | }
1691 | }
1692 | ```
1693 |
1694 | ### PX11843
1695 | ```javascript
1696 | function ml(t) {
1697 | try {
1698 | var N = screen && screen.width || -1;
1699 | var C = screen && screen.height || -1;
1700 | var V = screen && screen.availWidth || -1;
1701 | var _ = screen && screen.availHeight || -1;
1702 | t.PX11843 = N;
1703 | t.PX11781 = C;
1704 | t.PX12121 = V;
1705 | t.PX12128 = _;
1706 | t.PX12387 = N + "X" + C;
1707 | t.PX12003 = screen && +screen.pixelDepth || 0;
1708 | t.PX11380 = screen && +screen.colorDepth || 0;
1709 | } catch (t) {}
1710 | try {
1711 | t.PX11494 = window.innerWidth || -1;
1712 | t.PX12411 = window.innerHeight || -1;
1713 | t.PX12443 = window.scrollX || window.pageXOffset || 0;
1714 | t.PX12447 = window.scrollY || window.pageYOffset || 0;
1715 | t.PX11533 = !(0 === window.outerWidth && 0 === window.outerHeight);
1716 | t.PX12079 = function () {
1717 | try {
1718 | return window.hasOwnProperty("_cordovaNative") || window.hasOwnProperty("Ti") || window.hasOwnProperty("webView") || window.hasOwnProperty("Android") || document.hasOwnProperty("ondeviceready") || navigator.hasOwnProperty("standalone") || window.external && "notify" in window.external || navigator.userAgent.indexOf(" Mobile/") > 0 && -1 === navigator.userAgent.indexOf(" Safari/");
1719 | } catch (t) {
1720 | return false;
1721 | }
1722 | }();
1723 | } catch (t) {}
1724 | }
1725 | ```
1726 |
1727 | ### PX11844
1728 | ```javascript
1729 | u(n, "PX11844", bu);
1730 | ```
1731 |
1732 | ### PX11849
1733 | ```javascript
1734 | Lt(t, "PX11849", function () {
1735 | return Tl(navigator.toString);
1736 | }, "");
1737 | ```
1738 |
1739 | ### PX11859
1740 | ```javascript
1741 | function Yu(t) {
1742 | if (gu) {
1743 | var n;
1744 | gu = false;
1745 | if (Bu.length > 0 || Nu.length > 0 || Cu.length > 0) {
1746 | if (du) {
1747 | u(n = {}, "PX12040", Bu);
1748 | u(n, "PX12170", t);
1749 | u(n, "PX11934", yu);
1750 | u(n, "PX12160", Hu);
1751 | u(n, "PX11875", Gr());
1752 | u(n, "PX11844", bu);
1753 | u(n, "PX12465", Hi);
1754 | u(n, "PX11393", Nu.join("|"));
1755 | u(n, "PX12621", Cu.join("|"));
1756 | u(n, "PX12470", Ao);
1757 | u(n, "PX11747", Ou.length > 0 ? Ou : undefined);
1758 | u(n, "PX11698", Vu.length > 0 ? _t(Vu) : undefined);
1759 | u(n, "PX11433", _u.length > 0 ? _t(_u) : undefined);
1760 | u(n, "PX11679", document.body && document.body.offsetWidth + "x" + document.body.offsetHeight || "");
1761 | du("PX12419", n);
1762 | }
1763 | }
1764 | Ju(false);
1765 | }
1766 | }
1767 | Yu("PX11859");
1768 | ```
1769 |
1770 | ### PX11866
1771 | n / a
1772 |
1773 | ### PX11868
1774 | ```javascript
1775 | var r = +new Date();
1776 | u(e = {}, "PX11589", r);
1777 | u(e, "PX11868", r - Ca);
1778 | ```
1779 |
1780 | ### PX11875
1781 | ```javascript
1782 | function Gr() {
1783 | return mr || (window._pxAction ? (f(mr = window._pxUuid || Qt("uuid") || pr()) === "string" && 36 !== mr.length && (mr = mr.trim()), window._pxUuid || (t = mr, window._pxUuid = t)) : mr = pr(), mr);
1784 | var t;
1785 | }
1786 |
1787 | u(n, "PX11875", Gr());
1788 | ```
1789 |
1790 | ### PX11883
1791 | ```javascript
1792 | Lt(t, "PX11883", function () {
1793 | return Tl(navigator.hasOwnProperty);
1794 | }, "");
1795 | ```
1796 |
1797 | ### PX11891
1798 | ```javascript
1799 | (function () {
1800 | var t;
1801 | df[Ce] = 0;
1802 | Bf += 1;
1803 | var n = navigator.userAgent;
1804 | u(t = {}, "PX11913", pf);
1805 | u(t, "PX11900", mf);
1806 | u(t, "PX12159", Bf);
1807 | u(t, "PX11754", n);
1808 | u(t, "PX12256", Hf);
1809 | u(t, "PX12445", df[Ve]);
1810 | if (Gr()) {
1811 | t.PX11804 = n ? undefined ? At(n, Gr()) : Et(At(n, Gr())) : undefined ? Rt(Gr()) : Et(Rt(Gr()));
1812 | }
1813 | if (q) {
1814 | t.PX11746 = n ? undefined ? At(n, q) : Et(At(n, q)) : undefined ? Rt(q) : Et(Rt(q));
1815 | }
1816 | var o = no();
1817 | if (o) {
1818 | t.PX11371 = n ? undefined ? At(n, o) : Et(At(n, o)) : undefined ? Rt(o) : Et(Rt(o));
1819 | }
1820 | lf("PX11891", t);
1821 | })();
1822 | ```
1823 |
1824 | ### PX11897
1825 | ```javascript
1826 | Lt(t, "PX11897", function () {
1827 | var e = st["Object.getOwnPropertyDescriptor"].call(this, Object.getPrototypeOf(navigator), "webdriver");
1828 | if (e) {
1829 | return It("" + (e.get || "") + (e.value || ""));
1830 | }
1831 | }, "");
1832 | ```
1833 |
1834 | ### PX11898
1835 | ```javascript
1836 | if (Wv.getItem("PX11898", false)) {
1837 | Wv.removeItem("PX11898", false);
1838 | t.PX11898 = true;
1839 | }
1840 | ```
1841 |
1842 | ### PX11900
1843 | ```javascript
1844 | function Tf(t, e, n, r) {
1845 | Uf();
1846 | if ((mf = 800 * r || 12e4) < 12e4) {
1847 | mf = 12e4;
1848 | } else if (mf > 9e5) {
1849 | mf = 9e5;
1850 | }
1851 | if (Di) {
1852 | Af();
1853 | }
1854 | }
1855 |
1856 | u(t, "PX11900", mf);
1857 | ```
1858 |
1859 | ### PX11909
1860 | ```javascript
1861 | t("", Li, zi);
1862 | u(s, "PX11909", t);
1863 | ```
1864 |
1865 | ### PX11910
1866 | ```javascript
1867 | var Jc = ["__driver_evaluate", "__webdriver_evaluate", "__selenium_evaluate", "__fxdriver_evaluate", "__driver_unwrapped", "__webdriver_unwrapped", "__selenium_unwrapped", "__fxdriver_unwrapped", "_Selenium_IDE_Recorder", "_selenium", "calledSelenium", "$cdc_asdjflasutopfhvcZLmcfl_", "$chrome_asyncScriptInfo", "__$webdriverAsyncExecutor", "webdriver", "__webdriverFunc", "domAutomation", "domAutomationController", "__lastWatirAlert", "__lastWatirConfirm", "__lastWatirPrompt", "__webdriver_script_fn", "_WEBDRIVER_ELEM_CACHE"];
1868 |
1869 | function ui(t) {
1870 | var n = vi(document, Jc);
1871 | if (-1 !== n) {
1872 | t("PX11910", n);
1873 | }
1874 | }
1875 | ```
1876 |
1877 | ### PX11913
1878 | ```javascript
1879 |
1880 | function bf(t) {
1881 | df = t;
1882 | Af();
1883 | Va.on("risk", Tf);
1884 | zo(window, "focus", kf);
1885 | zo(window, "blur", wf);
1886 | }
1887 |
1888 | function wf() {
1889 | pf = false;
1890 | }
1891 | function kf() {
1892 | pf = true;
1893 | }
1894 |
1895 | u(t = {}, "PX11913", pf);
1896 | ```
1897 |
1898 | ### PX11918
1899 | ```javascript
1900 | function Vo(t, e) {
1901 | if (!(So && !t || f(e) !== "function")) {
1902 | new So(function (t) {
1903 | t.forEach(function (t) {
1904 | if (t && "attributes" === t.type) {
1905 | var n = t.attributeName;
1906 | var r = n && t.target && f(t.target.getAttribute) === "function" && Element.prototype.getAttribute.call(t.target, t.attributeName);
1907 | e(t.target, n, r);
1908 | }
1909 | });
1910 | }).observe(t, {
1911 | attributes: true
1912 | });
1913 | }
1914 | }
1915 |
1916 | function Vc(t, e, n) {
1917 | var r;
1918 | if (e) {
1919 | u(r = {}, "PX11918", e || "");
1920 | u(r, "PX12242", n || "");
1921 | u(r, "PX11652", Zo(t, true));
1922 | lc("PX11344", r);
1923 | }
1924 | }
1925 | ```
1926 |
1927 | ### PX11921
1928 | ```javascript
1929 | function Sc() {
1930 | if (ic = document.getElementById("g-recaptcha-response")) {
1931 | var t = fc.getElementsByTagName("iframe")[0];
1932 | if (t && /recaptcha/gi.test(t.getAttribute("src") || "")) {
1933 | uc = t;
1934 | }
1935 | return uc && ic;
1936 | }
1937 | }
1938 |
1939 | function Ic(t, e) {
1940 | if (f(Object.defineProperty) === "function" && f(Object.getOwnPropertyDescriptor) === "function" && f(Object.getPrototypeOf) === "function") {
1941 | var n = function (t, e) {
1942 | for (; null !== t;) {
1943 | var n = Object.getOwnPropertyDescriptor(t, e);
1944 | if (n) {
1945 | return n;
1946 | }
1947 | t = Object.getPrototypeOf(t);
1948 | }
1949 | return null;
1950 | }(Object.getPrototypeOf(t), e);
1951 | if (null === n) {
1952 | var r = ct({}, n, {
1953 | get: function () {
1954 | try {
1955 | var r;
1956 | u(r = {}, "PX12151", e);
1957 | u(r, "PX11921", Zo(this, true));
1958 | Oc("PX11814", r);
1959 | } catch (t) {}
1960 | if (f(n.get) === "function") {
1961 | return n.get.call(this);
1962 | }
1963 | },
1964 | set: function (t) {
1965 | try {
1966 | var a;
1967 | u(a = {}, "PX12151", e);
1968 | u(a, "PX11921", Zo(this, true));
1969 | Oc("PX11802", a);
1970 | } catch (t) {}
1971 | if (f(n.set) === "function") {
1972 | return n.set.call(this, t);
1973 | }
1974 | }
1975 | });
1976 | Object.defineProperty(t, e, r);
1977 | }
1978 | }
1979 | }
1980 | ```
1981 |
1982 | ### PX11925
1983 | n / a
1984 |
1985 | ### PX11927
1986 | ```javascript
1987 | function dh() {
1988 | return new lo(function (e) {
1989 | setTimeout(function () {
1990 | var n = "no_fp";
1991 | try {
1992 | var r = lh(650, 12);
1993 | if (r) {
1994 | var a = sh(r);
1995 | n = "PX11982";
1996 | if (a) {
1997 | a.font = "8px sans-serif";
1998 | var o = 1;
1999 | for (var c = 128512; c < 128591; c++) {
2000 | a.fillText(fo("0x" + c.toString(16)), 8 * o, 8);
2001 | o++;
2002 | }
2003 | n = undefined ? undefined ? At(undefined, a.canvas.toDataURL()) : Et(At(undefined, a.canvas.toDataURL())) : undefined ? Rt(a.canvas.toDataURL()) : Et(Rt(a.canvas.toDataURL()));
2004 | }
2005 | } else {
2006 | n = "PX12423";
2007 | }
2008 | } catch (e) {
2009 | n = "PX11474";
2010 | }
2011 | e(u({}, "PX11927", n));
2012 | }, 1);
2013 | });
2014 | }
2015 | ```
2016 |
2017 | ### PX11933
2018 | ```javascript
2019 | function Kn() {
2020 | try {
2021 | null[0];
2022 | } catch (t) {
2023 | return t.stack || "";
2024 | }
2025 | }
2026 |
2027 | u(n, "PX11933", !!Kn());
2028 | ```
2029 |
2030 | ### PX11934
2031 | ```javascript
2032 |
2033 | var yu = location && location.href || "";
2034 | u(n, "PX11934", yu);
2035 | ```
2036 |
2037 | ### PX11940
2038 | ```javascript
2039 | function zs(t, e) {
2040 | var r = Gi();
2041 | for (var a = 0; a < t.length; a++) {
2042 | var o = t[a];
2043 | o.d.PX11379 = ft;
2044 | if (r) {
2045 | o.d.PX12307 = r;
2046 | }
2047 | o.d.PX12615 = Kf && !!Kf;
2048 | o.d.PX12620 = Kf;
2049 | if (Rs) {
2050 | o.d.PX11375 = Rs;
2051 | }
2052 | var i = window._pxAction;
2053 | if (i) {
2054 | o.d.PX11668 = i;
2055 | o.d.PX12348 = window._pxMobile;
2056 | }
2057 | }
2058 | !function (t) {
2059 | var n = t[0];
2060 | var r = n && n.d;
2061 | if (r) {
2062 | r.PX11645 = yu;
2063 | }
2064 | }(t);
2065 | var u;
2066 | var f;
2067 | u = e[Fe];
2068 | f = e[Xe];
2069 | var h = function (t, e) {
2070 | var n = e ? undefined ? At(e, t) : Et(At(e, t)) : undefined ? Rt(t) : Et(Rt(t));
2071 | try {
2072 | var r = function (t) {
2073 | var e = "";
2074 | var n = "";
2075 | for (var r = 0; r < t.length; r++) {
2076 | var a = t.charCodeAt(r);
2077 | if (a >= 48 && a <= 57) {
2078 | e += t[r];
2079 | } else {
2080 | n += a % 10;
2081 | }
2082 | }
2083 | return e + n;
2084 | }(n);
2085 | var a = "";
2086 | for (var o = 0; o < r.length; o += 2) {
2087 | a += r[o];
2088 | }
2089 | return a;
2090 | } catch (t) {}
2091 | }(F(t), [Gr(), u, f].join(":"));
2092 | var l = {
2093 | vid: q,
2094 | tag: e[Fe],
2095 | appID: e[Me],
2096 | cu: Gr(),
2097 | cs: ha,
2098 | pc: h
2099 | };
2100 | var d = Nf(t, l);
2101 | var y = ["payload=" + d, "appId=" + e[Me], "tag=" + e[Fe], "uuid=" + Gr(), "ft=" + e[Xe], "seq=" + Js++, "en=NTA"];
2102 | var v = Lr;
2103 | if (v) {
2104 | y.push("xuuid=" + v);
2105 | }
2106 | if (ha) {
2107 | y.push("cs=" + ha);
2108 | }
2109 | if (h) {
2110 | y.push("pc=" + h);
2111 | }
2112 | var p = e[Le]();
2113 | var m = js(va);
2114 | if (p || m) {
2115 | y.push("sid=" + (p || Gr()) + m);
2116 | }
2117 | var g = e[We]();
2118 | if (g.length >= 0) {
2119 | y.push.apply(y, g);
2120 | }
2121 | if (q) {
2122 | y.push("vid=" + q);
2123 | }
2124 | if (_a) {
2125 | y.push("jsc=" + _a);
2126 | }
2127 | var B = Qi;
2128 | if (B) {
2129 | y.push("ci=" + B);
2130 | }
2131 | if (!(Kf && !!Kf)) {
2132 | if (!wa) {
2133 | wa = ar("_pxhd");
2134 | }
2135 | if (wa) {
2136 | y.push("pxhd=" + wa);
2137 | }
2138 | }
2139 | if (qr) {
2140 | y.push("cts=" + qr);
2141 | }
2142 | if (!ka) {
2143 | ka = ar("_pxac");
2144 | }
2145 | if (ka) {
2146 | y.push("pxac=" + ka);
2147 | }
2148 | return y;
2149 | }
2150 |
2151 | var n = zs([{
2152 | t: "PX11940",
2153 | d: {}
2154 | }], t).join("&");
2155 | ```
2156 |
2157 | ### PX11944
2158 | ```javascript
2159 | function Kn() {
2160 | try {
2161 | null[0];
2162 | } catch (t) {
2163 | return t.stack || "";
2164 | }
2165 | }
2166 |
2167 | function Ct(t) {
2168 | var e = [];
2169 | if (!t) {
2170 | return e;
2171 | }
2172 | var n;
2173 | var r = t.split("\n");
2174 | var a = null;
2175 | var u = 0;
2176 | for (var f = r.length; u < f; ++u) {
2177 | if (n = /^\s*at (.*?) ?\(?((?:file:\/\/|https?:\/\/|blob|chrome-extension|native|webpack:\/\/|eval|).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i.exec(r[u])) {
2178 | a = [n[2] && -1 !== n[2].indexOf("native") ? "" : n[2], n[1] || "?"];
2179 | } else if (n = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i.exec(r[u])) {
2180 | a = [n[2], n[1] || "?"];
2181 | } else {
2182 | if (!(n = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|\[native).*?)(?::(\d+))?(?::(\d+))?\s*$/i.exec(r[u]))) {
2183 | continue;
2184 | }
2185 | a = [n[3], n[1] || "?"];
2186 | }
2187 | e.push(a);
2188 | }
2189 | return e;
2190 | }
2191 |
2192 | var o = Kn();
2193 | var i = Ct(o);
2194 |
2195 | if (i.length > 0) {
2196 | var s = i[i.length - 1];
2197 | e.PX12240 = s[1] || "";
2198 | e.PX11944 = s[0] || "";
2199 | }
2200 | ```
2201 |
2202 | ### PX11948
2203 | ```javascript
2204 | {
2205 | name: "PX11948",
2206 | func: function () {
2207 | return window.devicePixelRatio;
2208 | },
2209 | defValue: ""
2210 | }
2211 | ```
2212 |
2213 | ### PX11949
2214 | ```javascript
2215 | u(e = {}, "PX11949", wc);
2216 | ```
2217 |
2218 | ### PX11951
2219 | ```javascript
2220 | lf("PX11951", u({}, "PX12228", F(t)));
2221 | ```
2222 |
2223 | ### PX11959
2224 | ```javascript
2225 | function It(t) {
2226 | t = "" + t;
2227 | var e = 0;
2228 | for (var n = 0; n < t.length; n++) {
2229 | e = (e << 5) - e + t.charCodeAt(n);
2230 | e |= 0;
2231 | }
2232 | return function (t) {
2233 | if ((t |= 0) < 0) {
2234 | t += 4294967296;
2235 | }
2236 | return t.toString(16);
2237 | }(e);
2238 | }
2239 |
2240 | function Tl(t) {
2241 | if (f(t) !== "undefined") {
2242 | return It(t);
2243 | }
2244 | }
2245 |
2246 | Lt(t, "PX11959", function () {
2247 | return Tl(Object.getOwnPropertyDescriptor);
2248 | }, "");
2249 | ```
2250 |
2251 | ### PX11976
2252 | ```javascript
2253 | function (e, n) {
2254 | if (e && e.length) {
2255 | var r = [];
2256 | for (var a = 0; a < e.length; a++) {
2257 | r.push(Zo(e[a]));
2258 | }
2259 | Oc("PX12027", u({}, "PX11976", r), true);
2260 | }
2261 | ```
2262 |
2263 | ### PX11978
2264 | ```javascript
2265 | case window._pxAction === "c":
2266 | t = "PX11978";
2267 | break;
2268 | ```
2269 |
2270 | ### PX11982
2271 | ```javascript
2272 | } catch (t) {
2273 | e.errors.push("PX11982");
2274 | }
2275 | ```
2276 |
2277 | ### PX11984
2278 | ```javascript
2279 | function Kn() {
2280 | try {
2281 | null[0];
2282 | } catch (t) {
2283 | return t.stack || "";
2284 | }
2285 | }
2286 |
2287 | function Vt(t) {
2288 | var e = t.split("\n");
2289 | return e.length > 20 ? e.slice(e.length - 20, e.length).join("\n") : t;
2290 | }
2291 |
2292 | u(n, "PX11984", Vt(Kn()));
2293 | ```
2294 |
2295 | ### PX11986
2296 | ```javascript
2297 | {
2298 | name: "PX11986",
2299 | func: function () {
2300 | return !!window.localStorage;
2301 | },
2302 | defValue: false
2303 | }
2304 | ```
2305 |
2306 | ### PX11987
2307 | ```javascript
2308 | function _o(t) {
2309 | var e = "undefined";
2310 | if (t && t.hasOwnProperty("isTrusted")) {
2311 | e = t.isTrusted && "false" !== t.isTrusted ? "true" : "false";
2312 | }
2313 | return e;
2314 | }
2315 |
2316 | u(e, "PX11987", _o(t));
2317 | ```
2318 |
2319 | ### * PX11993
2320 | ```javascript
2321 | {
2322 | name: "PX11993",
2323 | func: function () {
2324 | return va;
2325 | }
2326 | }
2327 | ```
2328 |
2329 | ### PX11994
2330 | ```javascript
2331 | function Yu(t) {
2332 | if (gu) {
2333 | var n;
2334 | gu = false;
2335 | if (Bu.length > 0 || Nu.length > 0 || Cu.length > 0) {
2336 | if (du) {
2337 | u(n = {}, "PX12040", Bu);
2338 | u(n, "PX12170", t);
2339 | u(n, "PX11934", yu);
2340 | u(n, "PX12160", Hu);
2341 | u(n, "PX11875", Gr());
2342 | u(n, "PX11844", bu);
2343 | u(n, "PX12465", Hi);
2344 | u(n, "PX11393", Nu.join("|"));
2345 | u(n, "PX12621", Cu.join("|"));
2346 | u(n, "PX12470", Ao);
2347 | u(n, "PX11747", Ou.length > 0 ? Ou : undefined);
2348 | u(n, "PX11698", Vu.length > 0 ? _t(Vu) : undefined);
2349 | u(n, "PX11433", _u.length > 0 ? _t(_u) : undefined);
2350 | u(n, "PX11679", document.body && document.body.offsetWidth + "x" + document.body.offsetHeight || "");
2351 | du("PX12419", n);
2352 | }
2353 | }
2354 | Ju(false);
2355 | }
2356 | }
2357 |
2358 | Yu("PX11994");
2359 | ```
2360 |
2361 | ### PX12002
2362 | ```javascript
2363 | Yu("PX12002");
2364 | ```
2365 |
2366 | ### PX12003
2367 | ```javascript
2368 | t.PX12003 = screen && +screen.pixelDepth || 0;
2369 | ```
2370 |
2371 | ### PX12013
2372 | ```javascript
2373 | function si(t) {
2374 | try {
2375 | var n = [document.getElementsByTagName("iframe"), document.getElementsByTagName("frame")];
2376 | for (var r = 0; r < n.length; r++) {
2377 | var a = n[r];
2378 | for (var o = 0; o < a.length; o++) {
2379 | var i = pi(a[o], qc);
2380 | if (-1 !== i) {
2381 | return void t("PX12013", i);
2382 | }
2383 | }
2384 | }
2385 | } catch (t) {}
2386 | }
2387 | ```
2388 |
2389 | ### PX12015
2390 | n / a
2391 |
2392 | ### PX12027
2393 | ```javascript
2394 | function (e, n) {
2395 | if (e && e.length) {
2396 | var r = [];
2397 | for (var a = 0; a < e.length; a++) {
2398 | r.push(Zo(e[a]));
2399 | }
2400 | Oc("PX12027", u({}, "PX11976", r), true);
2401 | }
2402 | ```
2403 |
2404 | ### PX12030
2405 | ```javascript
2406 | function Gd(t) {
2407 | var e;
2408 | if (Qd) {
2409 | var r = function (t) {
2410 | try {
2411 | if (!t || !t.isTrusted) {
2412 | return false;
2413 | }
2414 | var e = Io(t);
2415 | if (!e) {
2416 | return false;
2417 | }
2418 | var n = e.getClientRects();
2419 | var r = {
2420 | x: n[0].left + n[0].width / 2,
2421 | y: n[0].top + n[0].height / 2
2422 | };
2423 | var a = Math.abs(r.x - t.clientX);
2424 | var o = Math.abs(r.y - t.clientY);
2425 | if (a < 1 && o < 1) {
2426 | return {
2427 | centerX: a,
2428 | centerY: o
2429 | };
2430 | }
2431 | } catch (t) {}
2432 | return null;
2433 | }(t);
2434 | if (r) {
2435 | Yd++;
2436 | var a = Io(t);
2437 | var o = Zo(a);
2438 | var i = No(a);
2439 | u(e = {}, "PX11652", o);
2440 | u(e, "PX12305", r.centerX);
2441 | u(e, "PX11311", r.centerY);
2442 | u(e, "PX11427", i.top);
2443 | u(e, "PX12208", i.left);
2444 | u(e, "PX11824", a.offsetWidth);
2445 | u(e, "PX11631", a.offsetHeight);
2446 | u(e, "PX12129", Yd);
2447 | lf("PX12030", e);
2448 | if (5 <= Yd) {
2449 | Qd = false;
2450 | Wd(false);
2451 | }
2452 | }
2453 | }
2454 | }
2455 | ```
2456 |
2457 | ### PX12032
2458 | ```javascript
2459 | r.PX12032 = n.webGLVersion;
2460 | ```
2461 |
2462 | ### PX12037
2463 | ```javascript
2464 | t.PX12037 = !!(navigator.doNotTrack || null === navigator.doNotTrack || navigator.msDoNotTrack || window.doNotTrack);
2465 | ```
2466 |
2467 | ### PX12040
2468 | ```javascript
2469 | u(n = {}, "PX12040", Bu);
2470 | ```
2471 |
2472 | ### PX12051
2473 | ```javascript
2474 | _c(document, "getElementsByTagNameNS", "PX12051");
2475 | ```
2476 |
2477 | ### PX12072
2478 | ```javascript
2479 | function bo(t) {
2480 | var e = (window.performance && f(window.performance.now) === "function" ? window.performance.now() : +new Date()) - Ho[t];
2481 | Do[t] = Do[t] || {};
2482 | Do[t].s = Do[t].s ? Do[t].s + e : e;
2483 | Do[t].c = Do[t].c ? Do[t].c + 1 : 1;
2484 | return function (t) {
2485 | return t >= 0 ? parseInt(t) : undefined;
2486 | }(e);
2487 | }
2488 | u(e, "PX12072", bo(Uc));
2489 | ```
2490 |
2491 | ### PX12073
2492 | ```javascript
2493 | t.PX11460 = !!window.PX12073 || !!window.callPhantom;
2494 | ```
2495 |
2496 | ### PX12085
2497 | n / a
2498 |
2499 | ### PX12092
2500 | n / a
2501 |
2502 | ### PX12095
2503 | ```javascript
2504 | ```
2505 |
2506 | ### PX12099
2507 | ```javascript
2508 | ```
2509 |
2510 | ### PX12108
2511 | ```javascript
2512 | ```
2513 |
2514 | ### PX12109
2515 | ```javascript
2516 | ```
2517 |
2518 | ### PX12121
2519 | ```javascript
2520 | ```
2521 |
2522 | ### PX12123
2523 | ```javascript
2524 | ```
2525 |
2526 | ### PX12128
2527 | ```javascript
2528 | ```
2529 |
2530 | ### PX12129
2531 | ```javascript
2532 | ```
2533 |
2534 | ### PX12131
2535 | ```javascript
2536 | ```
2537 |
2538 | ### PX12132
2539 | ```javascript
2540 | ```
2541 |
2542 | ### PX12142
2543 | ```javascript
2544 | ```
2545 |
2546 | ### PX12149
2547 | ```javascript
2548 | ```
2549 |
2550 | ### PX12151
2551 | ```javascript
2552 | ```
2553 |
2554 | ### PX12155
2555 | ```javascript
2556 | ```
2557 |
2558 | ### PX12159
2559 | ```javascript
2560 | ```
2561 |
2562 | ### PX12160
2563 | ```javascript
2564 | ```
2565 |
2566 | ### PX12167
2567 | ```javascript
2568 | ```
2569 |
2570 | ### PX12170
2571 | ```javascript
2572 | ```
2573 |
2574 | ### PX12196
2575 | ```javascript
2576 | ```
2577 |
2578 | ### PX12203
2579 | ```javascript
2580 | ```
2581 |
2582 | ### PX12207
2583 | ```javascript
2584 | ```
2585 |
2586 | ### PX12208
2587 | ```javascript
2588 | ```
2589 |
2590 | ### PX12210
2591 | ```javascript
2592 | ```
2593 |
2594 | ### PX12228
2595 | ```javascript
2596 | ```
2597 |
2598 | ### PX12230
2599 | ```javascript
2600 | ```
2601 |
2602 | ### PX12236
2603 | ```javascript
2604 | ```
2605 |
2606 | ### PX12240
2607 | ```javascript
2608 | ```
2609 |
2610 | ### PX12242
2611 | ```javascript
2612 | ```
2613 |
2614 | ### PX12256
2615 | ```javascript
2616 | ```
2617 |
2618 | ### PX12264
2619 | ```javascript
2620 | ```
2621 |
2622 | ### PX12270
2623 | ```javascript
2624 | ```
2625 |
2626 | ### PX12271
2627 | ```javascript
2628 | ```
2629 |
2630 | ### PX12273
2631 | ```javascript
2632 | ```
2633 |
2634 | ### PX12288
2635 | ```javascript
2636 | ```
2637 |
2638 | ### PX12292
2639 | ```javascript
2640 | ```
2641 |
2642 | ### PX12298
2643 | ```javascript
2644 | ```
2645 |
2646 | ### PX12299
2647 | ```javascript
2648 | ```
2649 |
2650 | ### PX12303
2651 | ```javascript
2652 | ```
2653 |
2654 | ### PX12305
2655 | ```javascript
2656 | ```
2657 |
2658 | ### PX12312
2659 | ```javascript
2660 | ```
2661 |
2662 | ### PX12323
2663 | ```javascript
2664 | ```
2665 |
2666 | ### PX12331
2667 | ```javascript
2668 | ```
2669 |
2670 | ### PX12343
2671 | ```javascript
2672 | ```
2673 |
2674 | ### PX12347
2675 | ```javascript
2676 | ```
2677 |
2678 | ### PX12349
2679 | ```javascript
2680 | ```
2681 |
2682 | ### PX12352
2683 | ```javascript
2684 | ```
2685 |
2686 | ### PX12354
2687 | ```javascript
2688 | ```
2689 |
2690 | ### PX12362
2691 | ```javascript
2692 | ```
2693 |
2694 | ### PX12366
2695 | ```javascript
2696 | ```
2697 |
2698 | ### PX12387
2699 | ```javascript
2700 | ```
2701 |
2702 | ### PX12389
2703 | ```javascript
2704 | ```
2705 |
2706 | ### PX12401
2707 | ```javascript
2708 | ```
2709 |
2710 | ### PX12404
2711 | ```javascript
2712 | ```
2713 |
2714 | ### PX12414
2715 | ```javascript
2716 | ```
2717 |
2718 | ### PX12419
2719 | ```javascript
2720 | ```
2721 |
2722 | ### PX12423
2723 | ```javascript
2724 | ```
2725 |
2726 | ### PX12427
2727 | ```javascript
2728 | ```
2729 |
2730 | ### PX12429
2731 | ```javascript
2732 | ```
2733 |
2734 | ### PX12436
2735 | ```javascript
2736 | ```
2737 |
2738 | ### PX12439
2739 | ```javascript
2740 | ```
2741 |
2742 | ### PX12445
2743 | ```javascript
2744 | ```
2745 |
2746 | ### PX12446
2747 | ```javascript
2748 | ```
2749 |
2750 | ### PX12452
2751 | ```javascript
2752 | ```
2753 |
2754 | ### PX12456
2755 | ```javascript
2756 | ```
2757 |
2758 | ### PX12457
2759 | ```javascript
2760 | ```
2761 |
2762 | ### PX12458
2763 | ```javascript
2764 | ```
2765 |
2766 | ### PX12461
2767 | ```javascript
2768 | ```
2769 |
2770 | ### PX12464
2771 | ```javascript
2772 | ```
2773 |
2774 | ### PX12465
2775 | ```javascript
2776 | ```
2777 |
2778 | ### PX12469
2779 | ```javascript
2780 | ```
2781 |
2782 | ### PX12470
2783 | ```javascript
2784 | ```
2785 |
2786 | ### PX12483
2787 | ```javascript
2788 | ```
2789 |
2790 | ### PX12486
2791 | ```javascript
2792 | ```
2793 |
2794 | ### PX12492
2795 | ```javascript
2796 | ```
2797 |
2798 | ### PX12527
2799 | ```javascript
2800 | ```
2801 |
2802 | ### PX12540
2803 | ```javascript
2804 | ```
2805 |
2806 | ### PX12541
2807 | ```javascript
2808 | ```
2809 |
2810 | ### PX12542
2811 | ```javascript
2812 | ```
2813 |
2814 | ### PX12543
2815 | ```javascript
2816 | ```
2817 |
2818 | ### PX12570
2819 | ```javascript
2820 | ```
2821 |
2822 | ### PX12572
2823 | ```javascript
2824 | ```
2825 |
2826 | ### PX12586
2827 | ```javascript
2828 | ```
2829 |
2830 | ### PX12616
2831 | ```javascript
2832 | ```
2833 |
2834 | ### PX12617
2835 | ```javascript
2836 | ```
2837 |
2838 | ### PX12621
2839 | ```javascript
2840 | ```
2841 |
2842 | ### PX12635
2843 | ```javascript
2844 | ```
2845 |
2846 | ### PX561
2847 | ```javascript
2848 | ```
2849 |
2850 | ### PX645
2851 | ```javascript
2852 | ```
2853 |
--------------------------------------------------------------------------------