Overview

URLtxxx.tube/videos/11143639/get-fucked-in-the-darkroom-little-caprice-jolee-love-marcello-bravo/
IP 172.67.217.162 (United States)
ASN#13335 CLOUDFLARENET
UserAgentMozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Referer
Report completed2023-02-08 21:21:50 UTC
StatusLoading report..
IDS alerts2
Blocklist alert7
urlquery alerts No alerts detected
Tags None

Domain Summary (62)

Fully Qualifying Domain Name Rank First Seen Last Seen IP Comment
realtime.pa.highwebmedia.com (10) 24791 2021-01-21 22:18:59 UTC 2023-02-08 17:18:44 UTC 54.230.111.84
a.realsrv.com (1) 10080 2019-07-03 16:12:14 UTC 2023-02-08 17:20:12 UTC 185.76.9.21
tn.txxx.tube (2) 106247 2021-04-15 09:35:37 UTC 2023-02-08 07:02:53 UTC 45.133.44.25
js.wpadmngr.com (3) 25762 2021-06-02 14:43:46 UTC 2023-02-08 17:14:13 UTC 45.133.44.24
lcdn.tsyndicate.com (7) 12634 2020-03-31 14:26:34 UTC 2023-02-08 17:17:18 UTC 8.254.252.211
nereserv.com (1) 40015 2020-12-21 11:07:56 UTC 2023-02-08 17:17:29 UTC 94.130.198.6
2f5ca8af5f.caaaaaaaaa.com (4) 0 2023-02-08 13:16:35 UTC 2023-02-08 13:16:35 UTC 172.64.128.25 Unknown ranking
ocsp.sectigo.com (5) 487 2018-12-17 11:31:55 UTC 2023-02-08 13:34:18 UTC 172.64.155.188
btds.zog.link (10) 38469 2019-10-07 21:35:03 UTC 2023-02-08 17:17:29 UTC 109.206.175.85
img.vmmcdn.com (2) 36292 2019-11-26 10:59:17 UTC 2023-02-08 20:11:26 UTC 138.201.51.142
a726dc43cb.7d5b0654a6.com (2) 0 2023-02-08 01:59:28 UTC 2023-02-08 19:16:29 UTC 116.202.60.158 Unknown ranking
cbjpeg.stream.highwebmedia.com (21) 23619 2017-04-27 08:00:06 UTC 2023-02-08 17:27:47 UTC 131.153.88.95
js.cabnnr.com (1) 37463 2021-08-30 12:50:21 UTC 2023-02-08 19:16:29 UTC 45.133.44.24
ads.realsrv.com (1) 45400 2019-07-12 18:47:30 UTC 2023-02-08 13:45:41 UTC 185.76.9.21
content-signature-2.cdn.mozilla.net (1) 1152 2020-11-03 12:26:46 UTC 2023-02-08 04:10:22 UTC 34.160.144.191
preroll.hostave3.net (1) 96311 2018-02-22 21:32:02 UTC 2023-02-08 17:17:30 UTC 104.21.235.3
notification.tubecup.net (1) 8210 2018-07-09 16:06:19 UTC 2023-02-08 20:00:44 UTC 159.69.161.134
txxx.tube (2) 56201 2019-12-13 06:24:51 UTC 2023-02-08 09:06:20 UTC 172.67.217.162
hw-cdn2.ang-content.com (1) 165651 2019-03-25 22:41:04 UTC 2023-02-07 23:41:28 UTC 205.185.208.20
a.adtng.com (1) 15165 2018-07-26 19:17:41 UTC 2023-02-08 18:29:41 UTC 66.254.114.171
r3.o.lencr.org (34) 344 2020-12-02 08:52:13 UTC 2023-02-08 04:09:07 UTC 23.36.76.226
na.nawpush.com (1) 38563 2020-12-23 08:18:12 UTC 2023-02-08 20:09:08 UTC 45.133.44.24
fafeef7fc5.c58f1b26aa.com (2) 0 2023-02-05 03:31:50 UTC 2023-02-08 17:17:29 UTC 45.133.44.25 Unknown ranking
img-getpocket.cdn.mozilla.net (6) 1631 2017-09-01 03:40:57 UTC 2023-02-08 14:01:23 UTC 34.120.237.76
static.bookmsg.com (1) 47495 2020-11-24 14:56:32 UTC 2023-02-08 17:17:32 UTC 78.47.199.218
ocsp.pki.goog (9) 175 2017-06-14 07:23:31 UTC 2023-02-08 04:09:49 UTC 142.250.74.163
fonts.gstatic.com (2) 0 2014-04-02 10:51:04 UTC 2023-02-08 17:28:47 UTC 216.58.207.227 Domain (gstatic.com) ranked at: 540
s3t3d2y8.afcdn.net (5) 0 2022-08-08 22:22:56 UTC 2023-02-08 17:20:14 UTC 185.76.9.22 Unknown ranking
js.wpshsdk.com (4) 12130 2021-06-04 13:50:00 UTC 2023-02-08 17:17:29 UTC 45.133.44.25
imgdelnw.com (2) 0 2022-10-13 21:12:25 UTC 2023-02-08 20:11:25 UTC 157.90.94.146 Unknown ranking
firefox.settings.services.mozilla.com (2) 867 2020-05-25 20:06:39 UTC 2023-02-08 04:09:12 UTC 35.241.9.150
contile.services.mozilla.com (1) 1114 2021-05-27 18:32:35 UTC 2023-02-08 04:10:22 UTC 34.117.237.239
cdntocdn.com (2) 0 2023-01-12 08:24:35 UTC 2023-02-08 17:17:30 UTC 45.133.44.24 Unknown ranking
bam.nr-data.net (3) 630 2015-02-10 00:06:27 UTC 2023-02-08 04:22:41 UTC 162.247.243.29
syndication.realsrv.com (6) 9112 2019-07-03 21:39:52 UTC 2023-02-08 17:20:14 UTC 95.211.229.245
fp.metricswpsh.com (4) 0 2022-04-22 11:20:32 UTC 2023-02-08 17:17:29 UTC 157.90.84.242 Unknown ranking
static-assets.highwebmedia.com (14) 16059 2021-01-19 21:46:26 UTC 2023-02-08 17:17:32 UTC 104.16.93.42
push.services.mozilla.com (1) 2140 2014-10-24 08:27:06 UTC 2023-02-08 04:10:22 UTC 35.155.255.170
track.trackingtraffo.com (1) 0 2021-12-15 22:48:04 UTC 2023-02-08 01:56:45 UTC 88.214.206.175 Unknown ranking
rtbrennab.com (19) 0 2022-04-20 15:49:10 UTC 2023-02-08 17:17:30 UTC 159.69.163.6 Unknown ranking
pxl.tsyndicate.com (7) 14763 2017-07-05 13:51:06 UTC 2023-02-08 17:17:21 UTC 148.251.120.78
ocsp.globalsign.com (3) 2075 2012-05-25 06:20:55 UTC 2023-02-08 04:10:00 UTC 104.18.20.226
vast.yomeno.xyz (4) 44241 2019-12-12 11:10:55 UTC 2023-02-08 17:17:29 UTC 109.206.163.116
mc.yandex.ru (9) 2672 2012-05-21 09:38:30 UTC 2023-02-08 16:22:00 UTC 93.158.134.119
ads.exoclick.com (1) 32908 2012-11-29 00:05:16 UTC 2023-02-08 21:19:20 UTC 205.185.216.42
s.optnx.com (2) 20469 2020-03-25 00:41:59 UTC 2023-02-08 17:17:30 UTC 95.211.229.247
go.eabids.com (2) 58057 2021-03-12 14:49:46 UTC 2023-02-08 20:09:02 UTC 217.22.19.194
chaturbate.com (2) 6807 2012-05-22 23:11:36 UTC 2023-02-08 17:17:31 UTC 104.18.101.40
ocsp.digicert.com (7) 86 2012-05-21 07:02:23 UTC 2023-02-08 13:25:43 UTC 93.184.220.29
fonts.googleapis.com (1) 8877 2012-05-23 12:41:44 UTC 2023-02-08 08:39:06 UTC 142.250.74.138
sw.wpu.sh (2) 37327 2019-06-13 11:16:52 UTC 2023-02-08 17:17:30 UTC 45.133.44.25
12112336.pix-cdn.org (1) 18294 2018-08-23 11:18:44 UTC 2023-02-08 17:14:13 UTC 45.133.44.25
sw.wpu.sh (2) 37327 2019-06-13 11:16:52 UTC 2023-02-08 17:17:30 UTC 45.133.44.24
tsyndicate.com (3) 13042 2017-03-16 09:04:54 UTC 2023-02-08 17:17:19 UTC 46.4.114.55
12007250.pix-cdn.org (1) 56455 2017-09-27 14:40:52 UTC 2023-02-08 20:46:08 UTC 45.133.44.25
www.googletagmanager.com (2) 75 2012-10-04 01:07:32 UTC 2023-02-08 10:29:01 UTC 172.217.21.168
af4b7a0c7f.45136f1b12.com (3) 0 2023-02-08 13:17:06 UTC 2023-02-08 20:19:15 UTC 94.130.198.6 Unknown ranking
go.goaserv.com (1) 153365 2021-11-03 00:47:35 UTC 2023-02-08 18:29:41 UTC 217.22.19.196
js-agent.newrelic.com (9) 378 2017-01-30 05:00:15 UTC 2023-02-08 04:19:48 UTC 151.101.2.137
cdn.1vag.com (1) 48829 2021-02-10 15:12:50 UTC 2023-02-08 12:21:11 UTC 45.133.44.25
in16.zog.link (2) 76485 2018-07-31 21:03:54 UTC 2023-02-08 17:17:30 UTC 109.206.175.85
txxx.tube (2) 56201 2019-12-13 06:24:51 UTC 2023-02-08 09:06:20 UTC 104.21.75.91

Network Intrusion Detection Systemsinfo

Suricata /w Emerging Threats Pro
Timestamp Severity Source IP Destination IP Alert
2023-02-08 21:22:36 UTC 2  109.206.163.116 Client IP ET HUNTING Observed Let's Encrypt Certificate for Suspicious TLD (.xyz) 
2023-02-08 21:22:36 UTC 2  109.206.163.116 Client IP ET HUNTING Observed Let's Encrypt Certificate for Suspicious TLD (.xyz) 

Blocklists

OpenPhish
 No alerts detected

PhishTank
 No alerts detected

Fortinet's Web Filter
 No alerts detected

mnemonic secure dns
 No alerts detected

Quad9 DNS
Scan Date Severity Indicator Comment
2023-02-08 2 c58f1b26aa.com Sinkholed
2023-02-08 2 45136f1b12.com Sinkholed
2023-02-08 2 45136f1b12.com Sinkholed
2023-02-08 2 45136f1b12.com Sinkholed
2023-02-08 2 c58f1b26aa.com Sinkholed
2023-02-08 2 7d5b0654a6.com Sinkholed
2023-02-08 2 7d5b0654a6.com Sinkholed

ThreatFox
 No alerts detected


Files

No files detected

Recent reports on same IP/ASN/Domain/Screenshot

Last 5 reports on IP: 172.67.217.162
Date UQ / IDS / BL URL IP
2023-03-02 03:56:06 +0000 0 - 2 - 0 txxx.tube/videos/18052309/self-bondage-in-bed/ 172.67.217.162
2023-02-17 06:17:56 +0000 0 - 2 - 5 txxx.tube/videos/4341887/private-nude-catwalk (...) 172.67.217.162
2023-02-08 21:21:50 +0000 0 - 2 - 7 txxx.tube/videos/11143639/get-fucked-in-the-d (...) 172.67.217.162
2023-01-27 06:01:45 +0000 0 - 2 - 0 txxx.tube/ 172.67.217.162
2022-12-16 23:46:39 +0000 0 - 0 - 4 txxx.tube/videos/16709419/enough-to-make-my-s (...) 172.67.217.162


Last 5 reports on ASN: CLOUDFLARENET
Date UQ / IDS / BL URL IP
2023-03-28 09:41:56 +0000 0 - 1 - 0 pornzog.com/video/13998866/fix-your-fucking-m (...) 172.64.133.6
2023-03-28 09:41:40 +0000 0 - 0 - 0 pimevents.com 188.114.97.1
2023-03-28 09:40:39 +0000 0 - 5 - 0 joannewoods.com/emp/aa/login.php?cmd=login_su (...) 188.114.96.1
2023-03-28 09:36:46 +0000 0 - 0 - 4 ewui2e.schmilevitch.directory/H13h65zXz6/9a5X (...) 172.67.215.175
2023-03-28 09:35:46 +0000 0 - 0 - 8 dtauwa.machivautoss.cloud/O20YKJPXHvP0KYxp/Cp (...) 188.114.97.1


Last 5 reports on domain: txxx.tube
Date UQ / IDS / BL URL IP
2023-03-02 03:56:06 +0000 0 - 2 - 0 txxx.tube/videos/18052309/self-bondage-in-bed/ 172.67.217.162
2023-02-17 06:17:56 +0000 0 - 2 - 5 txxx.tube/videos/4341887/private-nude-catwalk (...) 172.67.217.162
2023-02-08 21:21:50 +0000 0 - 2 - 7 txxx.tube/videos/11143639/get-fucked-in-the-d (...) 172.67.217.162
2023-02-04 06:01:49 +0000 0 - 2 - 1 txxx.tube/ 104.21.75.91
2023-01-27 06:01:45 +0000 0 - 2 - 0 txxx.tube/ 172.67.217.162


No other reports with similar screenshot

JavaScript

Executed Scripts (91)

Executed Evals (1)
#1 JavaScript::Eval (size: 114563) - SHA256: 03d80528a54bae64a29c9c89df9f75bacb0fd85e703364db044ba0780b024aba
(() => {
        "use strict";
        var e = "2.42.0",
            t = Number("0");
        class n extends Error {
            constructor(e) {
                super(e)
            }
        }

        function r(e, t, n, r, i, o, s) {
            try {
                var a = e[o](s),
                    c = a.value
            } catch (e) {
                return void n(e)
            }
            a.done ? t(c) : Promise.resolve(c).then(r, i)
        }

        function i(e) {
            return function() {
                var t = this,
                    n = arguments;
                return new Promise((function(i, o) {
                    var s = e.apply(t, n);

                    function a(e) {
                        r(s, i, o, a, c, "next", e)
                    }

                    function c(e) {
                        r(s, i, o, a, c, "throw", e)
                    }
                    a(void 0)
                }))
            }
        }
        var o = (e, t) => new Promise((n => setTimeout(n.bind(null, t), e)));

        function s() {
            t && console.log(...arguments)
        }

        function a(e) {
            return c.apply(this, arguments)
        }

        function c() {
            return (c = i((function*(e) {
                var t =
                    yield fetch(e);
                if (!t.ok) throw new Error(t.statusText);
                if (204 === t.status) throw new n("non-purchase of the auction");
                return yield t.json()
            }))).apply(this, arguments)
        }

        function l(e) {
            return void 0 === e
        }
        const u = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : "undefined" != typeof window ? window : global,
            d = Object.keys,
            h = Array.isArray;

        function f(e, t) {
            return "object" != typeof t || d(t).forEach((function(n) {
                e[n] = t[n]
            })), e
        }
        "undefined" == typeof Promise || u.Promise || (u.Promise = Promise);
        const p = Object.getPrototypeOf,
            m = {}.hasOwnProperty;

        function y(e, t) {
            return m.call(e, t)
        }

        function v(e, t) {
            "function" == typeof t && (t = t(p(e))), ("undefined" == typeof Reflect ? d : Reflect.ownKeys)(t).forEach((n => {
                g(e, n, t[n])
            }))
        }
        const b = Object.defineProperty;

        function g(e, t, n, r) {
            b(e, t, f(n && y(n, "get") && "function" == typeof n.get ? {get: n.get,
                set: n.set,
                configurable: !0
            } : {
                value: n,
                configurable: !0,
                writable: !0
            }, r))
        }

        function _(e) {
            return {
                from: function(t) {
                    return e.prototype = Object.create(t.prototype), g(e.prototype, "constructor", e), {
                        extend: v.bind(null, e.prototype)
                    }
                }
            }
        }
        const w = Object.getOwnPropertyDescriptor;

        function k(e, t) {
            let n;
            return w(e, t) || (n = p(e)) && k(n, t)
        }
        const x = [].slice;

        function S(e, t, n) {
            return x.call(e, t, n)
        }

        function C(e, t) {
            return t(e)
        }

        function P(e) {
            if (!e) throw new Error("Assertion Failed")
        }

        function O(e) {
            u.setImmediate ? setImmediate(e) : setTimeout(e, 0)
        }

        function E(e, t) {
            return e.reduce(((e, n, r) => {
                var i = t(n, r);
                return i && (e[i[0]] = i[1]), e
            }), {})
        }

        function K(e, t) {
            if (y(e, t)) return e[t];
            if (!t) return e;
            if ("string" != typeof t) {
                for (var n = [], r = 0, i = t.length; r < i; ++r) {
                    var o = K(e, t[r]);
                    n.push(o)
                }
                return n
            }
            var s = t.indexOf(".");
            if (-1 !== s) {
                var a = e[t.substr(0, s)];
                return void 0 === a ? void 0 : K(a, t.substr(s + 1))
            }
        }

        function A(e, t, n) {
            if (e && void 0 !== t && (!("isFrozen" in Object) || !Object.isFrozen(e)))
                if ("string" != typeof t && "length" in t) {
                    P("string" != typeof n && "length" in n);
                    for (var r = 0, i = t.length; r < i; ++r) A(e, t[r], n[r])
                } else {
                    var o = t.indexOf(".");
                    if (-1 !== o) {
                        var s = t.substr(0, o),
                            a = t.substr(o + 1);
                        if ("" === a) void 0 === n ? h(e) && !isNaN(parseInt(s)) ? e.splice(s, 1) : delete e[s] : e[s] = n;
                        else {
                            var c = e[s];
                            c || (c = e[s] = {}), A(c, a, n)
                        }
                    } else void 0 === n ? h(e) && !isNaN(parseInt(t)) ? e.splice(t, 1) : delete e[t] : e[t] = n
                }
        }

        function I(e) {
            var t = {};
            for (var n in e) y(e, n) && (t[n] = e[n]);
            return t
        }
        const D = [].concat;

        function B(e) {
            return D.apply([], e)
        }
        const j = "Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(B([8, 16, 32, 64].map((e => ["Int", "Uint", "Float"].map((t => t + e + "Array")))))).filter((e => u[e])),
            T = j.map((e => u[e]));
        E(j, (e => [e, !0]));
        let M = null;

        function R(e) {
            M = "undefined" != typeof WeakMap && new WeakMap;
            const t = N(e);
            return M = null, t
        }

        function N(e) {
            if (!e || "object" != typeof e) return e;
            let t = M && M.get(e);
            if (t) return t;
            if (h(e)) {
                t = [], M && M.set(e, t);
                for (var n = 0, r = e.length; n < r; ++n) t.push(N(e[n]))
            } else if (T.indexOf(e.constructor) >= 0) t = e;
            else {
                const n = p(e);
                for (var i in t = n === Object.prototype ? {} : Object.create(n), M && M.set(e, t), e) y(e, i) && (t[i] = N(e[i]))
            }
            return t
        }
        const {
            toString: F
        } = {};

        function U(e) {
            return F.call(e).slice(8, -1)
        }
        const q = "undefined" != typeof Symbol ? Symbol.iterator : "@@iterator",
            L = "symbol" == typeof q ? function(e) {
                var t;
                return null != e && (t = e[q]) && t.apply(e)
            } : function() {
                return null
            },
            z = {};

        function G(e) {
            var t, n, r, i;
            if (1 === arguments.length) {
                if (h(e)) return e.slice();
                if (this === z && "string" == typeof e) return [e];
                if (i = L(e)) {
                    for (n = []; !(r = i.next()).done;) n.push(r.value);
                    return n
                }
                if (null == e) return [e];
                if ("number" == typeof(t = e.length)) {
                    for (n = new Array(t); t--;) n[t] = e[t];
                    return n
                }
                return [e]
            }
            for (t = arguments.length, n = new Array(t); t--;) n[t] = arguments[t];
            return n
        }
        const W = "undefined" != typeof Symbol ? e => "AsyncFunction" === e[Symbol.toStringTag] : () => !1;
        var V = "undefined" != typeof location && /^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);

        function Y(e, t) {
            V = e, Q = t
        }
        var Q = () => !0;
        const J = !new Error("").stack;

        function H() {
            if (J) try {
                throw H.arguments, new Error
            } catch (e) {
                return e
            }
            return new Error
        }

        function X(e, t) {
            var n = e.stack;
            return n ? (t = t || 0, 0 === n.indexOf(e.name) && (t += (e.name + e.message).split("\n").length), n.split("\n").slice(t).filter(Q).map((e => "\n" + e)).join("")) : ""
        }
        var Z = ["Unknown", "Constraint", "Data", "TransactionInactive", "ReadOnly", "Version", "NotFound", "InvalidState", "InvalidAccess", "Abort", "Timeout", "QuotaExceeded", "Syntax", "DataClone"],
            $ = ["Modify", "Bulk", "OpenFailed", "VersionChange", "Schema", "Upgrade", "InvalidTable", "MissingAPI", "NoSuchDatabase", "InvalidArgument", "SubTransaction", "Unsupported", "Internal", "DatabaseClosed", "PrematureCommit", "ForeignAwait"].concat(Z),
            ee = {
                VersionChanged: "Database version changed by other database connection",
                DatabaseClosed: "Database has been closed",
                Abort: "Transaction aborted",
                TransactionInactive: "Transaction has already completed or failed",
                MissingAPI: "IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb"
            };

        function te(e, t) {
            this._e = H(), this.name = e, this.message = t
        }

        function ne(e, t) {
            return e + ". Errors: " + Object.keys(t).map((e => t[e].toString())).filter(((e, t, n) => n.indexOf(e) === t)).join("\n")
        }

        function re(e, t, n, r) {
            this._e = H(), this.failures = t, this.failedKeys = r, this.successCount = n, this.message = ne(e, t)
        }

        function ie(e, t) {
            this._e = H(), this.name = "BulkError", this.failures = Object.keys(t).map((e => t[e])), this.failuresByPos = t, this.message = ne(e, t)
        }
        _(te).from(Error).extend({
            stack: {get: function() {
                    return this._stack || (this._stack = this.name + ": " + this.message + X(this._e, 2))
                }
            },
            toString: function() {
                return this.name + ": " + this.message
            }
        }), _(re).from(te), _(ie).from(te);
        var oe = $.reduce(((e, t) => (e[t] = t + "Error", e)), {});
        const se = te;
        var ae = $.reduce(((e, t) => {
            var n = t + "Error";

            function r(e, r) {
                this._e = H(), this.name = n, e ? "string" == typeof e ? (this.message = `${e}${r?"\n "+r:""}`, this.inner = r || null) : "object" == typeof e && (this.message = `${e.name} ${e.message}`, this.inner = e) : (this.message = ee[t] || n, this.inner = null)
            }
            return _(r).from(se), e[t] = r, e
        }), {});
        ae.Syntax = SyntaxError, ae.Type = TypeError, ae.Range = RangeError;
        var ce = Z.reduce(((e, t) => (e[t + "Error"] = ae[t], e)), {}),
            le = $.reduce(((e, t) => (-1 === ["Syntax", "Type", "Range"].indexOf(t) && (e[t + "Error"] = ae[t]), e)), {});

        function ue() {}

        function de(e) {
            return e
        }

        function he(e, t) {
            return null == e || e === de ? t : function(n) {
                return t(e(n))
            }
        }

        function fe(e, t) {
            return function() {
                e.apply(this, arguments), t.apply(this, arguments)
            }
        }

        function pe(e, t) {
            return e === ue ? t : function() {
                var n = e.apply(this, arguments);
                void 0 !== n && (arguments[0] = n);
                var r = this.onsuccess,
                    i = this.onerror;
                this.onsuccess = null, this.onerror = null;
                var o = t.apply(this, arguments);
                return r && (this.onsuccess = this.onsuccess ? fe(r, this.onsuccess) : r), i && (this.onerror = this.onerror ? fe(i, this.onerror) : i), void 0 !== o ? o : n
            }
        }

        function me(e, t) {
            return e === ue ? t : function() {
                e.apply(this, arguments);
                var n = this.onsuccess,
                    r = this.onerror;
                this.onsuccess = this.onerror = null, t.apply(this, arguments), n && (this.onsuccess = this.onsuccess ? fe(n, this.onsuccess) : n), r && (this.onerror = this.onerror ? fe(r, this.onerror) : r)
            }
        }

        function ye(e, t) {
            return e === ue ? t : function(n) {
                var r = e.apply(this, arguments);
                f(n, r);
                var i = this.onsuccess,
                    o = this.onerror;
                this.onsuccess = null, this.onerror = null;
                var s = t.apply(this, arguments);
                return i && (this.onsuccess = this.onsuccess ? fe(i, this.onsuccess) : i), o && (this.onerror = this.onerror ? fe(o, this.onerror) : o), void 0 === r ? void 0 === s ? void 0 : s : f(r, s)
            }
        }

        function ve(e, t) {
            return e === ue ? t : function() {
                return !1 !== t.apply(this, arguments) && e.apply(this, arguments)
            }
        }

        function be(e, t) {
            return e === ue ? t : function() {
                var n = e.apply(this, arguments);
                if (n && "function" == typeof n.then) {
                    for (var r = this, i = arguments.length, o = new Array(i); i--;) o[i] = arguments[i];
                    return n.then((function() {
                        return t.apply(r, o)
                    }))
                }
                return t.apply(this, arguments)
            }
        }
        le.ModifyError = re, le.DexieError = te, le.BulkError = ie;
        var ge = {};
        const [_e, we, ke] = "undefined" == typeof Promise ? [] : (() => {
            let e = Promise.resolve();
            if ("undefined" == typeof crypto || !crypto.subtle) return [e, p(e), e];
            const t = crypto.subtle.digest("SHA-512", new Uint8Array([0]));
            return [t, p(t), e]
        })(), xe = we && we.then, Se = _e && _e.constructor, Ce = !!ke;
        var Pe = !1,
            Oe = ke ? () => {
                ke.then(He)
            } : u.setImmediate ? setImmediate.bind(null, He) : u.MutationObserver ? () => {
                var e = document.createElement("div");
                new MutationObserver((() => {
                    He(), e = null
                })).observe(e, {
                    attributes: !0
                }), e.setAttribute("i", "1")
            } : () => {
                setTimeout(He, 0)
            },
            Ee = function(e, t) {
                Re.push([e, t]), Ae && (Oe(), Ae = !1)
            },
            Ke = !0,
            Ae = !0,
            Ie = [],
            De = [],
            Be = null,
            je = de,
            Te = {
                id: "global",
                global: !0,
                ref: 0,
                unhandleds: [],
                onunhandled: _t,
                pgp: !1,
                env: {},
                finalize: function() {
                    this.unhandleds.forEach((e => {
                        try {
                            _t(e[0], e[1])
                        } catch (e) {}
                    }))
                }
            },
            Me = Te,
            Re = [],
            Ne = 0,
            Fe = [];

        function Ue(e) {
            if ("object" != typeof this) throw new TypeError("Promises must be constructed via new");
            this._listeners = [], this.onuncatched = ue, this._lib = !1;
            var t = this._PSD = Me;
            if (V && (this._stackHolder = H(), this._prev = null, this._numPrev = 0), "function" != typeof e) {
                if (e !== ge) throw new TypeError("Not a function");
                return this._state = arguments[1], this._value = arguments[2], void(!1 === this._state && Ge(this, this._value))
            }
            this._state = null, this._value = null, ++t.ref, ze(this, e)
        }
        const qe = {get: function() {
                var e = Me,
                    t = st;

                function n(n, r) {
                    var i = !e.global && (e !== Me || t !== st);
                    const o = i && !ut();
                    var s = new Ue(((t, s) => {
                        Ve(this, new Le(bt(n, e, i, o), bt(r, e, i, o), t, s, e))
                    }));
                    return V && Je(s, this), s
                }
                return n.prototype = ge, n
            },
            set: function(e) {
                g(this, "then", e && e.prototype === ge ? qe : {get: function() {
                        return e
                    },
                    set: qe.set
                })
            }
        };

        function Le(e, t, n, r, i) {
            this.onFulfilled = "function" == typeof e ? e : null, this.onRejected = "function" == typeof t ? t : null, this.resolve = n, this.reject = r, this.psd = i
        }

        function ze(e, t) {
            try {
                t((t => {
                    if (null === e._state) {
                        if (t === e) throw new TypeError("A promise cannot be resolved with itself.");
                        var n = e._lib && Xe();
                        t && "function" == typeof t.then ? ze(e, ((e, n) => {
                            t instanceof Ue ? t._then(e, n) : t.then(e, n)
                        })) : (e._state = !0, e._value = t, We(e)), n && Ze()
                    }
                }), Ge.bind(null, e))
            } catch (t) {
                Ge(e, t)
            }
        }

        function Ge(e, t) {
            if (De.push(t), null === e._state) {
                var n = e._lib && Xe();
                t = je(t), e._state = !1, e._value = t, V && null !== t && "object" == typeof t && !t._promise && function(e, t, n) {
                        try {
                            e.apply(null, void 0)
                        } catch (e) {}
                    }((() => {
                        var n = k(t, "stack");
                        t._promise = e, g(t, "stack", {get: () => Pe ? n && (n.get ? n.get.apply(t) : n.value) : e.stack
                        })
                    })),
                    function(e) {
                        Ie.some((t => t._value === e._value)) || Ie.push(e)
                    }(e), We(e), n && Ze()
            }
        }

        function We(e) {
            var t = e._listeners;
            e._listeners = [];
            for (var n = 0, r = t.length; n < r; ++n) Ve(e, t[n]);
            var i = e._PSD;
            --i.ref || i.finalize(), 0 === Ne && (++Ne, Ee((() => {
                0 == --Ne && $e()
            }), []))
        }

        function Ve(e, t) {
            if (null !== e._state) {
                var n = e._state ? t.onFulfilled : t.onRejected;
                if (null === n) return (e._state ? t.resolve : t.reject)(e._value);
                ++t.psd.ref, ++Ne, Ee(Ye, [n, e, t])
            } else e._listeners.push(t)
        }

        function Ye(e, t, n) {
            try {
                Be = t;
                var r, i = t._value;
                t._state ? r = e(i) : (De.length && (De = []), r = e(i), -1 === De.indexOf(i) && function(e) {
                    for (var t = Ie.length; t;)
                        if (Ie[--t]._value === e._value) return void Ie.splice(t, 1)
                }(t)), n.resolve(r)
            } catch (e) {
                n.reject(e)
            } finally {
                Be = null, 0 == --Ne && $e(), --n.psd.ref || n.psd.finalize()
            }
        }

        function Qe(e, t, n) {
            if (t.length === n) return t;
            var r = "";
            if (!1 === e._state) {
                var i, o, s = e._value;
                null != s ? (i = s.name || "Error", o = s.message || s, r = X(s, 0)) : (i = s, o = ""), t.push(i + (o ? ": " + o : "") + r)
            }
            return V && ((r = X(e._stackHolder, 2)) && -1 === t.indexOf(r) && t.push(r), e._prev && Qe(e._prev, t, n)), t
        }

        function Je(e, t) {
            var n = t ? t._numPrev + 1 : 0;
            n < 100 && (e._prev = t, e._numPrev = n)
        }

        function He() {
            Xe() && Ze()
        }

        function Xe() {
            var e = Ke;
            return Ke = !1, Ae = !1, e
        }

        function Ze() {
            var e, t, n;
            do {
                for (; Re.length > 0;)
                    for (e = Re, Re = [], n = e.length, t = 0; t < n; ++t) {
                        var r = e[t];
                        r[0].apply(null, r[1])
                    }
            } while (Re.length > 0);
            Ke = !0, Ae = !0
        }

        function $e() {
            var e = Ie;
            Ie = [], e.forEach((e => {
                e._PSD.onunhandled.call(null, e._value, e)
            }));
            for (var t = Fe.slice(0), n = t.length; n;) t[--n]()
        }

        function et(e) {
            return new Ue(ge, !1, e)
        }

        function tt(e, t) {
            var n = Me;
            return function() {
                var r = Xe(),
                    i = Me;
                try {
                    return pt(n, !0), e.apply(this, arguments)
                } catch (e) {
                    t && t(e)
                } finally {
                    pt(i, !1), r && Ze()
                }
            }
        }
        v(Ue.prototype, {
            then: qe,
            _then: function(e, t) {
                Ve(this, new Le(null, null, e, t, Me))
            },
            catch: function(e) {
                if (1 === arguments.length) return this.then(null, e);
                var t = arguments[0],
                    n = arguments[1];
                return "function" == typeof t ? this.then(null, (e => e instanceof t ? n(e) : et(e))) : this.then(null, (e => e && e.name === t ? n(e) : et(e)))
            },
            finally: function(e) {
                return this.then((t => (e(), t)), (t => (e(), et(t))))
            },
            stack: {get: function() {
                    if (this._stack) return this._stack;
                    try {
                        Pe = !0;
                        var e = Qe(this, [], 20).join("\nFrom previous: ");
                        return null !== this._state && (this._stack = e), e
                    } finally {
                        Pe = !1
                    }
                }
            },
            timeout: function(e, t) {
                return e < 1 / 0 ? new Ue(((n, r) => {
                    var i = setTimeout((() => r(new ae.Timeout(t))), e);
                    this.then(n, r).finally(clearTimeout.bind(null, i))
                })) : this
            }
        }), "undefined" != typeof Symbol && Symbol.toStringTag && g(Ue.prototype, Symbol.toStringTag, "Dexie.Promise"), Te.env = mt(), v(Ue, {
            all: function() {
                var e = G.apply(null, arguments).map(dt);
                return new Ue((function(t, n) {
                    0 === e.length && t([]);
                    var r = e.length;
                    e.forEach(((i, o) => Ue.resolve(i).then((n => {
                        e[o] = n, --r || t(e)
                    }), n)))
                }))
            },
            resolve: e => {
                if (e instanceof Ue) return e;
                if (e && "function" == typeof e.then) return new Ue(((t, n) => {
                    e.then(t, n)
                }));
                var t = new Ue(ge, !0, e);
                return Je(t, Be), t
            },
            reject: et,
            race: function() {
                var e = G.apply(null, arguments).map(dt);
                return new Ue(((t, n) => {
                    e.map((e => Ue.resolve(e).then(t, n)))
                }))
            },
            PSD: {get: () => Me,
                set: e => Me = e
            },
            totalEchoes: {get: () => st
            },
            newPSD: ct,
            usePSD: yt,
            scheduler: {get: () => Ee,
                set: e => {
                    Ee = e
                }
            },
            rejectionMapper: {get: () => je,
                set: e => {
                    je = e
                }
            },
            follow: (e, t) => new Ue(((n, r) => ct(((t, n) => {
                var r = Me;
                r.unhandleds = [], r.onunhandled = n, r.finalize = fe((function() {
                    ! function(e) {
                        Fe.push((function t() {
                            e(), Fe.splice(Fe.indexOf(t), 1)
                        })), ++Ne, Ee((() => {
                            0 == --Ne && $e()
                        }), [])
                    }((() => {
                        0 === this.unhandleds.length ? t() : n(this.unhandleds[0])
                    }))
                }), r.finalize), e()
            }), t, n, r)))
        }), Se && (Se.allSettled && g(Ue, "allSettled", (function() {
            const e = G.apply(null, arguments).map(dt);
            return new Ue((t => {
                0 === e.length && t([]);
                let n = e.length;
                const r = new Array(n);
                e.forEach(((e, i) => Ue.resolve(e).then((e => r[i] = {
                    status: "fulfilled",
                    value: e
                }), (e => r[i] = {
                    status: "rejected",
                    reason: e
                })).then((() => --n || t(r)))))
            }))
        })), Se.any && "undefined" != typeof AggregateError && g(Ue, "any", (function() {
            const e = G.apply(null, arguments).map(dt);
            return new Ue(((t, n) => {
                0 === e.length && n(new AggregateError([]));
                let r = e.length;
                const i = new Array(r);
                e.forEach(((e, o) => Ue.resolve(e).then((e => t(e)), (e => {
                    i[o] = e, --r || n(new AggregateError(i))
                }))))
            }))
        })));
        const nt = {
            awaits: 0,
            echoes: 0,
            id: 0
        };
        var rt = 0,
            it = [],
            ot = 0,
            st = 0,
            at = 0;

        function ct(e, t, n, r) {
            var i = Me,
                o = Object.create(i);
            o.parent = i, o.ref = 0, o.global = !1, o.id = ++at;
            var s = Te.env;
            o.env = Ce ? {
                Promise: Ue,
                PromiseProp: {
                    value: Ue,
                    configurable: !0,
                    writable: !0
                },
                all: Ue.all,
                race: Ue.race,
                allSettled: Ue.allSettled,
                any: Ue.any,
                resolve: Ue.resolve,
                reject: Ue.reject,
                nthen: gt(s.nthen, o),
                gthen: gt(s.gthen, o)
            } : {}, t && f(o, t), ++i.ref, o.finalize = function() {
                --this.parent.ref || this.parent.finalize()
            };
            var a = yt(o, e, n, r);
            return 0 === o.ref && o.finalize(), a
        }

        function lt() {
            return nt.id || (nt.id = ++rt), ++nt.awaits, nt.echoes += 100, nt.id
        }

        function ut() {
            return !!nt.awaits && (0 == --nt.awaits && (nt.id = 0), nt.echoes = 100 * nt.awaits, !0)
        }

        function dt(e) {
            return nt.echoes && e && e.constructor === Se ? (lt(), e.then((e => (ut(), e)), (e => (ut(), wt(e))))) : e
        }

        function ht(e) {
            ++st, nt.echoes && 0 != --nt.echoes || (nt.echoes = nt.id = 0), it.push(Me), pt(e, !0)
        }

        function ft() {
            var e = it[it.length - 1];
            it.pop(), pt(e, !1)
        }

        function pt(e, t) {
            var n = Me;
            if ((t ? !nt.echoes || ot++ && e === Me : !ot || --ot && e === Me) || vt(t ? ht.bind(null, e) : ft), e !== Me && (Me = e, n === Te && (Te.env = mt()), Ce)) {
                var r = Te.env.Promise,
                    i = e.env;
                we.then = i.nthen, r.prototype.then = i.gthen, (n.global || e.global) && (Object.defineProperty(u, "Promise", i.PromiseProp), r.all = i.all, r.race = i.race, r.resolve = i.resolve, r.reject = i.reject, i.allSettled && (r.allSettled = i.allSettled), i.any && (r.any = i.any))
            }
        }

        function mt() {
            var e = u.Promise;
            return Ce ? {
                Promise: e,
                PromiseProp: Object.getOwnPropertyDescriptor(u, "Promise"),
                all: e.all,
                race: e.race,
                allSettled: e.allSettled,
                any: e.any,
                resolve: e.resolve,
                reject: e.reject,
                nthen: we.then,
                gthen: e.prototype.then
            } : {}
        }

        function yt(e, t, n, r, i) {
            var o = Me;
            try {
                return pt(e, !0), t(n, r, i)
            } finally {
                pt(o, !1)
            }
        }

        function vt(e) {
            xe.call(_e, e)
        }

        function bt(e, t, n, r) {
            return "function" != typeof e ? e : function() {
                var i = Me;
                n && lt(), pt(t, !0);
                try {
                    return e.apply(this, arguments)
                } finally {
                    pt(i, !1), r && vt(ut)
                }
            }
        }

        function gt(e, t) {
            return function(n, r) {
                return e.call(this, bt(n, t), bt(r, t))
            }
        }

        function _t(e, t) {
            var n;
            try {
                n = t.onuncatched(e)
            } catch (e) {}
            if (!1 !== n) try {
                var r, i = {
                    promise: t,
                    reason: e
                };
                if (u.document && document.createEvent ? ((r = document.createEvent("Event")).initEvent("unhandledrejection", !0, !0), f(r, i)) : u.CustomEvent && f(r = new CustomEvent("unhandledrejection", {
                        detail: i
                    }), i), r && u.dispatchEvent && (dispatchEvent(r), !u.PromiseRejectionEvent && u.onunhandledrejection)) try {
                    u.onunhandledrejection(r)
                } catch (e) {}
                V && r && !r.defaultPrevented && console.warn(`Unhandled rejection: ${e.stack||e}`)
            } catch (e) {}
        } - 1 === ("" + xe).indexOf("[native code]") && (lt = ut = ue);
        var wt = Ue.reject;

        function kt(e, t, n, r) {
            if (e.idbdb && (e._state.openComplete || Me.letThrough || e._vip)) {
                var i = e._createTransaction(t, n, e._dbSchema);
                try {
                    i.create(), e._state.PR1398_maxLoop = 3
                } catch (i) {
                    return i.name === oe.InvalidState && e.isOpen() && --e._state.PR1398_maxLoop > 0 ? (console.warn("Dexie: Need to reopen db"), e._close(), e.open().then((() => kt(e, t, n, r)))) : wt(i)
                }
                return i._promise(t, ((e, t) => ct((() => (Me.trans = i, r(e, t, i)))))).then((e => i._completion.then((() => e))))
            }
            if (e._state.openComplete) return wt(new ae.DatabaseClosed(e._state.dbOpenError));
            if (!e._state.isBeingOpened) {
                if (!e._options.autoOpen) return wt(new ae.DatabaseClosed);
                e.open().catch(ue)
            }
            return e._state.dbReadyPromise.then((() => kt(e, t, n, r)))
        }
        const xt = String.fromCharCode(65535),
            St = "Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",
            Ct = [],
            Pt = "undefined" != typeof navigator && /(MSIE|Trident|Edge)/.test(navigator.userAgent),
            Ot = Pt,
            Et = Pt,
            Kt = e => !/(dexie\.js|dexie\.min\.js)/.test(e);

        function At(e, t) {
            return e ? t ? function() {
                return e.apply(this, arguments) && t.apply(this, arguments)
            } : e : t
        }
        const It = {
            type: 3,
            lower: -1 / 0,
            lowerOpen: !1,
            upper: [
                []
            ],
            upperOpen: !1
        };

        function Dt(e) {
            return "string" != typeof e || /\./.test(e) ? e => e : t => (void 0 === t[e] && e in t && delete(t = R(t))[e], t)
        }
        class Bt {
            _trans(e, t, n) {
                const r = this._tx || Me.trans,
                    i = this.name;

                function o(e, n, r) {
                    if (!r.schema[i]) throw new ae.NotFound("Table " + i + " not part of transaction");
                    return t(r.idbtrans, r)
                }
                const s = Xe();
                try {
                    return r && r.db === this.db ? r === Me.trans ? r._promise(e, o, n) : ct((() => r._promise(e, o, n)), {
                        trans: r,
                        transless: Me.transless || Me
                    }) : kt(this.db, e, [this.name], o)
                } finally {
                    s && Ze()
                }
            }
            get(e, t) {
                return e && e.constructor === Object ? this.where(e).first(t) : this._trans("readonly", (t => this.core.get({
                    trans: t,
                    key: e
                }).then((e => this.hook.reading.fire(e))))).then(t)
            }
            where(e) {
                if ("string" == typeof e) return new this.db.WhereClause(this, e);
                if (h(e)) return new this.db.WhereClause(this, `[${e.join("+")}]`);
                const t = d(e);
                if (1 === t.length) return this.where(t[0]).equals(e[t[0]]);
                const n = this.schema.indexes.concat(this.schema.primKey).filter((e => e.compound && t.every((t => e.keyPath.indexOf(t) >= 0)) && e.keyPath.every((e => t.indexOf(e) >= 0))))[0];
                if (n && this.db._maxKey !== xt) return this.where(n.name).equals(n.keyPath.map((t => e[t])));
                !n && V && console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${t.join("+")}]`);
                const {
                    idxByName: r
                } = this.schema, i = this.db._deps.indexedDB;

                function o(e, t) {
                    try {
                        return 0 === i.cmp(e, t)
                    } catch (e) {
                        return !1
                    }
                }
                const [s, a] = t.reduce((([t, n], i) => {
                    const s = r[i],
                        a = e[i];
                    return [t || s, t || !s ? At(n, s && s.multi ? e => {
                        const t = K(e, i);
                        return h(t) && t.some((e => o(a, e)))
                    } : e => o(a, K(e, i))) : n]
                }), [null, null]);
                return s ? this.where(s.name).equals(e[s.keyPath]).filter(a) : n ? this.filter(a) : this.where(t).equals("")
            }
            filter(e) {
                return this.toCollection().and(e)
            }
            count(e) {
                return this.toCollection().count(e)
            }
            offset(e) {
                return this.toCollection().offset(e)
            }
            limit(e) {
                return this.toCollection().limit(e)
            }
            each(e) {
                return this.toCollection().each(e)
            }
            toArray(e) {
                return this.toCollection().toArray(e)
            }
            toCollection() {
                return new this.db.Collection(new this.db.WhereClause(this))
            }
            orderBy(e) {
                return new this.db.Collection(new this.db.WhereClause(this, h(e) ? `[${e.join("+")}]` : e))
            }
            reverse() {
                return this.toCollection().reverse()
            }
            mapToClass(e) {
                this.schema.mappedClass = e;
                const t = t => {
                    if (!t) return t;
                    const n = Object.create(e.prototype);
                    for (var r in t)
                        if (y(t, r)) try {
                            n[r] = t[r]
                        } catch (e) {}
                        return n
                };
                return this.schema.readHook && this.hook.reading.unsubscribe(this.schema.readHook), this.schema.readHook = t, this.hook("reading", t), e
            }
            defineClass() {
                return this.mapToClass((function(e) {
                    f(this, e)
                }))
            }
            add(e, t) {
                const {
                    auto: n,
                    keyPath: r
                } = this.schema.primKey;
                let i = e;
                return r && n && (i = Dt(r)(e)), this._trans("readwrite", (e => this.core.mutate({
                    trans: e,
                    type: "add",
                    keys: null != t ? [t] : null,
                    values: [i]
                }))).then((e => e.numFailures ? Ue.reject(e.failures[0]) : e.lastResult)).then((t => {
                    if (r) try {
                        A(e, r, t)
                    } catch (e) {}
                    return t
                }))
            }
            update(e, t) {
                if ("object" != typeof e || h(e)) return this.where(":id").equals(e).modify(t); {
                    const n = K(e, this.schema.primKey.keyPath);
                    if (void 0 === n) return wt(new ae.InvalidArgument("Given object does not contain its primary key"));
                    try {
                        "function" != typeof t ? d(t).forEach((n => {
                            A(e, n, t[n])
                        })) : t(e, {
                            value: e,
                            primKey: n
                        })
                    } catch (e) {}
                    return this.where(":id").equals(n).modify(t)
                }
            }
            put(e, t) {
                const {
                    auto: n,
                    keyPath: r
                } = this.schema.primKey;
                let i = e;
                return r && n && (i = Dt(r)(e)), this._trans("readwrite", (e => this.core.mutate({
                    trans: e,
                    type: "put",
                    values: [i],
                    keys: null != t ? [t] : null
                }))).then((e => e.numFailures ? Ue.reject(e.failures[0]) : e.lastResult)).then((t => {
                    if (r) try {
                        A(e, r, t)
                    } catch (e) {}
                    return t
                }))
            }
            delete(e) {
                return this._trans("readwrite", (t => this.core.mutate({
                    trans: t,
                    type: "delete",
                    keys: [e]
                }))).then((e => e.numFailures ? Ue.reject(e.failures[0]) : void 0))
            }
            clear() {
                return this._trans("readwrite", (e => this.core.mutate({
                    trans: e,
                    type: "deleteRange",
                    range: It
                }))).then((e => e.numFailures ? Ue.reject(e.failures[0]) : void 0))
            }
            bulkGet(e) {
                return this._trans("readonly", (t => this.core.getMany({
                    keys: e,
                    trans: t
                }).then((e => e.map((e => this.hook.reading.fire(e)))))))
            }
            bulkAdd(e, t, n) {
                const r = Array.isArray(t) ? t : void 0,
                    i = (n = n || (r ? void 0 : t)) ? n.allKeys : void 0;
                return this._trans("readwrite", (t => {
                    const {
                        auto: n,
                        keyPath: o
                    } = this.schema.primKey;
                    if (o && r) throw new ae.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");
                    if (r && r.length !== e.length) throw new ae.InvalidArgument("Arguments objects and keys must have the same length");
                    const s = e.length;
                    let a = o && n ? e.map(Dt(o)) : e;
                    return this.core.mutate({
                        trans: t,
                        type: "add",
                        keys: r,
                        values: a,
                        wantResults: i
                    }).then((({
                        numFailures: e,
                        results: t,
                        lastResult: n,
                        failures: r
                    }) => {
                        if (0 === e) return i ? t : n;
                        throw new ie(`${this.name}.bulkAdd(): ${e} of ${s} operations failed`, r)
                    }))
                }))
            }
            bulkPut(e, t, n) {
                const r = Array.isArray(t) ? t : void 0,
                    i = (n = n || (r ? void 0 : t)) ? n.allKeys : void 0;
                return this._trans("readwrite", (t => {
                    const {
                        auto: n,
                        keyPath: o
                    } = this.schema.primKey;
                    if (o && r) throw new ae.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");
                    if (r && r.length !== e.length) throw new ae.InvalidArgument("Arguments objects and keys must have the same length");
                    const s = e.length;
                    let a = o && n ? e.map(Dt(o)) : e;
                    return this.core.mutate({
                        trans: t,
                        type: "put",
                        keys: r,
                        values: a,
                        wantResults: i
                    }).then((({
                        numFailures: e,
                        results: t,
                        lastResult: n,
                        failures: r
                    }) => {
                        if (0 === e) return i ? t : n;
                        throw new ie(`${this.name}.bulkPut(): ${e} of ${s} operations failed`, r)
                    }))
                }))
            }
            bulkDelete(e) {
                const t = e.length;
                return this._trans("readwrite", (t => this.core.mutate({
                    trans: t,
                    type: "delete",
                    keys: e
                }))).then((({
                    numFailures: e,
                    lastResult: n,
                    failures: r
                }) => {
                    if (0 === e) return n;
                    throw new ie(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`, r)
                }))
            }
        }

        function jt(e) {
            var t = {},
                n = function(n, r) {
                    if (r) {
                        for (var i = arguments.length, o = new Array(i - 1); --i;) o[i - 1] = arguments[i];
                        return t[n].subscribe.apply(null, o), e
                    }
                    if ("string" == typeof n) return t[n]
                };
            n.addEventType = o;
            for (var r = 1, i = arguments.length; r < i; ++r) o(arguments[r]);
            return n;

            function o(e, r, i) {
                if ("object" == typeof e) return s(e);
                r || (r = ve), i || (i = ue);
                var o = {
                    subscribers: [],
                    fire: i,
                    subscribe: function(e) {
                        -1 === o.subscribers.indexOf(e) && (o.subscribers.push(e), o.fire = r(o.fire, e))
                    },
                    unsubscribe: function(e) {
                        o.subscribers = o.subscribers.filter((function(t) {
                            return t !== e
                        })), o.fire = o.subscribers.reduce(r, i)
                    }
                };
                return t[e] = n[e] = o, o
            }

            function s(e) {
                d(e).forEach((function(t) {
                    var n = e[t];
                    if (h(n)) o(t, e[t][0], e[t][1]);
                    else {
                        if ("asap" !== n) throw new ae.InvalidArgument("Invalid event config");
                        var r = o(t, de, (function() {
                            for (var e = arguments.length, t = new Array(e); e--;) t[e] = arguments[e];
                            r.subscribers.forEach((function(e) {
                                O((function() {
                                    e.apply(null, t)
                                }))
                            }))
                        }))
                    }
                }))
            }
        }

        function Tt(e, t) {
            return _(t).from({
                prototype: e
            }), t
        }

        function Mt(e, t) {
            return !(e.filter || e.algorithm || e.or) && (t ? e.justLimit : !e.replayFilter)
        }

        function Rt(e, t) {
            e.filter = At(e.filter, t)
        }

        function Nt(e, t, n) {
            var r = e.replayFilter;
            e.replayFilter = r ? () => At(r(), t()) : t, e.justLimit = n && !r
        }

        function Ft(e, t) {
            if (e.isPrimKey) return t.primaryKey;
            const n = t.getIndexByKeyPath(e.index);
            if (!n) throw new ae.Schema("KeyPath " + e.index + " on object store " + t.name + " is not indexed");
            return n
        }

        function Ut(e, t, n) {
            const r = Ft(e, t.schema);
            return t.openCursor({
                trans: n,
                values: !e.keysOnly,
                reverse: "prev" === e.dir,
                unique: !!e.unique,
                query: {
                    index: r,
                    range: e.range
                }
            })
        }

        function qt(e, t, n, r) {
            const i = e.replayFilter ? At(e.filter, e.replayFilter()) : e.filter;
            if (e.or) {
                const o = {},
                    s = (e, n, r) => {
                        if (!i || i(n, r, (e => n.stop(e)), (e => n.fail(e)))) {
                            var s = n.primaryKey,
                                a = "" + s;
                            "[object ArrayBuffer]" === a && (a = "" + new Uint8Array(s)), y(o, a) || (o[a] = !0, t(e, n, r))
                        }
                    };
                return Promise.all([e.or._iterate(s, n), Lt(Ut(e, r, n), e.algorithm, s, !e.keysOnly && e.valueMapper)])
            }
            return Lt(Ut(e, r, n), At(e.algorithm, i), t, !e.keysOnly && e.valueMapper)
        }

        function Lt(e, t, n, r) {
            var i = tt(r ? (e, t, i) => n(r(e), t, i) : n);
            return e.then((e => {
                if (e) return e.start((() => {
                    var n = () => e.continue();
                    t && !t(e, (e => n = e), (t => {
                        e.stop(t), n = ue
                    }), (t => {
                        e.fail(t), n = ue
                    })) || i(e.value, e, (e => n = e)), n()
                }))
            }))
        }

        function zt(e, t) {
            try {
                const n = Gt(e),
                    r = Gt(t);
                if (n !== r) return "Array" === n ? 1 : "Array" === r ? -1 : "binary" === n ? 1 : "binary" === r ? -1 : "string" === n ? 1 : "string" === r ? -1 : "Date" === n ? 1 : "Date" !== r ? NaN : -1;
                switch (n) {
                    case "number":
                    case "Date":
                    case "string":
                        return e > t ? 1 : e < t ? -1 : 0;
                    case "binary":
                        return function(e, t) {
                            const n = e.length,
                                r = t.length,
                                i = n < r ? n : r;
                            for (let n = 0; n < i; ++n)
                                if (e[n] !== t[n]) return e[n] < t[n] ? -1 : 1;
                            return n === r ? 0 : n < r ? -1 : 1
                        }(Wt(e), Wt(t));
                    case "Array":
                        return function(e, t) {
                            const n = e.length,
                                r = t.length,
                                i = n < r ? n : r;
                            for (let n = 0; n < i; ++n) {
                                const r = zt(e[n], t[n]);
                                if (0 !== r) return r
                            }
                            return n === r ? 0 : n < r ? -1 : 1
                        }(e, t)
                }
            } catch (e) {}
            return NaN
        }

        function Gt(e) {
            const t = typeof e;
            if ("object" !== t) return t;
            if (ArrayBuffer.isView(e)) return "binary";
            const n = U(e);
            return "ArrayBuffer" === n ? "binary" : n
        }

        function Wt(e) {
            return e instanceof Uint8Array ? e : ArrayBuffer.isView(e) ? new Uint8Array(e.buffer, e.byteOffset, e.byteLength) : new Uint8Array(e)
        }
        class Vt {
            _read(e, t) {
                var n = this._ctx;
                return n.error ? n.table._trans(null, wt.bind(null, n.error)) : n.table._trans("readonly", e).then(t)
            }
            _write(e) {
                var t = this._ctx;
                return t.error ? t.table._trans(null, wt.bind(null, t.error)) : t.table._trans("readwrite", e, "locked")
            }
            _addAlgorithm(e) {
                var t = this._ctx;
                t.algorithm = At(t.algorithm, e)
            }
            _iterate(e, t) {
                return qt(this._ctx, e, t, this._ctx.table.core)
            }
            clone(e) {
                var t = Object.create(this.constructor.prototype),
                    n = Object.create(this._ctx);
                return e && f(n, e), t._ctx = n, t
            }
            raw() {
                return this._ctx.valueMapper = null, this
            }
            each(e) {
                var t = this._ctx;
                return this._read((n => qt(t, e, n, t.table.core)))
            }
            count(e) {
                return this._read((e => {
                    const t = this._ctx,
                        n = t.table.core;
                    if (Mt(t, !0)) return n.count({
                        trans: e,
                        query: {
                            index: Ft(t, n.schema),
                            range: t.range
                        }
                    }).then((e => Math.min(e, t.limit)));
                    var r = 0;
                    return qt(t, (() => (++r, !1)), e, n).then((() => r))
                })).then(e)
            }
            sortBy(e, t) {
                const n = e.split(".").reverse(),
                    r = n[0],
                    i = n.length - 1;

                function o(e, t) {
                    return t ? o(e[n[t]], t - 1) : e[r]
                }
                var s = "next" === this._ctx.dir ? 1 : -1;

                function a(e, t) {
                    var n = o(e, i),
                        r = o(t, i);
                    return n < r ? -s : n > r ? s : 0
                }
                return this.toArray((function(e) {
                    return e.sort(a)
                })).then(t)
            }
            toArray(e) {
                return this._read((e => {
                    var t = this._ctx;
                    if ("next" === t.dir && Mt(t, !0) && t.limit > 0) {
                        const {
                            valueMapper: n
                        } = t, r = Ft(t, t.table.core.schema);
                        return t.table.core.query({
                            trans: e,
                            limit: t.limit,
                            values: !0,
                            query: {
                                index: r,
                                range: t.range
                            }
                        }).then((({
                            result: e
                        }) => n ? e.map(n) : e))
                    } {
                        const n = [];
                        return qt(t, (e => n.push(e)), e, t.table.core).then((() => n))
                    }
                }), e)
            }
            offset(e) {
                var t = this._ctx;
                return e <= 0 || (t.offset += e, Mt(t) ? Nt(t, (() => {
                    var t = e;
                    return (e, n) => 0 === t || (1 === t ? (--t, !1) : (n((() => {
                        e.advance(t), t = 0
                    })), !1))
                })) : Nt(t, (() => {
                    var t = e;
                    return () => --t < 0
                }))), this
            }
            limit(e) {
                return this._ctx.limit = Math.min(this._ctx.limit, e), Nt(this._ctx, (() => {
                    var t = e;
                    return function(e, n, r) {
                        return --t <= 0 && n(r), t >= 0
                    }
                }), !0), this
            }
            until(e, t) {
                return Rt(this._ctx, (function(n, r, i) {
                    return !e(n.value) || (r(i), t)
                })), this
            }
            first(e) {
                return this.limit(1).toArray((function(e) {
                    return e[0]
                })).then(e)
            }
            last(e) {
                return this.reverse().first(e)
            }
            filter(e) {
                var t, n;
                return Rt(this._ctx, (function(t) {
                    return e(t.value)
                })), t = this._ctx, n = e, t.isMatch = At(t.isMatch, n), this
            }
            and(e) {
                return this.filter(e)
            }
            or(e) {
                return new this.db.WhereClause(this._ctx.table, e, this)
            }
            reverse() {
                return this._ctx.dir = "prev" === this._ctx.dir ? "next" : "prev", this._ondirectionchange && this._ondirectionchange(this._ctx.dir), this
            }
            desc() {
                return this.reverse()
            }
            eachKey(e) {
                var t = this._ctx;
                return t.keysOnly = !t.isMatch, this.each((function(t, n) {
                    e(n.key, n)
                }))
            }
            eachUniqueKey(e) {
                return this._ctx.unique = "unique", this.eachKey(e)
            }
            eachPrimaryKey(e) {
                var t = this._ctx;
                return t.keysOnly = !t.isMatch, this.each((function(t, n) {
                    e(n.primaryKey, n)
                }))
            }
            keys(e) {
                var t = this._ctx;
                t.keysOnly = !t.isMatch;
                var n = [];
                return this.each((function(e, t) {
                    n.push(t.key)
                })).then((function() {
                    return n
                })).then(e)
            }
            primaryKeys(e) {
                var t = this._ctx;
                if ("next" === t.dir && Mt(t, !0) && t.limit > 0) return this._read((e => {
                    var n = Ft(t, t.table.core.schema);
                    return t.table.core.query({
                        trans: e,
                        values: !1,
                        limit: t.limit,
                        query: {
                            index: n,
                            range: t.range
                        }
                    })
                })).then((({
                    result: e
                }) => e)).then(e);
                t.keysOnly = !t.isMatch;
                var n = [];
                return this.each((function(e, t) {
                    n.push(t.primaryKey)
                })).then((function() {
                    return n
                })).then(e)
            }
            uniqueKeys(e) {
                return this._ctx.unique = "unique", this.keys(e)
            }
            firstKey(e) {
                return this.limit(1).keys((function(e) {
                    return e[0]
                })).then(e)
            }
            lastKey(e) {
                return this.reverse().firstKey(e)
            }
            distinct() {
                var e = this._ctx,
                    t = e.index && e.table.schema.idxByName[e.index];
                if (!t || !t.multi) return this;
                var n = {};
                return Rt(this._ctx, (function(e) {
                    var t = e.primaryKey.toString(),
                        r = y(n, t);
                    return n[t] = !0, !r
                })), this
            }
            modify(e) {
                var t = this._ctx;
                return this._write((n => {
                    var r;
                    if ("function" == typeof e) r = e;
                    else {
                        var i = d(e),
                            o = i.length;
                        r = function(t) {
                            for (var n = !1, r = 0; r < o; ++r) {
                                var s = i[r],
                                    a = e[s];
                                K(t, s) !== a && (A(t, s, a), n = !0)
                            }
                            return n
                        }
                    }
                    const s = t.table.core,
                        {
                            outbound: a,
                            extractKey: c
                        } = s.schema.primaryKey,
                        l = this.db._options.modifyChunkSize || 200,
                        u = [];
                    let h = 0;
                    const f = [],
                        p = (e, t) => {
                            const {
                                failures: n,
                                numFailures: r
                            } = t;
                            h += e - r;
                            for (let e of d(n)) u.push(n[e])
                        };
                    return this.clone().primaryKeys().then((i => {
                        const o = u => {
                            const d = Math.min(l, i.length - u);
                            return s.getMany({
                                trans: n,
                                keys: i.slice(u, u + d),
                                cache: "immutable"
                            }).then((h => {
                                const f = [],
                                    m = [],
                                    y = a ? [] : null,
                                    v = [];
                                for (let e = 0; e < d; ++e) {
                                    const t = h[e],
                                        n = {
                                            value: R(t),
                                            primKey: i[u + e]
                                        };
                                    !1 !== r.call(n, n.value, n) && (null == n.value ? v.push(i[u + e]) : a || 0 === zt(c(t), c(n.value)) ? (m.push(n.value), a && y.push(i[u + e])) : (v.push(i[u + e]), f.push(n.value)))
                                }
                                const b = Mt(t) && t.limit === 1 / 0 && ("function" != typeof e || e === Yt) && {
                                    index: t.index,
                                    range: t.range
                                };
                                return Promise.resolve(f.length > 0 && s.mutate({
                                    trans: n,
                                    type: "add",
                                    values: f
                                }).then((e => {
                                    for (let t in e.failures) v.splice(parseInt(t), 1);
                                    p(f.length, e)
                                }))).then((() => (m.length > 0 || b && "object" == typeof e) && s.mutate({
                                    trans: n,
                                    type: "put",
                                    keys: y,
                                    values: m,
                                    criteria: b,
                                    changeSpec: "function" != typeof e && e
                                }).then((e => p(m.length, e))))).then((() => (v.length > 0 || b && e === Yt) && s.mutate({
                                    trans: n,
                                    type: "delete",
                                    keys: v,
                                    criteria: b
                                }).then((e => p(v.length, e))))).then((() => i.length > u + d && o(u + l)))
                            }))
                        };
                        return o(0).then((() => {
                            if (u.length > 0) throw new re("Error modifying one or more objects", u, h, f);
                            return i.length
                        }))
                    }))
                }))
            }
            delete() {
                var e = this._ctx,
                    t = e.range;
                return Mt(e) && (e.isPrimKey && !Et || 3 === t.type) ? this._write((n => {
                    const {
                        primaryKey: r
                    } = e.table.core.schema, i = t;
                    return e.table.core.count({
                        trans: n,
                        query: {
                            index: r,
                            range: i
                        }
                    }).then((t => e.table.core.mutate({
                        trans: n,
                        type: "deleteRange",
                        range: i
                    }).then((({
                        failures: e,
                        lastResult: n,
                        results: r,
                        numFailures: i
                    }) => {
                        if (i) throw new re("Could not delete some values", Object.keys(e).map((t => e[t])), t - i);
                        return t - i
                    }))))
                })) : this.modify(Yt)
            }
        }
        const Yt = (e, t) => t.value = null;

        function Qt(e, t) {
            return e < t ? -1 : e === t ? 0 : 1
        }

        function Jt(e, t) {
            return e > t ? -1 : e === t ? 0 : 1
        }

        function Ht(e, t, n) {
            var r = e instanceof nn ? new e.Collection(e) : e;
            return r._ctx.error = n ? new n(t) : new TypeError(t), r
        }

        function Xt(e) {
            return new e.Collection(e, (() => tn(""))).limit(0)
        }

        function Zt(e, t, n, r, i, o) {
            for (var s = Math.min(e.length, r.length), a = -1, c = 0; c < s; ++c) {
                var l = t[c];
                if (l !== r[c]) return i(e[c], n[c]) < 0 ? e.substr(0, c) + n[c] + n.substr(c + 1) : i(e[c], r[c]) < 0 ? e.substr(0, c) + r[c] + n.substr(c + 1) : a >= 0 ? e.substr(0, a) + t[a] + n.substr(a + 1) : null;
                i(e[c], l) < 0 && (a = c)
            }
            return s < r.length && "next" === o ? e + n.substr(e.length) : s < e.length && "prev" === o ? e.substr(0, n.length) : a < 0 ? null : e.substr(0, a) + r[a] + n.substr(a + 1)
        }

        function $t(e, t, n, r) {
            var i, o, s, a, c, l, u, d = n.length;
            if (!n.every((e => "string" == typeof e))) return Ht(e, "String expected.");

            function h(e) {
                i = function(e) {
                    return "next" === e ? e => e.toUpperCase() : e => e.toLowerCase()
                }(e), o = function(e) {
                    return "next" === e ? e => e.toLowerCase() : e => e.toUpperCase()
                }(e), s = "next" === e ? Qt : Jt;
                var t = n.map((function(e) {
                    return {
                        lower: o(e),
                        upper: i(e)
                    }
                })).sort((function(e, t) {
                    return s(e.lower, t.lower)
                }));
                a = t.map((function(e) {
                    return e.upper
                })), c = t.map((function(e) {
                    return e.lower
                })), l = e, u = "next" === e ? "" : r
            }
            h("next");
            var f = new e.Collection(e, (() => en(a[0], c[d - 1] + r)));
            f._ondirectionchange = function(e) {
                h(e)
            };
            var p = 0;
            return f._addAlgorithm((function(e, n, r) {
                var i = e.key;
                if ("string" != typeof i) return !1;
                var h = o(i);
                if (t(h, c, p)) return !0;
                for (var f = null, m = p; m < d; ++m) {
                    var y = Zt(i, h, a[m], c[m], s, l);
                    null === y && null === f ? p = m + 1 : (null === f || s(f, y) > 0) && (f = y)
                }
                return n(null !== f ? function() {
                    e.continue(f + u)
                } : r), !1
            })), f
        }

        function en(e, t, n, r) {
            return {
                type: 2,
                lower: e,
                upper: t,
                lowerOpen: n,
                upperOpen: r
            }
        }

        function tn(e) {
            return {
                type: 1,
                lower: e,
                upper: e
            }
        }
        class nn {
            get Collection() {
                return this._ctx.table.db.Collection
            }
            between(e, t, n, r) {
                n = !1 !== n, r = !0 === r;
                try {
                    return this._cmp(e, t) > 0 || 0 === this._cmp(e, t) && (n || r) && (!n || !r) ? Xt(this) : new this.Collection(this, (() => en(e, t, !n, !r)))
                } catch (e) {
                    return Ht(this, St)
                }
            }
            equals(e) {
                return null == e ? Ht(this, St) : new this.Collection(this, (() => tn(e)))
            }
            above(e) {
                return null == e ? Ht(this, St) : new this.Collection(this, (() => en(e, void 0, !0)))
            }
            aboveOrEqual(e) {
                return null == e ? Ht(this, St) : new this.Collection(this, (() => en(e, void 0, !1)))
            }
            below(e) {
                return null == e ? Ht(this, St) : new this.Collection(this, (() => en(void 0, e, !1, !0)))
            }
            belowOrEqual(e) {
                return null == e ? Ht(this, St) : new this.Collection(this, (() => en(void 0, e)))
            }
            startsWith(e) {
                return "string" != typeof e ? Ht(this, "String expected.") : this.between(e, e + xt, !0, !0)
            }
            startsWithIgnoreCase(e) {
                return "" === e ? this.startsWith(e) : $t(this, ((e, t) => 0 === e.indexOf(t[0])), [e], xt)
            }
            equalsIgnoreCase(e) {
                return $t(this, ((e, t) => e === t[0]), [e], "")
            }
            anyOfIgnoreCase() {
                var e = G.apply(z, arguments);
                return 0 === e.length ? Xt(this) : $t(this, ((e, t) => -1 !== t.indexOf(e)), e, "")
            }
            startsWithAnyOfIgnoreCase() {
                var e = G.apply(z, arguments);
                return 0 === e.length ? Xt(this) : $t(this, ((e, t) => t.some((t => 0 === e.indexOf(t)))), e, xt)
            }
            anyOf() {
                const e = G.apply(z, arguments);
                let t = this._cmp;
                try {
                    e.sort(t)
                } catch (e) {
                    return Ht(this, St)
                }
                if (0 === e.length) return Xt(this);
                const n = new this.Collection(this, (() => en(e[0], e[e.length - 1])));
                n._ondirectionchange = n => {
                    t = "next" === n ? this._ascending : this._descending, e.sort(t)
                };
                let r = 0;
                return n._addAlgorithm(((n, i, o) => {
                    const s = n.key;
                    for (; t(s, e[r]) > 0;)
                        if (++r, r === e.length) return i(o), !1;
                    return 0 === t(s, e[r]) || (i((() => {
                        n.continue(e[r])
                    })), !1)
                })), n
            }
            notEqual(e) {
                return this.inAnyRange([
                    [-1 / 0, e],
                    [e, this.db._maxKey]
                ], {
                    includeLowers: !1,
                    includeUppers: !1
                })
            }
            noneOf() {
                const e = G.apply(z, arguments);
                if (0 === e.length) return new this.Collection(this);
                try {
                    e.sort(this._ascending)
                } catch (e) {
                    return Ht(this, St)
                }
                const t = e.reduce(((e, t) => e ? e.concat([
                    [e[e.length - 1][1], t]
                ]) : [
                    [-1 / 0, t]
                ]), null);
                return t.push([e[e.length - 1], this.db._maxKey]), this.inAnyRange(t, {
                    includeLowers: !1,
                    includeUppers: !1
                })
            }
            inAnyRange(e, t) {
                const n = this._cmp,
                    r = this._ascending,
                    i = this._descending,
                    o = this._min,
                    s = this._max;
                if (0 === e.length) return Xt(this);
                if (!e.every((e => void 0 !== e[0] && void 0 !== e[1] && r(e[0], e[1]) <= 0))) return Ht(this, "First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower", ae.InvalidArgument);
                const a = !t || !1 !== t.includeLowers,
                    c = t && !0 === t.includeUppers;
                let l, u = r;

                function d(e, t) {
                    return u(e[0], t[0])
                }
                try {
                    l = e.reduce((function(e, t) {
                        let r = 0,
                            i = e.length;
                        for (; r < i; ++r) {
                            const i = e[r];
                            if (n(t[0], i[1]) < 0 && n(t[1], i[0]) > 0) {
                                i[0] = o(i[0], t[0]), i[1] = s(i[1], t[1]);
                                break
                            }
                        }
                        return r === i && e.push(t), e
                    }), []), l.sort(d)
                } catch (e) {
                    return Ht(this, St)
                }
                let h = 0;
                const f = c ? e => r(e, l[h][1]) > 0 : e => r(e, l[h][1]) >= 0,
                    p = a ? e => i(e, l[h][0]) > 0 : e => i(e, l[h][0]) >= 0;
                let m = f;
                const y = new this.Collection(this, (() => en(l[0][0], l[l.length - 1][1], !a, !c)));
                return y._ondirectionchange = e => {
                    "next" === e ? (m = f, u = r) : (m = p, u = i), l.sort(d)
                }, y._addAlgorithm(((e, t, n) => {
                    for (var i = e.key; m(i);)
                        if (++h, h === l.length) return t(n), !1;
                    return !! function(e) {
                        return !f(e) && !p(e)
                    }(i) || (0 === this._cmp(i, l[h][1]) || 0 === this._cmp(i, l[h][0]) || t((() => {
                        u === r ? e.continue(l[h][0]) : e.continue(l[h][1])
                    })), !1)
                })), y
            }
            startsWithAnyOf() {
                const e = G.apply(z, arguments);
                return e.every((e => "string" == typeof e)) ? 0 === e.length ? Xt(this) : this.inAnyRange(e.map((e => [e, e + xt]))) : Ht(this, "startsWithAnyOf() only works with strings")
            }
        }

        function rn(e) {
            return tt((function(t) {
                return on(t), e(t.target.error), !1
            }))
        }

        function on(e) {
            e.stopPropagation && e.stopPropagation(), e.preventDefault && e.preventDefault()
        }
        const sn = jt(null, "storagemutated");
        class an {
            _lock() {
                return P(!Me.global), ++this._reculock, 1 !== this._reculock || Me.global || (Me.lockOwnerFor = this), this
            }
            _unlock() {
                if (P(!Me.global), 0 == --this._reculock)
                    for (Me.global || (Me.lockOwnerFor = null); this._blockedFuncs.length > 0 && !this._locked();) {
                        var e = this._blockedFuncs.shift();
                        try {
                            yt(e[1], e[0])
                        } catch (e) {}
                    }
                return this
            }
            _locked() {
                return this._reculock && Me.lockOwnerFor !== this
            }
            create(e) {
                if (!this.mode) return this;
                const t = this.db.idbdb,
                    n = this.db._state.dbOpenError;
                if (P(!this.idbtrans), !e && !t) switch (n && n.name) {
                    case "DatabaseClosedError":
                        throw new ae.DatabaseClosed(n);
                    case "MissingAPIError":
                        throw new ae.MissingAPI(n.message, n);
                    default:
                        throw new ae.OpenFailed(n)
                }
                if (!this.active) throw new ae.TransactionInactive;
                return P(null === this._completion._state), (e = this.idbtrans = e || (this.db.core ? this.db.core.transaction(this.storeNames, this.mode, {
                    durability: this.chromeTransactionDurability
                }) : t.transaction(this.storeNames, this.mode, {
                    durability: this.chromeTransactionDurability
                }))).onerror = tt((t => {
                    on(t), this._reject(e.error)
                })), e.onabort = tt((t => {
                    on(t), this.active && this._reject(new ae.Abort(e.error)), this.active = !1, this.on("abort").fire(t)
                })), e.oncomplete = tt((() => {
                    this.active = !1, this._resolve(), "mutatedParts" in e && sn.storagemutated.fire(e.mutatedParts)
                })), this
            }
            _promise(e, t, n) {
                if ("readwrite" === e && "readwrite" !== this.mode) return wt(new ae.ReadOnly("Transaction is readonly"));
                if (!this.active) return wt(new ae.TransactionInactive);
                if (this._locked()) return new Ue(((r, i) => {
                    this._blockedFuncs.push([() => {
                        this._promise(e, t, n).then(r, i)
                    }, Me])
                }));
                if (n) return ct((() => {
                    var e = new Ue(((e, n) => {
                        this._lock();
                        const r = t(e, n, this);
                        r && r.then && r.then(e, n)
                    }));
                    return e.finally((() => this._unlock())), e._lib = !0, e
                }));
                var r = new Ue(((e, n) => {
                    var r = t(e, n, this);
                    r && r.then && r.then(e, n)
                }));
                return r._lib = !0, r
            }
            _root() {
                return this.parent ? this.parent._root() : this
            }
            waitFor(e) {
                var t = this._root();
                const n = Ue.resolve(e);
                if (t._waitingFor) t._waitingFor = t._waitingFor.then((() => n));
                else {
                    t._waitingFor = n, t._waitingQueue = [];
                    var r = t.idbtrans.objectStore(t.storeNames[0]);
                    ! function e() {
                        for (++t._spinCount; t._waitingQueue.length;) t._waitingQueue.shift()();
                        t._waitingFor && (r.get(-1 / 0).onsuccess = e)
                    }()
                }
                var i = t._waitingFor;
                return new Ue(((e, r) => {
                    n.then((n => t._waitingQueue.push(tt(e.bind(null, n)))), (e => t._waitingQueue.push(tt(r.bind(null, e))))).finally((() => {
                        t._waitingFor === i && (t._waitingFor = null)
                    }))
                }))
            }
            abort() {
                this.active && (this.active = !1, this.idbtrans && this.idbtrans.abort(), this._reject(new ae.Abort))
            }
            table(e) {
                const t = this._memoizedTables || (this._memoizedTables = {});
                if (y(t, e)) return t[e];
                const n = this.schema[e];
                if (!n) throw new ae.NotFound("Table " + e + " not part of transaction");
                const r = new this.db.Table(e, n, this);
                return r.core = this.db.core.table(e), t[e] = r, r
            }
        }

        function cn(e, t, n, r, i, o, s) {
            return {
                name: e,
                keyPath: t,
                unique: n,
                multi: r,
                auto: i,
                compound: o,
                src: (n && !s ? "&" : "") + (r ? "*" : "") + (i ? "++" : "") + ln(t)
            }
        }

        function ln(e) {
            return "string" == typeof e ? e : e ? "[" + [].join.call(e, "+") + "]" : ""
        }

        function un(e, t, n) {
            return {
                name: e,
                primKey: t,
                indexes: n,
                mappedClass: null,
                idxByName: E(n, (e => [e.name, e]))
            }
        }
        let dn = e => {
            try {
                return e.only([
                    []
                ]), dn = () => [
                    []
                ], [
                    []
                ]
            } catch (e) {
                return dn = () => xt, xt
            }
        };

        function hn(e) {
            return null == e ? () => {} : "string" == typeof e ? function(e) {
                return 1 === e.split(".").length ? t => t[e] : t => K(t, e)
            }(e) : t => K(t, e)
        }

        function fn(e) {
            return [].slice.call(e)
        }
        let pn = 0;

        function mn(e) {
            return null == e ? ":id" : "string" == typeof e ? e : `[${e.join("+")}]`
        }

        function yn(e, t, n) {
            function r(e) {
                if (3 === e.type) return null;
                if (4 === e.type) throw new Error("Cannot convert never type to IDBKeyRange");
                const {
                    lower: n,
                    upper: r,
                    lowerOpen: i,
                    upperOpen: o
                } = e;
                return void 0 === n ? void 0 === r ? null : t.upperBound(r, !!o) : void 0 === r ? t.lowerBound(n, !!i) : t.bound(n, r, !!i, !!o)
            }
            const {
                schema: i,
                hasGetAll: o
            } = function(e, t) {
                const n = fn(e.objectStoreNames);
                return {
                    schema: {
                        name: e.name,
                        tables: n.map((e => t.objectStore(e))).map((e => {
                            const {
                                keyPath: t,
                                autoIncrement: n
                            } = e, r = h(t), i = null == t, o = {}, s = {
                                name: e.name,
                                primaryKey: {
                                    name: null,
                                    isPrimaryKey: !0,
                                    outbound: i,
                                    compound: r,
                                    keyPath: t,
                                    autoIncrement: n,
                                    unique: !0,
                                    extractKey: hn(t)
                                },
                                indexes: fn(e.indexNames).map((t => e.index(t))).map((e => {
                                    const {
                                        name: t,
                                        unique: n,
                                        multiEntry: r,
                                        keyPath: i
                                    } = e, s = {
                                        name: t,
                                        compound: h(i),
                                        keyPath: i,
                                        unique: n,
                                        multiEntry: r,
                                        extractKey: hn(i)
                                    };
                                    return o[mn(i)] = s, s
                                })),
                                getIndexByKeyPath: e => o[mn(e)]
                            };
                            return o[":id"] = s.primaryKey, null != t && (o[mn(t)] = s.primaryKey), s
                        }))
                    },
                    hasGetAll: n.length > 0 && "getAll" in t.objectStore(n[0]) && !("undefined" != typeof navigator && /Safari/.test(navigator.userAgent) && !/(Chrome\/|Edge\/)/.test(navigator.userAgent) && [].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1] < 604)
                }
            }(e, n), s = i.tables.map((e => function(e) {
                const t = e.name;
                return {
                    name: t,
                    schema: e,
                    mutate: function({
                        trans: e,
                        type: n,
                        keys: i,
                        values: o,
                        range: s
                    }) {
                        return new Promise(((a, c) => {
                            a = tt(a);
                            const l = e.objectStore(t),
                                u = null == l.keyPath,
                                d = "put" === n || "add" === n;
                            if (!d && "delete" !== n && "deleteRange" !== n) throw new Error("Invalid operation type: " + n);
                            const {
                                length: h
                            } = i || o || {
                                length: 1
                            };
                            if (i && o && i.length !== o.length) throw new Error("Given keys array must have same length as given values array.");
                            if (0 === h) return a({
                                numFailures: 0,
                                failures: {},
                                results: [],
                                lastResult: void 0
                            });
                            let f;
                            const p = [],
                                m = [];
                            let y = 0;
                            const v = e => {
                                ++y, on(e)
                            };
                            if ("deleteRange" === n) {
                                if (4 === s.type) return a({
                                    numFailures: y,
                                    failures: m,
                                    results: [],
                                    lastResult: void 0
                                });
                                3 === s.type ? p.push(f = l.clear()) : p.push(f = l.delete(r(s)))
                            } else {
                                const [e, t] = d ? u ? [o, i] : [o, null] : [i, null];
                                if (d)
                                    for (let r = 0; r < h; ++r) p.push(f = t && void 0 !== t[r] ? l[n](e[r], t[r]) : l[n](e[r])), f.onerror = v;
                                else
                                    for (let t = 0; t < h; ++t) p.push(f = l[n](e[t])), f.onerror = v
                            }
                            const b = e => {
                                const t = e.target.result;
                                p.forEach(((e, t) => null != e.error && (m[t] = e.error))), a({
                                    numFailures: y,
                                    failures: m,
                                    results: "delete" === n ? i : p.map((e => e.result)),
                                    lastResult: t
                                })
                            };
                            f.onerror = e => {
                                v(e), b(e)
                            }, f.onsuccess = b
                        }))
                    },
                    getMany: ({
                        trans: e,
                        keys: n
                    }) => new Promise(((r, i) => {
                        r = tt(r);
                        const o = e.objectStore(t),
                            s = n.length,
                            a = new Array(s);
                        let c, l = 0,
                            u = 0;
                        const d = e => {
                                const t = e.target;
                                a[t._pos] = t.result, ++u === l && r(a)
                            },
                            h = rn(i);
                        for (let e = 0; e < s; ++e) null != n[e] && (c = o.get(n[e]), c._pos = e, c.onsuccess = d, c.onerror = h, ++l);
                        0 === l && r(a)
                    })),
                    get: ({
                        trans: e,
                        key: n
                    }) => new Promise(((r, i) => {
                        r = tt(r);
                        const o = e.objectStore(t).get(n);
                        o.onsuccess = e => r(e.target.result), o.onerror = rn(i)
                    })),
                    query: function(e) {
                        return n => new Promise(((i, o) => {
                            i = tt(i);
                            const {
                                trans: s,
                                values: a,
                                limit: c,
                                query: l
                            } = n, u = c === 1 / 0 ? void 0 : c, {
                                index: d,
                                range: h
                            } = l, f = s.objectStore(t), p = d.isPrimaryKey ? f : f.index(d.name), m = r(h);
                            if (0 === c) return i({
                                result: []
                            });
                            if (e) {
                                const e = a ? p.getAll(m, u) : p.getAllKeys(m, u);
                                e.onsuccess = e => i({
                                    result: e.target.result
                                }), e.onerror = rn(o)
                            } else {
                                let e = 0;
                                const t = a || !("openKeyCursor" in p) ? p.openCursor(m) : p.openKeyCursor(m),
                                    n = [];
                                t.onsuccess = r => {
                                    const o = t.result;
                                    return o ? (n.push(a ? o.value : o.primaryKey), ++e === c ? i({
                                        result: n
                                    }) : void o.continue()) : i({
                                        result: n
                                    })
                                }, t.onerror = rn(o)
                            }
                        }))
                    }(o),
                    openCursor: function({
                        trans: e,
                        values: n,
                        query: i,
                        reverse: o,
                        unique: s
                    }) {
                        return new Promise(((a, c) => {
                            a = tt(a);
                            const {
                                index: l,
                                range: u
                            } = i, d = e.objectStore(t), h = l.isPrimaryKey ? d : d.index(l.name), f = o ? s ? "prevunique" : "prev" : s ? "nextunique" : "next", p = n || !("openKeyCursor" in h) ? h.openCursor(r(u), f) : h.openKeyCursor(r(u), f);
                            p.onerror = rn(c), p.onsuccess = tt((t => {
                                const n = p.result;
                                if (!n) return void a(null);
                                n.___id = ++pn, n.done = !1;
                                const r = n.continue.bind(n);
                                let i = n.continuePrimaryKey;
                                i && (i = i.bind(n));
                                const o = n.advance.bind(n),
                                    s = () => {
                                        throw new Error("Cursor not stopped")
                                    };
                                n.trans = e, n.stop = n.continue = n.continuePrimaryKey = n.advance = () => {
                                    throw new Error("Cursor not started")
                                }, n.fail = tt(c), n.next = function() {
                                    let e = 1;
                                    return this.start((() => e-- ? this.continue() : this.stop())).then((() => this))
                                }, n.start = e => {
                                    const t = new Promise(((e, t) => {
                                            e = tt(e), p.onerror = rn(t), n.fail = t, n.stop = t => {
                                                n.stop = n.continue = n.continuePrimaryKey = n.advance = s, e(t)
                                            }
                                        })),
                                        a = () => {
                                            if (p.result) try {
                                                e()
                                            } catch (e) {
                                                n.fail(e)
                                            } else n.done = !0, n.start = () => {
                                                throw new Error("Cursor behind last entry")
                                            }, n.stop()
                                        };
                                    return p.onsuccess = tt((e => {
                                        p.onsuccess = a, a()
                                    })), n.continue = r, n.continuePrimaryKey = i, n.advance = o, a(), t
                                }, a(n)
                            }), c)
                        }))
                    },
                    count({
                        query: e,
                        trans: n
                    }) {
                        const {
                            index: i,
                            range: o
                        } = e;
                        return new Promise(((e, s) => {
                            const a = n.objectStore(t),
                                c = i.isPrimaryKey ? a : a.index(i.name),
                                l = r(o),
                                u = l ? c.count(l) : c.count();
                            u.onsuccess = tt((t => e(t.target.result))), u.onerror = rn(s)
                        }))
                    }
                }
            }(e))), a = {};
            return s.forEach((e => a[e.name] = e)), {
                stack: "dbcore",
                transaction: e.transaction.bind(e),
                table(e) {
                    if (!a[e]) throw new Error(`Table '${e}' not found`);
                    return a[e]
                },
                MIN_KEY: -1 / 0,
                MAX_KEY: dn(t),
                schema: i
            }
        }

        function vn({
            _novip: e
        }, t) {
            const n = t.db,
                r = function(e, t, {
                    IDBKeyRange: n,
                    indexedDB: r
                }, i) {
                    const o = function(e, t) {
                        return t.reduce(((e, {
                            create: t
                        }) => ({...e, ...t(e)
                        })), e)
                    }(yn(t, n, i), e.dbcore);
                    return {
                        dbcore: o
                    }
                }(e._middlewares, n, e._deps, t);
            e.core = r.dbcore, e.tables.forEach((t => {
                const n = t.name;
                e.core.schema.tables.some((e => e.name === n)) && (t.core = e.core.table(n), e[n] instanceof e.Table && (e[n].core = t.core))
            }))
        }

        function bn({
            _novip: e
        }, t, n, r) {
            n.forEach((n => {
                const i = r[n];
                t.forEach((t => {
                    const r = k(t, n);
                    (!r || "value" in r && void 0 === r.value) && (t === e.Transaction.prototype || t instanceof e.Transaction ? g(t, n, {
                        get() {
                            return this.table(n)
                        }, set(e) {
                            b(this, n, {
                                value: e,
                                writable: !0,
                                configurable: !0,
                                enumerable: !0
                            })
                        }
                    }) : t[n] = new e.Table(n, i))
                }))
            }))
        }

        function gn({
            _novip: e
        }, t) {
            t.forEach((t => {
                for (let n in t) t[n] instanceof e.Table && delete t[n]
            }))
        }

        function _n(e, t) {
            return e._cfg.version - t._cfg.version
        }

        function wn(e, t, n, r) {
            const i = e._dbSchema,
                o = e._createTransaction("readwrite", e._storeNames, i);
            o.create(n), o._completion.catch(r);
            const s = o._reject.bind(o),
                a = Me.transless || Me;
            ct((() => {
                Me.trans = o, Me.transless = a, 0 === t ? (d(i).forEach((e => {
                    xn(n, e, i[e].primKey, i[e].indexes)
                })), vn(e, n), Ue.follow((() => e.on.populate.fire(o))).catch(s)) : function({
                    _novip: e
                }, t, n, r) {
                    const i = [],
                        o = e._versions;
                    let s = e._dbSchema = Cn(e, e.idbdb, r),
                        a = !1;
                    return o.filter((e => e._cfg.version >= t)).forEach((o => {
                            i.push((() => {
                                const i = s,
                                    c = o._cfg.dbschema;
                                Pn(e, i, r), Pn(e, c, r), s = e._dbSchema = c;
                                const l = kn(i, c);
                                l.add.forEach((e => {
                                    xn(r, e[0], e[1].primKey, e[1].indexes)
                                })), l.change.forEach((e => {
                                    if (e.recreate) throw new ae.Upgrade("Not yet support for changing primary key"); {
                                        const t = r.objectStore(e.name);
                                        e.add.forEach((e => Sn(t, e))), e.change.forEach((e => {
                                            t.deleteIndex(e.name), Sn(t, e)
                                        })), e.del.forEach((e => t.deleteIndex(e)))
                                    }
                                }));
                                const u = o._cfg.contentUpgrade;
                                if (u && o._cfg.version > t) {
                                    vn(e, r), n._memoizedTables = {}, a = !0;
                                    let t = I(c);
                                    l.del.forEach((e => {
                                        t[e] = i[e]
                                    })), gn(e, [e.Transaction.prototype]), bn(e, [e.Transaction.prototype], d(t), t), n.schema = t;
                                    const o = W(u);
                                    let s;
                                    o && lt();
                                    const h = Ue.follow((() => {
                                        if (s = u(n), s && o) {
                                            var e = ut.bind(null, null);
                                            s.then(e, e)
                                        }
                                    }));
                                    return s && "function" == typeof s.then ? Ue.resolve(s) : h.then((() => s))
                                }
                            })), i.push((t => {
                                a && Ot || function(e, t) {
                                    [].slice.call(t.db.objectStoreNames).forEach((n => null == e[n] && t.db.deleteObjectStore(n)))
                                }(o._cfg.dbschema, t), gn(e, [e.Transaction.prototype]), bn(e, [e.Transaction.prototype], e._storeNames, e._dbSchema), n.schema = e._dbSchema
                            }))
                        })),
                        function e() {
                            return i.length ? Ue.resolve(i.shift()(n.idbtrans)).then(e) : Ue.resolve()
                        }().then((() => {
                            var e, t;
                            t = r, d(e = s).forEach((n => {
                                t.db.objectStoreNames.contains(n) || xn(t, n, e[n].primKey, e[n].indexes)
                            }))
                        }))
                }(e, t, o, n).catch(s)
            }))
        }

        function kn(e, t) {
            const n = {
                del: [],
                add: [],
                change: []
            };
            let r;
            for (r in e) t[r] || n.del.push(r);
            for (r in t) {
                const i = e[r],
                    o = t[r];
                if (i) {
                    const e = {
                        name: r,
                        def: o,
                        recreate: !1,
                        del: [],
                        add: [],
                        change: []
                    };
                    if ("" + (i.primKey.keyPath || "") != "" + (o.primKey.keyPath || "") || i.primKey.auto !== o.primKey.auto && !Pt) e.recreate = !0, n.change.push(e);
                    else {
                        const t = i.idxByName,
                            r = o.idxByName;
                        let s;
                        for (s in t) r[s] || e.del.push(s);
                        for (s in r) {
                            const n = t[s],
                                i = r[s];
                            n ? n.src !== i.src && e.change.push(i) : e.add.push(i)
                        }(e.del.length > 0 || e.add.length > 0 || e.change.length > 0) && n.change.push(e)
                    }
                } else n.add.push([r, o])
            }
            return n
        }

        function xn(e, t, n, r) {
            const i = e.db.createObjectStore(t, n.keyPath ? {
                keyPath: n.keyPath,
                autoIncrement: n.auto
            } : {
                autoIncrement: n.auto
            });
            return r.forEach((e => Sn(i, e))), i
        }

        function Sn(e, t) {
            e.createIndex(t.name, t.keyPath, {
                unique: t.unique,
                multiEntry: t.multi
            })
        }

        function Cn(e, t, n) {
            const r = {};
            return S(t.objectStoreNames, 0).forEach((e => {
                const t = n.objectStore(e);
                let i = t.keyPath;
                const o = cn(ln(i), i || "", !1, !1, !!t.autoIncrement, i && "string" != typeof i, !0),
                    s = [];
                for (let e = 0; e < t.indexNames.length; ++e) {
                    const n = t.index(t.indexNames[e]);
                    i = n.keyPath;
                    var a = cn(n.name, i, !!n.unique, !!n.multiEntry, !1, i && "string" != typeof i, !1);
                    s.push(a)
                }
                r[e] = un(e, o, s)
            })), r
        }

        function Pn({
            _novip: e
        }, t, n) {
            const r = n.db.objectStoreNames;
            for (let i = 0; i < r.length; ++i) {
                const o = r[i],
                    s = n.objectStore(o);
                e._hasGetAll = "getAll" in s;
                for (let e = 0; e < s.indexNames.length; ++e) {
                    const n = s.indexNames[e],
                        r = s.index(n).keyPath,
                        i = "string" == typeof r ? r : "[" + S(r).join("+") + "]";
                    if (t[o]) {
                        const e = t[o].idxByName[i];
                        e && (e.name = n, delete t[o].idxByName[i], t[o].idxByName[n] = e)
                    }
                }
            }
            "undefined" != typeof navigator && /Safari/.test(navigator.userAgent) && !/(Chrome\/|Edge\/)/.test(navigator.userAgent) && u.WorkerGlobalScope && u instanceof u.WorkerGlobalScope && [].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1] < 604 && (e._hasGetAll = !1)
        }
        class On {
            _parseStoresSpec(e, t) {
                d(e).forEach((n => {
                    if (null !== e[n]) {
                        var r = e[n].split(",").map(((e, t) => {
                                const n = (e = e.trim()).replace(/([&*]|\+\+)/g, ""),
                                    r = /^\[/.test(n) ? n.match(/^\[(.*)\]$/)[1].split("+") : n;
                                return cn(n, r || null, /\&/.test(e), /\*/.test(e), /\+\+/.test(e), h(r), 0 === t)
                            })),
                            i = r.shift();
                        if (i.multi) throw new ae.Schema("Primary key cannot be multi-valued");
                        r.forEach((e => {
                            if (e.auto) throw new ae.Schema("Only primary key can be marked as autoIncrement (++)");
                            if (!e.keyPath) throw new ae.Schema("Index must have a name and cannot be an empty string")
                        })), t[n] = un(n, i, r)
                    }
                }))
            }
            stores(e) {
                const t = this.db;
                this._cfg.storesSource = this._cfg.storesSource ? f(this._cfg.storesSource, e) : e;
                const n = t._versions,
                    r = {};
                let i = {};
                return n.forEach((e => {
                    f(r, e._cfg.storesSource), i = e._cfg.dbschema = {}, e._parseStoresSpec(r, i)
                })), t._dbSchema = i, gn(t, [t._allTables, t, t.Transaction.prototype]), bn(t, [t._allTables, t, t.Transaction.prototype, this._cfg.tables], d(i), i), t._storeNames = d(i), this
            }
            upgrade(e) {
                return this._cfg.contentUpgrade = be(this._cfg.contentUpgrade || ue, e), this
            }
        }

        function En(e, t) {
            let n = e._dbNamesDB;
            return n || (n = e._dbNamesDB = new Jn("__dbnames", {
                addons: [],
                indexedDB: e,
                IDBKeyRange: t
            }), n.version(1).stores({
                dbnames: "name"
            })), n.table("dbnames")
        }

        function Kn(e) {
            return e && "function" == typeof e.databases
        }

        function An(e) {
            return ct((function() {
                return Me.letThrough = !0, e()
            }))
        }

        function In() {
            var e;
            return !navigator.userAgentData && /Safari\//.test(navigator.userAgent) && !/Chrom(e|ium)\//.test(navigator.userAgent) && indexedDB.databases ? new Promise((function(t) {
                var n = function() {
                    return indexedDB.databases().finally(t)
                };
                e = setInterval(n, 100), n()
            })).finally((function() {
                return clearInterval(e)
            })) : Promise.resolve()
        }

        function Dn(e) {
            var t = t => e.next(t),
                n = i(t),
                r = i((t => e.throw(t)));

            function i(e) {
                return t => {
                    var i = e(t),
                        o = i.value;
                    return i.done ? o : o && "function" == typeof o.then ? o.then(n, r) : h(o) ? Promise.all(o).then(n, r) : n(o)
                }
            }
            return i(t)()
        }

        function Bn(e, t, n) {
            var r = arguments.length;
            if (r < 2) throw new ae.InvalidArgument("Too few arguments");
            for (var i = new Array(r - 1); --r;) i[r - 1] = arguments[r];
            n = i.pop();
            var o = B(i);
            return [e, o, n]
        }

        function jn(e, t, n, r, i) {
            return Ue.resolve().then((() => {
                const o = Me.transless || Me,
                    s = e._createTransaction(t, n, e._dbSchema, r),
                    a = {
                        trans: s,
                        transless: o
                    };
                if (r) s.idbtrans = r.idbtrans;
                else try {
                    s.create(), e._state.PR1398_maxLoop = 3
                } catch (r) {
                    return r.name === oe.InvalidState && e.isOpen() && --e._state.PR1398_maxLoop > 0 ? (console.warn("Dexie: Need to reopen db"), e._close(), e.open().then((() => jn(e, t, n, null, i)))) : wt(r)
                }
                const c = W(i);
                let l;
                c && lt();
                const u = Ue.follow((() => {
                    if (l = i.call(s, s), l)
                        if (c) {
                            var e = ut.bind(null, null);
                            l.then(e, e)
                        } else "function" == typeof l.next && "function" == typeof l.throw && (l = Dn(l))
                }), a);
                return (l && "function" == typeof l.then ? Ue.resolve(l).then((e => s.active ? e : wt(new ae.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn")))) : u.then((() => l))).then((e => (r && s._resolve(), s._completion.then((() => e))))).catch((e => (s._reject(e), wt(e))))
            }))
        }

        function Tn(e, t, n) {
            const r = h(e) ? e.slice() : [e];
            for (let e = 0; e < n; ++e) r.push(t);
            return r
        }
        const Mn = {
            stack: "dbcore",
            name: "VirtualIndexMiddleware",
            level: 1,
            create: function(e) {
                return {...e, table(t) {
                        const n = e.table(t),
                            {
                                schema: r
                            } = n,
                            i = {},
                            o = [];

                        function s(e, t, n) {
                            const r = mn(e),
                                a = i[r] = i[r] || [],
                                c = null == e ? 0 : "string" == typeof e ? 1 : e.length,
                                l = t > 0,
                                u = {...n, isVirtual: l, keyTail: t, keyLength: c, extractKey: hn(e), unique: !l && n.unique
                                };
                            return a.push(u), u.isPrimaryKey || o.push(u), c > 1 && s(2 === c ? e[0] : e.slice(0, c - 1), t + 1, n), a.sort(((e, t) => e.keyTail - t.keyTail)), u
                        }
                        const a = s(r.primaryKey.keyPath, 0, r.primaryKey);
                        i[":id"] = [a];
                        for (const e of r.indexes) s(e.keyPath, 0, e);

                        function c(t) {
                            const n = t.query.index;
                            return n.isVirtual ? {...t, query: {
                                    index: n,
                                    range: (r = t.query.range, i = n.keyTail, {
                                        type: 1 === r.type ? 2 : r.type,
                                        lower: Tn(r.lower, r.lowerOpen ? e.MAX_KEY : e.MIN_KEY, i),
                                        lowerOpen: !0,
                                        upper: Tn(r.upper, r.upperOpen ? e.MIN_KEY : e.MAX_KEY, i),
                                        upperOpen: !0
                                    })
                                }
                            } : t;
                            var r, i
                        }
                        const l = {...n, schema: {...r, primaryKey: a, indexes: o, getIndexByKeyPath: function(e) {
                                    const t = i[mn(e)];
                                    return t && t[0]
                                }
                            }, count: e => n.count(c(e)), query: e => n.query(c(e)), openCursor(t) {
                                const {
                                    keyTail: r,
                                    isVirtual: i,
                                    keyLength: o
                                } = t.query.index;
                                return i ? n.openCursor(c(t)).then((n => n && function(n) {
                                    const i = Object.create(n, {
                                        continue: {
                                            value: function(i) {
                                                null != i ? n.continue(Tn(i, t.reverse ? e.MAX_KEY : e.MIN_KEY, r)) : t.unique ? n.continue(n.key.slice(0, o).concat(t.reverse ? e.MIN_KEY : e.MAX_KEY, r)) : n.continue()
                                            }
                                        },
                                        continuePrimaryKey: {
                                            value(t, i) {
                                                n.continuePrimaryKey(Tn(t, e.MAX_KEY, r), i)
                                            }
                                        },
                                        primaryKey: {get: () => n.primaryKey
                                        },
                                        key: {
                                            get() {
                                                const e = n.key;
                                                return 1 === o ? e[0] : e.slice(0, o)
                                            }
                                        },
                                        value: {get: () => n.value
                                        }
                                    });
                                    return i
                                }(n))) : n.openCursor(t)
                            }
                        };
                        return l
                    }
                }
            }
        };

        function Rn(e, t, n, r) {
            return n = n || {}, r = r || "", d(e).forEach((i => {
                if (y(t, i)) {
                    var o = e[i],
                        s = t[i];
                    if ("object" == typeof o && "object" == typeof s && o && s) {
                        const e = U(o);
                        e !== U(s) ? n[r + i] = t[i] : "Object" === e ? Rn(o, s, n, r + i + ".") : o !== s && (n[r + i] = t[i])
                    } else o !== s && (n[r + i] = t[i])
                } else n[r + i] = void 0
            })), d(t).forEach((i => {
                y(e, i) || (n[r + i] = t[i])
            })), n
        }
        const Nn = {
            stack: "dbcore",
            name: "HooksMiddleware",
            level: 2,
            create: e => ({...e, table(t) {
                    const n = e.table(t),
                        {
                            primaryKey: r
                        } = n.schema,
                        i = {...n, mutate(e) {
                                const i = Me.trans,
                                    {
                                        deleting: o,
                                        creating: s,
                                        updating: a
                                    } = i.table(t).hook;
                                switch (e.type) {
                                    case "add":
                                        if (s.fire === ue) break;
                                        return i._promise("readwrite", (() => c(e)), !0);
                                    case "put":
                                        if (s.fire === ue && a.fire === ue) break;
                                        return i._promise("readwrite", (() => c(e)), !0);
                                    case "delete":
                                        if (o.fire === ue) break;
                                        return i._promise("readwrite", (() => c(e)), !0);
                                    case "deleteRange":
                                        if (o.fire === ue) break;
                                        return i._promise("readwrite", (() => function(e) {
                                            return l(e.trans, e.range, 1e4)
                                        }(e)), !0)
                                }
                                return n.mutate(e);

                                function c(e) {
                                    const t = Me.trans,
                                        i = e.keys || function(e, t) {
                                            return "delete" === t.type ? t.keys : t.keys || t.values.map(e.extractKey)
                                        }(r, e);
                                    if (!i) throw new Error("Keys missing");
                                    return "delete" !== (e = "add" === e.type || "put" === e.type ? {...e, keys: i
                                        } : {...e
                                        }).type && (e.values = [...e.values]), e.keys && (e.keys = [...e.keys]),
                                        function(e, t, n) {
                                            return "add" === t.type ? Promise.resolve([]) : e.getMany({
                                                trans: t.trans,
                                                keys: n,
                                                cache: "immutable"
                                            })
                                        }(n, e, i).then((c => {
                                            const l = i.map(((n, i) => {
                                                const l = c[i],
                                                    u = {
                                                        onerror: null,
                                                        onsuccess: null
                                                    };
                                                if ("delete" === e.type) o.fire.call(u, n, l, t);
                                                else if ("add" === e.type || void 0 === l) {
                                                    const o = s.fire.call(u, n, e.values[i], t);
                                                    null == n && null != o && (n = o, e.keys[i] = n, r.outbound || A(e.values[i], r.keyPath, n))
                                                } else {
                                                    const r = Rn(l, e.values[i]),
                                                        o = a.fire.call(u, r, n, l, t);
                                                    if (o) {
                                                        const t = e.values[i];
                                                        Object.keys(o).forEach((e => {
                                                            y(t, e) ? t[e] = o[e] : A(t, e, o[e])
                                                        }))
                                                    }
                                                }
                                                return u
                                            }));
                                            return n.mutate(e).then((({
                                                failures: t,
                                                results: n,
                                                numFailures: r,
                                                lastResult: o
                                            }) => {
                                                for (let r = 0; r < i.length; ++r) {
                                                    const o = n ? n[r] : i[r],
                                                        s = l[r];
                                                    null == o ? s.onerror && s.onerror(t[r]) : s.onsuccess && s.onsuccess("put" === e.type && c[r] ? e.values[r] : o)
                                                }
                                                return {
                                                    failures: t,
                                                    results: n,
                                                    numFailures: r,
                                                    lastResult: o
                                                }
                                            })).catch((e => (l.forEach((t => t.onerror && t.onerror(e))), Promise.reject(e))))
                                        }))
                                }

                                function l(e, t, i) {
                                    return n.query({
                                        trans: e,
                                        values: !1,
                                        query: {
                                            index: r,
                                            range: t
                                        },
                                        limit: i
                                    }).then((({
                                        result: n
                                    }) => c({
                                        type: "delete",
                                        keys: n,
                                        trans: e
                                    }).then((r => r.numFailures > 0 ? Promise.reject(r.failures[0]) : n.length < i ? {
                                        failures: [],
                                        numFailures: 0,
                                        lastResult: void 0
                                    } : l(e, {...t, lower: n[n.length - 1], lowerOpen: !0
                                    }, i)))))
                                }
                            }
                        };
                    return i
                }
            })
        };

        function Fn(e, t, n) {
            try {
                if (!t) return null;
                if (t.keys.length < e.length) return null;
                const r = [];
                for (let i = 0, o = 0; i < t.keys.length && o < e.length; ++i) 0 === zt(t.keys[i], e[o]) && (r.push(n ? R(t.values[i]) : t.values[i]), ++o);
                return r.length === e.length ? r : null
            } catch (e) {
                return null
            }
        }
        const Un = {
            stack: "dbcore",
            level: -1,
            create: e => ({
                table: t => {
                    const n = e.table(t);
                    return {...n, getMany: e => {
                            if (!e.cache) return n.getMany(e);
                            const t = Fn(e.keys, e.trans._cache, "clone" === e.cache);
                            return t ? Ue.resolve(t) : n.getMany(e).then((t => (e.trans._cache = {
                                keys: e.keys,
                                values: "clone" === e.cache ? R(t) : t
                            }, t)))
                        }, mutate: e => ("add" !== e.type && (e.trans._cache = null), n.mutate(e))
                    }
                }
            })
        };

        function qn(e) {
            return !("from" in e)
        }
        const Ln = function(e, t) {
            if (!this) {
                const t = new Ln;
                return e && "d" in e && f(t, e), t
            }
            f(this, arguments.length ? {
                d: 1,
                from: e,
                to: arguments.length > 1 ? t : e
            } : {
                d: 0
            })
        };

        function zn(e, t, n) {
            const r = zt(t, n);
            if (isNaN(r)) return;
            if (r > 0) throw RangeError();
            if (qn(e)) return f(e, {
                from: t,
                to: n,
                d: 1
            });
            const i = e.l,
                o = e.r;
            if (zt(n, e.from) < 0) return i ? zn(i, t, n) : e.l = {
                from: t,
                to: n,
                d: 1,
                l: null,
                r: null
            }, Vn(e);
            if (zt(t, e.to) > 0) return o ? zn(o, t, n) : e.r = {
                from: t,
                to: n,
                d: 1,
                l: null,
                r: null
            }, Vn(e);
            zt(t, e.from) < 0 && (e.from = t, e.l = null, e.d = o ? o.d + 1 : 1), zt(n, e.to) > 0 && (e.to = n, e.r = null, e.d = e.l ? e.l.d + 1 : 1);
            const s = !e.r;
            i && !e.l && Gn(e, i), o && s && Gn(e, o)
        }

        function Gn(e, t) {
            qn(t) || function e(t, {
                from: n,
                to: r,
                l: i,
                r: o
            }) {
                zn(t, n, r), i && e(t, i), o && e(t, o)
            }(e, t)
        }

        function Wn(e) {
            let t = qn(e) ? null : {
                s: 0,
                n: e
            };
            return {
                next(e) {
                    const n = arguments.length > 0;
                    for (; t;) switch (t.s) {
                        case 0:
                            if (t.s = 1, n)
                                for (; t.n.l && zt(e, t.n.from) < 0;) t = {
                                    up: t,
                                    n: t.n.l,
                                    s: 1
                                };
                            else
                                for (; t.n.l;) t = {
                                    up: t,
                                    n: t.n.l,
                                    s: 1
                                };
                        case 1:
                            if (t.s = 2, !n || zt(e, t.n.to) <= 0) return {
                                value: t.n,
                                done: !1
                            };
                        case 2:
                            if (t.n.r) {
                                t.s = 3, t = {
                                    up: t,
                                    n: t.n.r,
                                    s: 0
                                };
                                continue
                            }
                        case 3:
                            t = t.up
                    }
                    return {
                        done: !0
                    }
                }
            }
        }

        function Vn(e) {
            var t, n;
            const r = ((null === (t = e.r) || void 0 === t ? void 0 : t.d) || 0) - ((null === (n = e.l) || void 0 === n ? void 0 : n.d) || 0),
                i = r > 1 ? "r" : r < -1 ? "l" : "";
            if (i) {
                const t = "r" === i ? "l" : "r",
                    n = {...e
                    },
                    r = e[i];
                e.from = r.from, e.to = r.to, e[i] = r[i], n[i] = r[t], e[t] = n, n.d = Yn(n)
            }
            e.d = Yn(e)
        }

        function Yn({
            r: e,
            l: t
        }) {
            return (e ? t ? Math.max(e.d, t.d) : e.d : t ? t.d : 0) + 1
        }
        v(Ln.prototype, {
            add(e) {
                return Gn(this, e), this
            }, addKey(e) {
                return zn(this, e, e), this
            }, addKeys(e) {
                return e.forEach((e => zn(this, e, e))), this
            }, [q]() {
                return Wn(this)
            }
        });
        const Qn = {
            stack: "dbcore",
            level: 0,
            create: e => {
                const t = e.schema.name,
                    n = new Ln(e.MIN_KEY, e.MAX_KEY);
                return {...e, table: r => {
                        const i = e.table(r),
                            {
                                schema: o
                            } = i,
                            {
                                primaryKey: s
                            } = o,
                            {
                                extractKey: a,
                                outbound: c
                            } = s,
                            l = {...i, mutate: e => {
                                    const s = e.trans,
                                        a = s.mutatedParts || (s.mutatedParts = {}),
                                        c = e => {
                                            const n = `idb://${t}/${r}/${e}`;
                                            return a[n] || (a[n] = new Ln)
                                        },
                                        l = c(""),
                                        u = c(":dels"),
                                        {
                                            type: d
                                        } = e;
                                    let [f, p] = "deleteRange" === e.type ? [e.range] : "delete" === e.type ? [e.keys] : e.values.length < 50 ? [
                                        [], e.values
                                    ] : [];
                                    const m = e.trans._cache;
                                    return i.mutate(e).then((e => {
                                        if (h(f)) {
                                            "delete" !== d && (f = e.results), l.addKeys(f);
                                            const t = Fn(f, m);
                                            t || "add" === d || u.addKeys(f), (t || p) && function(e, t, n, r) {
                                                t.indexes.forEach((function(t) {
                                                    const i = e(t.name || "");

                                                    function o(e) {
                                                        return null != e ? t.extractKey(e) : null
                                                    }
                                                    const s = e => t.multiEntry && h(e) ? e.forEach((e => i.addKey(e))) : i.addKey(e);
                                                    (n || r).forEach(((e, t) => {
                                                        const i = n && o(n[t]),
                                                            a = r && o(r[t]);
                                                        0 !== zt(i, a) && (null != i && s(i), null != a && s(a))
                                                    }))
                                                }))
                                            }(c, o, t, p)
                                        } else if (f) {
                                            const e = {
                                                from: f.lower,
                                                to: f.upper
                                            };
                                            u.add(e), l.add(e)
                                        } else l.add(n), u.add(n), o.indexes.forEach((e => c(e.name).add(n)));
                                        return e
                                    }))
                                }
                            },
                            u = ({
                                query: {
                                    index: t,
                                    range: n
                                }
                            }) => {
                                var r, i;
                                return [t, new Ln(null !== (r = n.lower) && void 0 !== r ? r : e.MIN_KEY, null !== (i = n.upper) && void 0 !== i ? i : e.MAX_KEY)]
                            },
                            f = {get: e => [s, new Ln(e.key)],
                                getMany: e => [s, (new Ln).addKeys(e.keys)],
                                count: u,
                                query: u,
                                openCursor: u
                            };
                        return d(f).forEach((e => {
                            l[e] = function(o) {
                                const {
                                    subscr: s
                                } = Me;
                                if (s) {
                                    const l = e => {
                                            const n = `idb://${t}/${r}/${e}`;
                                            return s[n] || (s[n] = new Ln)
                                        },
                                        u = l(""),
                                        d = l(":dels"),
                                        [h, p] = f[e](o);
                                    if (l(h.name || "").add(p), !h.isPrimaryKey) {
                                        if ("count" !== e) {
                                            const t = "query" === e && c && o.values && i.query({...o, values: !1
                                            });
                                            return i[e].apply(this, arguments).then((n => {
                                                if ("query" === e) {
                                                    if (c && o.values) return t.then((({
                                                        result: e
                                                    }) => (u.addKeys(e), n)));
                                                    const e = o.values ? n.result.map(a) : n.result;
                                                    o.values ? u.addKeys(e) : d.addKeys(e)
                                                } else if ("openCursor" === e) {
                                                    const e = n,
                                                        t = o.values;
                                                    return e && Object.create(e, {
                                                        key: {get: () => (d.addKey(e.primaryKey), e.key)
                                                        },
                                                        primaryKey: {
                                                            get() {
                                                                const t = e.primaryKey;
                                                                return d.addKey(t), t
                                                            }
                                                        },
                                                        value: {get: () => (t && u.addKey(e.primaryKey), e.value)
                                                        }
                                                    })
                                                }
                                                return n
                                            }))
                                        }
                                        d.add(n)
                                    }
                                }
                                return i[e].apply(this, arguments)
                            }
                        })), l
                    }
                }
            }
        };
        class Jn {
            constructor(e, t) {
                this._middlewares = {}, this.verno = 0;
                const n = Jn.dependencies;
                this._options = t = {
                    addons: Jn.addons,
                    autoOpen: !0,
                    indexedDB: n.indexedDB,
                    IDBKeyRange: n.IDBKeyRange,
                    ...t
                }, this._deps = {
                    indexedDB: t.indexedDB,
                    IDBKeyRange: t.IDBKeyRange
                };
                const {
                    addons: r
                } = t;
                this._dbSchema = {}, this._versions = [], this._storeNames = [], this._allTables = {}, this.idbdb = null, this._novip = this;
                const i = {
                    dbOpenError: null,
                    isBeingOpened: !1,
                    onReadyBeingFired: null,
                    openComplete: !1,
                    dbReadyResolve: ue,
                    dbReadyPromise: null,
                    cancelOpen: ue,
                    openCanceller: null,
                    autoSchema: !0,
                    PR1398_maxLoop: 3
                };
                var o;
                i.dbReadyPromise = new Ue((e => {
                    i.dbReadyResolve = e
                })), i.openCanceller = new Ue(((e, t) => {
                    i.cancelOpen = t
                })), this._state = i, this.name = e, this.on = jt(this, "populate", "blocked", "versionchange", "close", {
                    ready: [be, ue]
                }), this.on.ready.subscribe = C(this.on.ready.subscribe, (e => (t, n) => {
                    Jn.vip((() => {
                        const r = this._state;
                        if (r.openComplete) r.dbOpenError || Ue.resolve().then(t), n && e(t);
                        else if (r.onReadyBeingFired) r.onReadyBeingFired.push(t), n && e(t);
                        else {
                            e(t);
                            const r = this;
                            n || e((function e() {
                                r.on.ready.unsubscribe(t), r.on.ready.unsubscribe(e)
                            }))
                        }
                    }))
                })), this.Collection = (o = this, Tt(Vt.prototype, (function(e, t) {
                    this.db = o;
                    let n = It,
                        r = null;
                    if (t) try {
                        n = t()
                    } catch (e) {
                        r = e
                    }
                    const i = e._ctx,
                        s = i.table,
                        a = s.hook.reading.fire;
                    this._ctx = {
                        table: s,
                        index: i.index,
                        isPrimKey: !i.index || s.schema.primKey.keyPath && i.index === s.schema.primKey.name,
                        range: n,
                        keysOnly: !1,
                        dir: "next",
                        unique: "",
                        algorithm: null,
                        filter: null,
                        replayFilter: null,
                        justLimit: !0,
                        isMatch: null,
                        offset: 0,
                        limit: 1 / 0,
                        error: r,
                        or: i.or,
                        valueMapper: a !== de ? a : null
                    }
                }))), this.Table = function(e) {
                    return Tt(Bt.prototype, (function(t, n, r) {
                        this.db = e, this._tx = r, this.name = t, this.schema = n, this.hook = e._allTables[t] ? e._allTables[t].hook : jt(null, {
                            creating: [pe, ue],
                            reading: [he, de],
                            updating: [ye, ue],
                            deleting: [me, ue]
                        })
                    }))
                }(this), this.Transaction = function(e) {
                    return Tt(an.prototype, (function(t, n, r, i, o) {
                        this.db = e, this.mode = t, this.storeNames = n, this.schema = r, this.chromeTransactionDurability = i, this.idbtrans = null, this.on = jt(this, "complete", "error", "abort"), this.parent = o || null, this.active = !0, this._reculock = 0, this._blockedFuncs = [], this._resolve = null, this._reject = null, this._waitingFor = null, this._waitingQueue = null, this._spinCount = 0, this._completion = new Ue(((e, t) => {
                            this._resolve = e, this._reject = t
                        })), this._completion.then((() => {
                            this.active = !1, this.on.complete.fire()
                        }), (e => {
                            var t = this.active;
                            return this.active = !1, this.on.error.fire(e), this.parent ? this.parent._reject(e) : t && this.idbtrans && this.idbtrans.abort(), wt(e)
                        }))
                    }))
                }(this), this.Version = function(e) {
                    return Tt(On.prototype, (function(t) {
                        this.db = e, this._cfg = {
                            version: t,
                            storesSource: null,
                            dbschema: {},
                            tables: {},
                            contentUpgrade: null
                        }
                    }))
                }(this), this.WhereClause = function(e) {
                    return Tt(nn.prototype, (function(t, n, r) {
                        this.db = e, this._ctx = {
                            table: t,
                            index: ":id" === n ? null : n,
                            or: r
                        };
                        const i = e._deps.indexedDB;
                        if (!i) throw new ae.MissingAPI;
                        this._cmp = this._ascending = i.cmp.bind(i), this._descending = (e, t) => i.cmp(t, e), this._max = (e, t) => i.cmp(e, t) > 0 ? e : t, this._min = (e, t) => i.cmp(e, t) < 0 ? e : t, this._IDBKeyRange = e._deps.IDBKeyRange
                    }))
                }(this), this.on("versionchange", (e => {
                    e.newVersion > 0 ? console.warn(`Another connection wants to upgrade database '${this.name}'. Closing db now to resume the upgrade.`) : console.warn(`Another connection wants to delete database '${this.name}'. Closing db now to resume the delete request.`), this.close()
                })), this.on("blocked", (e => {
                    !e.newVersion || e.newVersion < e.oldVersion ? console.warn(`Dexie.delete('${this.name}') was blocked`) : console.warn(`Upgrade '${this.name}' blocked by other connection holding version ${e.oldVersion/10}`)
                })), this._maxKey = dn(t.IDBKeyRange), this._createTransaction = (e, t, n, r) => new this.Transaction(e, t, n, this._options.chromeTransactionDurability, r), this._fireOnBlocked = e => {
                    this.on("blocked").fire(e), Ct.filter((e => e.name === this.name && e !== this && !e._state.vcFired)).map((t => t.on("versionchange").fire(e)))
                }, this.use(Mn), this.use(Nn), this.use(Qn), this.use(Un), this.vip = Object.create(this, {
                    _vip: {
                        value: !0
                    }
                }), r.forEach((e => e(this)))
            }
            version(e) {
                if (isNaN(e) || e < .1) throw new ae.Type("Given version is not a positive number");
                if (e = Math.round(10 * e) / 10, this.idbdb || this._state.isBeingOpened) throw new ae.Schema("Cannot add version when database is open");
                this.verno = Math.max(this.verno, e);
                const t = this._versions;
                var n = t.filter((t => t._cfg.version === e))[0];
                return n || (n = new this.Version(e), t.push(n), t.sort(_n), n.stores({}), this._state.autoSchema = !1, n)
            }
            _whenReady(e) {
                return this.idbdb && (this._state.openComplete || Me.letThrough || this._vip) ? e() : new Ue(((e, t) => {
                    if (this._state.openComplete) return t(new ae.DatabaseClosed(this._state.dbOpenError));
                    if (!this._state.isBeingOpened) {
                        if (!this._options.autoOpen) return void t(new ae.DatabaseClosed);
                        this.open().catch(ue)
                    }
                    this._state.dbReadyPromise.then(e, t)
                })).then(e)
            }
            use({
                stack: e,
                create: t,
                level: n,
                name: r
            }) {
                r && this.unuse({
                    stack: e,
                    name: r
                });
                const i = this._middlewares[e] || (this._middlewares[e] = []);
                return i.push({
                    stack: e,
                    create: t,
                    level: null == n ? 10 : n,
                    name: r
                }), i.sort(((e, t) => e.level - t.level)), this
            }
            unuse({
                stack: e,
                name: t,
                create: n
            }) {
                return e && this._middlewares[e] && (this._middlewares[e] = this._middlewares[e].filter((e => n ? e.create !== n : !!t && e.name !== t))), this
            }
            open() {
                return function(e) {
                    const t = e._state,
                        {
                            indexedDB: n
                        } = e._deps;
                    if (t.isBeingOpened || e.idbdb) return t.dbReadyPromise.then((() => t.dbOpenError ? wt(t.dbOpenError) : e));
                    V && (t.openCanceller._stackHolder = H()), t.isBeingOpened = !0, t.dbOpenError = null, t.openComplete = !1;
                    const r = t.openCanceller;

                    function i() {
                        if (t.openCanceller !== r) throw new ae.DatabaseClosed("db.open() was cancelled")
                    }
                    let o = t.dbReadyResolve,
                        s = null,
                        a = !1;
                    return Ue.race([r, ("undefined" == typeof navigator ? Ue.resolve() : In()).then((() => new Ue(((r, o) => {
                        if (i(), !n) throw new ae.MissingAPI;
                        const c = e.name,
                            l = t.autoSchema ? n.open(c) : n.open(c, Math.round(10 * e.verno));
                        if (!l) throw new ae.MissingAPI;
                        l.onerror = rn(o), l.onblocked = tt(e._fireOnBlocked), l.onupgradeneeded = tt((r => {
                            if (s = l.transaction, t.autoSchema && !e._options.allowEmptyDB) {
                                l.onerror = on, s.abort(), l.result.close();
                                const e = n.deleteDatabase(c);
                                e.onsuccess = e.onerror = tt((() => {
                                    o(new ae.NoSuchDatabase(`Database ${c} doesnt exist`))
                                }))
                            } else {
                                s.onerror = rn(o);
                                var i = r.oldVersion > Math.pow(2, 62) ? 0 : r.oldVersion;
                                a = i < 1, e._novip.idbdb = l.result, wn(e, i / 10, s, o)
                            }
                        }), o), l.onsuccess = tt((() => {
                            s = null;
                            const n = e._novip.idbdb = l.result,
                                i = S(n.objectStoreNames);
                            if (i.length > 0) try {
                                const r = n.transaction(1 === (o = i).length ? o[0] : o, "readonly");
                                t.autoSchema ? function({
                                    _novip: e
                                }, t, n) {
                                    e.verno = t.version / 10;
                                    const r = e._dbSchema = Cn(0, t, n);
                                    e._storeNames = S(t.objectStoreNames, 0), bn(e, [e._allTables], d(r), r)
                                }(e, n, r) : (Pn(e, e._dbSchema, r), function(e, t) {
                                    const n = kn(Cn(0, e.idbdb, t), e._dbSchema);
                                    return !(n.add.length || n.change.some((e => e.add.length || e.change.length)))
                                }(e, r) || console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.")), vn(e, r)
                            } catch (e) {}
                            var o;
                            Ct.push(e), n.onversionchange = tt((n => {
                                t.vcFired = !0, e.on("versionchange").fire(n)
                            })), n.onclose = tt((t => {
                                e.on("close").fire(t)
                            })), a && function({
                                indexedDB: e,
                                IDBKeyRange: t
                            }, n) {
                                !Kn(e) && "__dbnames" !== n && En(e, t).put({
                                    name: n
                                }).catch(ue)
                            }(e._deps, c), r()
                        }), o)
                    }))))]).then((() => (i(), t.onReadyBeingFired = [], Ue.resolve(An((() => e.on.ready.fire(e.vip)))).then((function n() {
                        if (t.onReadyBeingFired.length > 0) {
                            let r = t.onReadyBeingFired.reduce(be, ue);
                            return t.onReadyBeingFired = [], Ue.resolve(An((() => r(e.vip)))).then(n)
                        }
                    }))))).finally((() => {
                        t.onReadyBeingFired = null, t.isBeingOpened = !1
                    })).then((() => e)).catch((n => {
                        t.dbOpenError = n;
                        try {
                            s && s.abort()
                        } catch (e) {}
                        return r === t.openCanceller && e._close(), wt(n)
                    })).finally((() => {
                        t.openComplete = !0, o()
                    }))
                }(this)
            }
            _close() {
                const e = this._state,
                    t = Ct.indexOf(this);
                if (t >= 0 && Ct.splice(t, 1), this.idbdb) {
                    try {
                        this.idbdb.close()
                    } catch (e) {}
                    this._novip.idbdb = null
                }
                e.dbReadyPromise = new Ue((t => {
                    e.dbReadyResolve = t
                })), e.openCanceller = new Ue(((t, n) => {
                    e.cancelOpen = n
                }))
            }
            close() {
                this._close();
                const e = this._state;
                this._options.autoOpen = !1, e.dbOpenError = new ae.DatabaseClosed, e.isBeingOpened && e.cancelOpen(e.dbOpenError)
            }
            delete() {
                const e = arguments.length > 0,
                    t = this._state;
                return new Ue(((n, r) => {
                    const i = () => {
                        this.close();
                        var e = this._deps.indexedDB.deleteDatabase(this.name);
                        e.onsuccess = tt((() => {
                            ! function({
                                indexedDB: e,
                                IDBKeyRange: t
                            }, n) {
                                !Kn(e) && "__dbnames" !== n && En(e, t).delete(n).catch(ue)
                            }(this._deps, this.name), n()
                        })), e.onerror = rn(r), e.onblocked = this._fireOnBlocked
                    };
                    if (e) throw new ae.InvalidArgument("Arguments not allowed in db.delete()");
                    t.isBeingOpened ? t.dbReadyPromise.then(i) : i()
                }))
            }
            backendDB() {
                return this.idbdb
            }
            isOpen() {
                return null !== this.idbdb
            }
            hasBeenClosed() {
                const e = this._state.dbOpenError;
                return e && "DatabaseClosed" === e.name
            }
            hasFailed() {
                return null !== this._state.dbOpenError
            }
            dynamicallyOpened() {
                return this._state.autoSchema
            }
            get tables() {
                return d(this._allTables).map((e => this._allTables[e]))
            }
            transaction() {
                const e = Bn.apply(this, arguments);
                return this._transaction.apply(this, e)
            }
            _transaction(e, t, n) {
                let r = Me.trans;
                r && r.db === this && -1 === e.indexOf("!") || (r = null);
                const i = -1 !== e.indexOf("?");
                let o, s;
                e = e.replace("!", "").replace("?", "");
                try {
                    if (s = t.map((e => {
                            var t = e instanceof this.Table ? e.name : e;
                            if ("string" != typeof t) throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");
                            return t
                        })), "r" == e || "readonly" === e) o = "readonly";
                    else {
                        if ("rw" != e && "readwrite" != e) throw new ae.InvalidArgument("Invalid transaction mode: " + e);
                        o = "readwrite"
                    }
                    if (r) {
                        if ("readonly" === r.mode && "readwrite" === o) {
                            if (!i) throw new ae.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");
                            r = null
                        }
                        r && s.forEach((e => {
                            if (r && -1 === r.storeNames.indexOf(e)) {
                                if (!i) throw new ae.SubTransaction("Table " + e + " not included in parent transaction.");
                                r = null
                            }
                        })), i && r && !r.active && (r = null)
                    }
                } catch (e) {
                    return r ? r._promise(null, ((t, n) => {
                        n(e)
                    })) : wt(e)
                }
                const a = jn.bind(null, this, o, s, r, n);
                return r ? r._promise(o, a, "lock") : Me.trans ? yt(Me.transless, (() => this._whenReady(a))) : this._whenReady(a)
            }
            table(e) {
                if (!y(this._allTables, e)) throw new ae.InvalidTable(`Table ${e} does not exist`);
                return this._allTables[e]
            }
        }
        const Hn = "undefined" != typeof Symbol && "observable" in Symbol ? Symbol.observable : "@@observable";
        class Xn {
            constructor(e) {
                this._subscribe = e
            }
            subscribe(e, t, n) {
                return this._subscribe(e && "function" != typeof e ? e : {
                    next: e,
                    error: t,
                    complete: n
                })
            }[Hn]() {
                return this
            }
        }

        function Zn(e, t) {
            return d(t).forEach((n => {
                Gn(e[n] || (e[n] = new Ln), t[n])
            })), e
        }
        let $n;
        try {
            $n = {
                indexedDB: u.indexedDB || u.mozIndexedDB || u.webkitIndexedDB || u.msIndexedDB,
                IDBKeyRange: u.IDBKeyRange || u.webkitIDBKeyRange
            }
        } catch (u) {
            $n = {
                indexedDB: null,
                IDBKeyRange: null
            }
        }
        const er = Jn;

        function tr(e) {
            let t = nr;
            try {
                nr = !0, sn.storagemutated.fire(e)
            } finally {
                nr = t
            }
        }
        v(er, {...le, delete: e => new er(e, {
                addons: []
            }).delete(), exists: e => new er(e, {
                addons: []
            }).open().then((e => (e.close(), !0))).catch("NoSuchDatabaseError", (() => !1)), getDatabaseNames(e) {
                try {
                    return function({
                        indexedDB: e,
                        IDBKeyRange: t
                    }) {
                        return Kn(e) ? Promise.resolve(e.databases()).then((e => e.map((e => e.name)).filter((e => "__dbnames" !== e)))) : En(e, t).toCollection().primaryKeys()
                    }(er.dependencies).then(e)
                } catch (e) {
                    return wt(new ae.MissingAPI)
                }
            }, defineClass: () => function(e) {
                f(this, e)
            }, ignoreTransaction: e => Me.trans ? yt(Me.transless, e) : e(), vip: An, async: function(e) {
                return function() {
                    try {
                        var t = Dn(e.apply(this, arguments));
                        return t && "function" == typeof t.then ? t : Ue.resolve(t)
                    } catch (e) {
                        return wt(e)
                    }
                }
            }, spawn: function(e, t, n) {
                try {
                    var r = Dn(e.apply(n, t || []));
                    return r && "function" == typeof r.then ? r : Ue.resolve(r)
                } catch (e) {
                    return wt(e)
                }
            }, currentTransaction: {get: () => Me.trans || null
            }, waitFor: function(e, t) {
                const n = Ue.resolve("function" == typeof e ? er.ignoreTransaction(e) : e).timeout(t || 6e4);
                return Me.trans ? Me.trans.waitFor(n) : n
            }, Promise: Ue, debug: {get: () => V,
                set: e => {
                    Y(e, "dexie" === e ? () => !0 : Kt)
                }
            }, derive: _, extend: f, props: v, override: C, Events: jt, on: sn, liveQuery: function(e) {
                return new Xn((t => {
                    const n = W(e);
                    let r = !1,
                        i = {},
                        o = {};
                    const s = {get closed() {
                            return r
                        },
                        unsubscribe: () => {
                            r = !0, sn.storagemutated.unsubscribe(u)
                        }
                    };
                    t.start && t.start(s);
                    let a = !1,
                        c = !1;

                    function l() {
                        return d(o).some((e => i[e] && function(e, t) {
                            const n = Wn(t);
                            let r = n.next();
                            if (r.done) return !1;
                            let i = r.value;
                            const o = Wn(e);
                            let s = o.next(i.from),
                                a = s.value;
                            for (; !r.done && !s.done;) {
                                if (zt(a.from, i.to) <= 0 && zt(a.to, i.from) >= 0) return !0;
                                zt(i.from, a.from) < 0 ? i = (r = n.next(a.from)).value : a = (s = o.next(i.from)).value
                            }
                            return !1
                        }(i[e], o[e])))
                    }
                    const u = e => {
                            Zn(i, e), l() && h()
                        },
                        h = () => {
                            if (a || r) return;
                            i = {};
                            const d = {},
                                f = function(t) {
                                    n && lt();
                                    const r = () => ct(e, {
                                            subscr: t,
                                            trans: null
                                        }),
                                        i = Me.trans ? yt(Me.transless, r) : r();
                                    return n && i.then(ut, ut), i
                                }(d);
                            c || (sn("storagemutated", u), c = !0), a = !0, Promise.resolve(f).then((e => {
                                a = !1, r || (l() ? h() : (i = {}, o = d, t.next && t.next(e)))
                            }), (e => {
                                a = !1, t.error && t.error(e), s.unsubscribe()
                            }))
                        };
                    return h(), s
                }))
            }, extendObservabilitySet: Zn, getByKeyPath: K, setByKeyPath: A, delByKeyPath: function(e, t) {
                "string" == typeof t ? A(e, t, void 0) : "length" in t && [].map.call(t, (function(t) {
                    A(e, t, void 0)
                }))
            }, shallowClone: I, deepClone: R, getObjectDiff: Rn, cmp: zt, asap: O, minKey: -1 / 0, addons: [], connections: Ct, errnames: oe, dependencies: $n, semVer: "3.2.1", version: "3.2.1".split(".").map((e => parseInt(e))).reduce(((e, t, n) => e + t / Math.pow(10, 2 * n)))
        }), er.maxKey = dn(er.dependencies.IDBKeyRange), "undefined" != typeof dispatchEvent && "undefined" != typeof addEventListener && (sn("storagemutated", (e => {
            if (!nr) {
                let t;
                Pt ? (t = document.createEvent("CustomEvent"), t.initCustomEvent("x-storagemutated-1", !0, !0, e)) : t = new CustomEvent("x-storagemutated-1", {
                    detail: e
                }), nr = !0, dispatchEvent(t), nr = !1
            }
        })), addEventListener("x-storagemutated-1", (({
            detail: e
        }) => {
            nr || tr(e)
        })));
        let nr = !1;
        if ("undefined" != typeof BroadcastChannel) {
            const e = new BroadcastChannel("x-storagemutated-1");
            sn("storagemutated", (t => {
                nr || e.postMessage(t)
            })), e.onmessage = e => {
                e.data && tr(e.data)
            }
        } else if ("undefined" != typeof self && "undefined" != typeof navigator) {
            sn("storagemutated", (e => {
                try {
                    nr || ("undefined" != typeof localStorage && localStorage.setItem("x-storagemutated-1", JSON.stringify({
                        trig: Math.random(),
                        changedParts: e
                    })), "object" == typeof self.clients && [...self.clients.matchAll({
                        includeUncontrolled: !0
                    })].forEach((t => t.postMessage({
                        type: "x-storagemutated-1",
                        changedParts: e
                    }))))
                } catch (e) {}
            })), addEventListener("storage", (e => {
                if ("x-storagemutated-1" === e.key) {
                    const t = JSON.parse(e.newValue);
                    t && tr(t.changedParts)
                }
            }));
            const e = self.document && navigator.serviceWorker;
            e && e.addEventListener("message", (function({
                data: e
            }) {
                e && "x-storagemutated-1" === e.type && tr(e.changedParts)
            }))
        }
        Ue.rejectionMapper = function(e, t) {
            if (!e || e instanceof te || e instanceof TypeError || e instanceof SyntaxError || !e.name || !ce[e.name]) return e;
            var n = new ce[e.name](t || e.message, e);
            return "stack" in e && g(n, "stack", {get: function() {
                    return this.inner.stack
                }
            }), n
        }, Y(V, Kt);
        var rr = new class extends Jn {
            constructor() {
                super("tcp_ccl");
                var e = this;
                e.version(1).stores({
                    fclicks: "++id,url,rid,ttl,date",
                    clicks: "++id,url,crtid,price,ttl,date"
                }), e.version(2).stores({
                    impWCl: "++id,rid,cl"
                }), e.version(3).stores({
                    fclicks: "++id,url,rid,cid,ttl,date",
                    clicks: "++id,url,cid,crtid,capping,capping_period,price,ttl,date"
                }), e.version(4).stores({
                    fclicks: "++id,url,rid,cid,capping_uid,capping_endat,ttl,date",
                    clicks: "++id,url,cid,crtid,capping_uid,capping_endat,capping,capping_period,price,ttl,date"
                }), e.version(5).stores({
                    fclicks: "++id,url,rid,cid,capping_uid,ttl,date",
                    clicks: "++id,url,cid,crtid,capping_uid,price,ttl,date",
                    plimit: "++id,uid,limit,count,event_trigger,end_at"
                }), e.version(6).stores({
                    ownNotifications: "++id,url,title",
                    clicks: "++id,url,cid,crtid,capping_uid,price,ttl,date",
                    plimit: "++id,uid,limit,count,event_trigger,end_at"
                }), e.version(7).stores({
                    auction: "request_options,last_notifications_request,notifications"
                }), e.version(8).stores({
                    auction: "request_options,last_notifications_request,notifications",
                    settings: "++id,settings"
                }), e.version(9).stores({
                    stat: "++id,creative_id,impressions,clicks,create_time,update_time"
                }), e.version(10).stores({
                    stat: "++id,creative_id,impressions,clicks,create_time,update_time,category,creative_country"
                }), e.version(11).stores({
                    stat: "++id,creative_id,impressions,clicks,create_time,update_time,category,creative_country,tag"
                }), e.version(12).stores({
                    auction: null
                }), e.version(13).stores({
                    clicks: "++id,url,cid,crtid,price,ttl,date",
                    fclicks: "++id,url,rid,cid,ttl,date",
                    stat: null,
                    impWCl: null,
                    plimit: null,
                    ownNotifications: null
                }), e.version(14).stores({
                    queue: "++id,tag"
                })
            }
        };

        function ir(e, t, n, r, i, o, s) {
            try {
                var a = e[o](s),
                    c = a.value
            } catch (e) {
                return void n(e)
            }
            a.done ? t(c) : Promise.resolve(c).then(r, i)
        }

        function or(e) {
            return function() {
                var t = this,
                    n = arguments;
                return new Promise((function(r, i) {
                    var o = e.apply(t, n);

                    function s(e) {
                        ir(o, r, i, s, a, "next", e)
                    }

                    function a(e) {
                        ir(o, r, i, s, a, "throw", e)
                    }
                    s(void 0)
                }))
            }
        }
        class sr {
            saveSettings(e) {
                return rr.transaction("rw", rr.settings, function() {
                    var t = or((function*(t) {
                        yield rr.settings.clear(),
                            yield rr.settings.put({
                                next_notification: e.nextNotification,
                                mode: e.mode,
                                demand_mode_probability: e.demandModeProbability,
                                creatives_update_time: e.creativesUpdateTime,
                                postponed_update_time: e.postponedUpdateTime,
                                stat_send_time: e.statSendTime,
                                is_adblock: Boolean(e.is_adblock),
                                is_meta_mask_active: e.isMetaMaskActive,
                                user_keywords: e.userKeywords,
                                entry_referrer_domain: e.entryReferrerDomain,
                                tag_ab: e.tagAbVersion,
                                visitor_id: e.visitorId,
                                is_safari: e.isSafari,
                                v2: e.v2,
                                language: e.language
                            })
                    }));
                    return function(e) {
                        return t.apply(this, arguments)
                    }
                }())
            }
            getSettings() {
                return or((function*() {
                    var e =
                        yield rr.settings.toArray();
                    if (e.length) {
                        var t = e[0];
                        return {
                            nextNotification: t.next_notification || 0,
                            mode: t.mode || null,
                            demandModeProbability: t.demand_mode_probability || 0,
                            creativesUpdateTime: t.creatives_update_time || null,
                            postponedUpdateTime: t.postponed_update_time || null,
                            statSendTime: t.stat_send_time || null,
                            is_adblock: t.is_adblock || !1,
                            isMetaMaskActive: t.is_meta_mask_active || !1,
                            userKeywords: t.user_keywords,
                            entryReferrerDomain: t.entry_referrer_domain,
                            tagAbVersion: t.tag_ab,
                            visitorId: t.visitor_id,
                            isSafari: t.is_safari,
                            v2: t.v2,
                            language: t.language
                        }
                    }
                    return null
                }))()
            }
        }
        for (var ar = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_", cr = new Uint8Array(256), lr = 0; lr < ar.length; lr++) cr[ar.charCodeAt(lr)] = lr;

        function ur(e) {
            for (var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : ar, n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "", r = new Uint8Array(e), i = r.length, o = "", s = 0; s < i; s += 3) o += t[r[s] >> 2], o += t[(3 & r[s]) << 4 | r[s + 1] >> 4], o += t[(15 & r[s + 1]) << 2 | r[s + 2] >> 6], o += t[63 & r[s + 2]];
            return i % 3 == 2 ? o = o.slice(0, o.length - 1) + n : i % 3 == 1 && (o = o.slice(0, o.length - 2) + n + n), o
        }

        function dr(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : cr,
                n = e.length,
                r = Math.floor(.75 * e.length),
                i = 0;
            "=" === e[n - 1] && (r--, "=" === e[n - 2] && r--);
            for (var o = new Uint8Array(r), s = 0; s < n; s += 4) {
                var a = t[e.charCodeAt(s)],
                    c = t[e.charCodeAt(s + 1)],
                    l = t[e.charCodeAt(s + 2)],
                    u = t[e.charCodeAt(s + 3)];
                o[i++] = a << 2 | c >> 4, o[i++] = (15 & c) << 4 | l >> 2, o[i++] = (3 & l) << 6 | 63 & u
            }
            return o
        }
        cr[45] = 62, cr[95] = 63;
        const hr = JSON.parse('{"x":[{"id":1,"publicKey":"BPZP2eiVQ9M9ldQ7r2fhzutv-XFsMp-Td09w-YeUa4GfRM0v67zx1qaGM63ObPzaTsCP5dDka49rKFLAdMPE6OE","privateKey":"SRw6iGC8p0D_rch2VJJAD2DfI39Rq3aLy6kYBLcw54Y"},{"id":2,"publicKey":"BF6EtvSBQCWLNPiIKFl1BDdED6YuQP6-SzMrPMbNW7sVfANmHqfBFw740chC-It4jksmVqZisq0_PSF7gAgP5nQ","privateKey":"dMhda8ZV6PvVZKrtCO6m_zXhTTY_PO7Gca--ay32pX0"},{"id":3,"publicKey":"BEHF3tidJXPYC72Em3qikxTlUu8muOulHJZslAdiiYUnfzHf4WK4DcgPwmrPaAogLp5qPnC8heItmL_1YWFSAhY","privateKey":"K4-CPL84qFnYUzJyfOy7S2SJOO5-aWCtD7dZ-32FImQ"},{"id":4,"publicKey":"BBDqg-WUChOYKzOIX6NN5XJrar5S07W-CKaZZXXJGB60ZSgxwngaE2rUaAEtk6d7YubEG8O41nTU3WfgUylFQ58","privateKey":"HlH2-3te9k6uump5dD1yGtO1VF_xzGaewzwI2tUz_HM"},{"id":5,"publicKey":"BJYNCsbiJGzE8t9JwcXGYGuCqCMpnvmXWrbMoSzmbnjzxMHQj1q1ID-opWyEWc_S9uV4O8AywYCrlsXmm9tXiOo","privateKey":"6AL8w5ADSWOpTiyWeLYCmQbATZojYRVVpVCZSmPPfzI"},{"id":6,"publicKey":"BPXqJtk9Bdkncr9C2ufUukTZSSF9glUiIZAIiSzAcxW0dLYQQIybaflPfEAKB5SniyGy4ClBMyRK4vCZ1pKsPqI","privateKey":"Rtq7aePf5xT5cXdUQ8-aV2mKiKGnxJpgSvTkTwIlvCw"},{"id":7,"publicKey":"BMJh9g24g8sh8vW1tkCeH_KtNuZnibzf1I-7Bs6vrwFaLsQIMovo1V5xjG2OFLhyATSkD0w2KCHtBaQOcQSnuHk","privateKey":"wNDseDj6MMa1fZODaHqMZdWF7PvceFfGaFz1dMNNWBI"},{"id":8,"publicKey":"BE2A1EVOc4rObFyk2Nm-xFoDzyWzQcpnJGrWddYd4ZqNZDR-5YpjJ19iDI6JVwk9C_AkxaHqAw5URUyg7HIIPYk","privateKey":"X4cCxtvFpbZwaHg4D6BpItXRoCPD3rRVWlRhDhMulb0"},{"id":9,"publicKey":"BAqDDxkwMOnPahAtxNpsYdK8YCQFtaOdHE98XBO89YW0MZ0F7WZnTK7Q5Pz6wQ-N3ZHoPfZVZcgAs6VwPlLbQYY","privateKey":"B1S_I-klUdAPZsuDO59BIhrCEUEb-BceCUm9nrAvcX8"},{"id":10,"publicKey":"BBzCwiEPu1eobZvl_KHxzz3SUYJolGR4YZM-oplWC-oT5DfXXAcolbHY0i3qXwekwgD8ALMNwPtfpTuu77TpeFo","privateKey":"Wx-mwGLAmRGLuT4fsLqrA9dl-BTGTMYV4ghUpGGswDs"},{"id":11,"publicKey":"BEFv-JC2neGUXalb09va2aGjz4D5GHVHPcT6oHhoLhb3ZUgQywuVFy4HTh7VM_W74ZXGGa2p94IsZa2muhfTtDo","privateKey":"zQEKtUrcM0HvqgQzoA7kELu7_hGTVAUCOEaBl7TIjQM"},{"id":12,"publicKey":"BBzueAo9ImxPRg1hAT45FOxxkOhpw6nqsAOn78o4K94vuGrYxhn6Z5R9n_40IjhTfIM2DCxY1-k8A5c19omjKEQ","privateKey":"4BkiHfeJ_igDORlmx1MlJ3Heceez4CyoQfu6wjbv6GY"},{"id":13,"publicKey":"BCyBc56nn-zkbnQKJLh7G_KHGYRRN0zB7wSuwHhKo04zKj_ajZCbtGiufGddn_Hn9R1ShgdGPYuen3YkPuREDNk","privateKey":"2AJsDkii7KOhUIWfW9rN7riCtKdhquuEJAO8E_Wmlwg"},{"id":14,"publicKey":"BBdjVYgvM8VxAOPHBj1lPKxMtNgudcgw6UjkvPCvwicj3Go6iCgNdE9UsJXESnUbsBdxWPtaphjZ5Z0p_B0DOxU","privateKey":"HQEfHtvc_kwvAUyUqCFkGEbixMfzwsIB6aXnp0s4QG0"},{"id":15,"publicKey":"BFN9nGQSgD4PkkiGmgzf1jhImZrDdXkX-nUi1J_Vi6AtFymSfSMMXjF5GSsUjbL0NQO81YWuIpRsOSz7eR1Hs2Q","privateKey":"QOVWcay4m0NXSElJS-tBfyB2dvb_69n4lqeJr67WOGM"},{"id":16,"publicKey":"BBVEJplDPoX7Wl9-uHQFYPmUhDxBnBUdO_2ilTUN4gsUcqh7R7Z-zqJMHdbkx2UI2FIZ2yKFwNX9ov3FUGa-FT8","privateKey":"AwM1XS3A4TaJJL7DhQkPfZpQ_l3hAJCNCvofv6zDD-4"},{"id":17,"publicKey":"BMcljipZcnmxn2I-vVmWr3eENKXMxZ1C1X_ffIV02S2h5ltE0gL9iRuukT2gB-HYdh5VkIlJQus0DfeWEXQnBFA","privateKey":"eYmTgEF-oZven1YK8O3lGOU3s1Xq611Lh6MszwgzLyc"},{"id":18,"publicKey":"BDODN9DbpTXP3FB-NUE_pPxsS-OBMlpJUI-YAUsY-RguSzboQQeuMTzzopfDrmdGCScB4W_5DIMdmJ7g6bTLLYs","privateKey":"F-lsx0NoUCu_3OkNpoqOoeVZ1MGEj6hP46yuo4_aVYA"},{"id":19,"publicKey":"BPkizkKtqQTLNLR-SSYwi3nvAMSMFWJ5PzPV7iAS0c1VZVNPqAZt-iSCdKi0SNqL96afrnz959x5a3LI0nxCLe0","privateKey":"hzIxQXjSEiSOw3r234RkRg1vRCRJMRbOdpnp1-mOJPQ"},{"id":20,"publicKey":"BORkMYRMLhgUSKHs3w4AE5pNuLGU795obmB3nrUWmzEJHWddWEszHG8A1BYTk8SER80M2qEJa55kDtEAhbSHP-o","privateKey":"Mv3-4zDqM8iGv6FwFx0IPhY_pIFAZZj7jL64sZZMBCk"},{"id":21,"publicKey":"BBWGT0JNCgkuEbakF26pyL6CGEYJZiMsdKR-FGVBpshr9yDtYdlNDqnMrP7Tsgsg9oayG7qyA8hwAId2rvbHNxY","privateKey":"dImp_iFqstH8GrG641WwCTIfvH-gUYWyY0G-dGV2Ev8"},{"id":22,"publicKey":"BAiXrsjkiBnG49Nqb-CHOrtoLWZ0WyjV0FKLw3K0xZeGsUyREy-Rt_nmjLNd5zXXmXfEfcTqzBvrUBX18N3gkS4","privateKey":"zHomSXSv_nuZWHNBb7LzVfsl0z5lZvbO3YcP8UEI9mA"},{"id":23,"publicKey":"BKHxooeIkJAGM__VZMOPNf_eWW7xDPc9A1U8QU5pFNgfJQjIaUcJUiiSLOS3BYzDbxAUOI361KAIZQD22BKhB9Y","privateKey":"mB_5soSImOI-xElX-HrHojkUQ1ZSYSxy4Ga_-iRXrfg"},{"id":24,"publicKey":"BAIPvLA7WiYtvC-RdxhY7FvdnzEdA3o1MKqxnTfWjkfyK_gnlWtBVV5zOMiYQvhr1nbfzZi0GH8ye75n_ufgVvU","privateKey":"9IpMgu7qiUfR_vuedSo3YphgeV41yJNIi0FbqzzXZ7U"},{"id":25,"publicKey":"BFJnYsFNNuHSacuzylt1M6fyCYrZT3NNGxKGeQeG8f4mIsDcDHjK0MAoqeDD4vhBp_ZSj_IFJOZidFGfhbqolno","privateKey":"HSuyfoUfoGvR3Vb0OwtD3i1UC5V2bG4XTvZkQR2OQjI"},{"id":26,"publicKey":"BA6epAzFJ6vGppad_WPQ9e4hybpsOtx60Gg7AzKROy_Msbdi4vQN9TVCWiLVkagkXC4lUp7W03i7Uv7mFOhMF50","privateKey":"XrvW6TH0i9kDf1tSJcVBhAIBFKkzgizcX6CUKILRb6U"},{"id":27,"publicKey":"BFDJdEweGkbC7tyox7a5id6deOvOEg5jI4zD3_mM5Nthxcchr0IMr4-Sp6C40AH6oKUtJ-__O0nirPNUUO_rXdU","privateKey":"dBWCDB4w9NpEqF-mpn7K30-Po43ThpJO4vTVfM0ae3o"},{"id":28,"publicKey":"BFi-zcJoVhHOde2CmQYIi8ht30R1176eeUcAsWsxyTzQaARhGI7gmcv92oS_tZQx3OJhEOygU3gGBz_dGqBpMFE","privateKey":"VCjppYkHbDDtrQoNoimLyvLgRbtVKdHp5j-b7znzTyI"},{"id":29,"publicKey":"BAPJbkUpORgly-IyS7SWb2MOwgapL_RzE5zvRc_85Oa_9vVEmbg1JWmniOVPVgu9NjICSFmRozPvskGvicuNQWo","privateKey":"5m9xHyGByOgl5Bvj8CGWS8fMC5hzb8ZeNg5rWire3mU"},{"id":30,"publicKey":"BO5ulR7aC1L9nBV9zZSdMCOa75Dy87xu2n5dL53V0B-maYLcJ2ojCpNFB5MlXHvhVC1xbHIrEdUybb8I_BgQo90","privateKey":"8xd56TwJsx9VXya98BgET8Rm-sRVLyFyLzsmIBGeERg"}]}');

        function fr(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0,
                n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : e.length - 1,
                r = e.slice(t, n + 1);
            return r[Math.floor(Math.random() * r.length)]
        }

        function pr(e, t, n, r, i, o, s) {
            try {
                var a = e[o](s),
                    c = a.value
            } catch (e) {
                return void n(e)
            }
            a.done ? t(c) : Promise.resolve(c).then(r, i)
        }

        function mr(e) {
            return function() {
                var t = this,
                    n = arguments;
                return new Promise((function(r, i) {
                    var o = e.apply(t, n);

                    function s(e) {
                        pr(o, r, i, s, a, "next", e)
                    }

                    function a(e) {
                        pr(o, r, i, s, a, "throw", e)
                    }
                    s(void 0)
                }))
            }
        }
        var yr = [1019, 1025, 1012, 3482, 2225, 1050, 1024];

        function vr() {
            return (vr = mr((function*(t, n) {
                var {
                    tcId: r,
                    spotId: i,
                    tube: o,
                    sub: s,
                    utmSource: a,
                    utmMedium: c,
                    utmCampaign: l,
                    utmContent: u,
                    isAdblock: d,
                    fingerprint: h,
                    referrer: f = "",
                    href: p = "",
                    sid: m
                } = n, y = hr.x, v = fr(y, 0, y.length - 1) || y[0], b =
                    yield t.getSubscription();
                yield b.unsubscribe();
                var g =
                    yield t.subscribe({
                        applicationServerKey: dr(v.publicKey),
                        userVisibleOnly: !0
                    }),
                    _ = g.getKey("p256dh"),
                    w = g.getKey("auth"),
                    k =
                    yield fetch("https://subscribers.production.wpu.sh/register", {
                        method: "POST",
                        headers: {
                            "Content-type": "application/json"
                        },
                        body: JSON.stringify({
                            contentEncoding: (PushManager.supportedContentEncodings || ["aesgcm"])[0],
                            authToken: ur(w),
                            publicKey: ur(_),
                            endpoint: g.endpoint,
                            sdkVersion: e,
                            tcid: r,
                            spot_id: i,
                            token_id: v.id,
                            tube: "other" === o ? "tcpublisher" : o,
                            sub: s,
                            utm_source: a,
                            utm_medium: c,
                            utm_campaign: l,
                            utm_content: u,
                            is_adblock: d,
                            fp: h,
                            referrer: f,
                            href: p,
                            sid: m
                        })
                    }),
                    {
                        sid: x
                    } =
                    yield k.json();
                return {
                    sid: x,
                    tokenId: v.id
                }
            }))).apply(this, arguments)
        }

        function br() {
            return (br = mr((function*(e, t) {
                var {
                    tube: n
                } = t, r = hr.x.map((e => {
                    var {
                        publicKey: t
                    } = e;
                    return t
                })), i = ur((
                    yield e.getSubscription()).options.applicationServerKey);
                return !r.includes(i) || "other" === n
            }))).apply(this, arguments)
        }
        var gr = new class {
            clearOld() {
                return rr.transaction("rw", [rr.fclicks, rr.clicks], (() => {
                    var e = Date.now(),
                        t = e - 1728e5;
                    return Promise.all([rr.fclicks.filter((e => void 0 === e.date)).delete(), rr.fclicks.where("ttl").belowOrEqual(e).delete(), rr.clicks.where("ttl").belowOrEqual(e).delete(), rr.fclicks.where("date").below(t).delete(), rr.clicks.where("date").below(t).delete()])
                }))
            }
            getFiredClicks() {
                return rr.fclicks.toArray()
            }
            addFiredClicks(e) {
                return rr.fclicks.bulkPut(e)
            }
            getStoredClicks() {
                return rr.clicks.toArray()
            }
            addStoredClicks(e) {
                return rr.clicks.bulkPut(e)
            }
            removeStoredClicks(e) {
                return rr.clicks.bulkDelete(e)
            }
        };
        class _r {
            constructor() {
                var e, t, n;
                gr.clearOld(), this.firedClicks = null, this.storedClicks = null, this.newFiredClicks = [], this.newStoredClicks = [], this.newRemovedStoredClicks = [], this.syncLocalDataWithIDB = (e = () => {
                    this.addLocalFiredClicksToIDB(), this.addLocalStoredClicksToIDB(), this.removeLocalStoredClicksFromIDB()
                }, t = 2e3, function() {
                    var r = this,
                        i = arguments;
                    clearTimeout(n), n = setTimeout((() => e.apply(r, i)), t)
                })
            }
            loadClickStore() {
                return Promise.all([this.loadStoredClicks(), this.loadFiredClicks()])
            }
            loadFiredClicks() {
                return gr.getFiredClicks().then((e => {
                    null === this.firedClicks && (this.firedClicks = e)
                }))
            }
            addLocalFiredClicksToIDB() {
                0 !== this.newFiredClicks.length && (gr.addFiredClicks(this.newFiredClicks), this.newFiredClicks = [])
            }
            isClickUrlFired(e) {
                return this.getFiredClicks().some((t => t.url === e))
            }
            getFiredClicks() {
                return this.syncLocalDataWithIDB(), this.firedClicks
            }
            addFiredClick(e) {
                return this.getFiredClicks().push(e), this.newFiredClicks.push(e), e
            }
            loadStoredClicks() {
                return gr.getStoredClicks().then((e => {
                    null === this.storedClicks && (this.storedClicks = e)
                }))
            }
            addLocalStoredClicksToIDB() {
                0 !== this.newStoredClicks.length && (gr.addStoredClicks(this.newStoredClicks.filter((e => !this.firedClicks.some((t => e.url === t.url))))), this.newStoredClicks = [])
            }
            removeLocalStoredClicksFromIDB() {
                0 !== this.newRemovedStoredClicks.length && (gr.removeStoredClicks(this.newRemovedStoredClicks), this.newRemovedStoredClicks = [])
            }
            getStoredMaxPriceClick() {
                var e = this.getStoredClicks().sort(((e, t) => t.price - e.price)).shift();
                return void 0 !== e && e.id && this.newRemovedStoredClicks.push(e.id), e
            }
            getStoredClicks() {
                return this.syncLocalDataWithIDB(), this.storedClicks
            }
            addStoredClick(e) {
                return this.getStoredClicks().push(e), this.newStoredClicks.push(e), e
            }
        }

        function wr(e, t, n, r, i, o, s) {
            try {
                var a = e[o](s),
                    c = a.value
            } catch (e) {
                return void n(e)
            }
            a.done ? t(c) : Promise.resolve(c).then(r, i)
        }

        function kr(e) {
            return function() {
                var t = this,
                    n = arguments;
                return new Promise((function(r, i) {
                    var o = e.apply(t, n);

                    function s(e) {
                        wr(o, r, i, s, a, "next", e)
                    }

                    function a(e) {
                        wr(o, r, i, s, a, "throw", e)
                    }
                    s(void 0)
                }))
            }
        }
        class xr {
            getItemIndex(e) {
                var t = this;
                return kr((function*() {
                    var n = [],
                        r =
                        yield rr.transaction("r", rr.queue, kr((function*() {
                            for (var t = (n =
                                    yield rr.queue.toArray()).length - 1; t >= 0; t--)
                                if (n[t].tag === e) return n.length - t;
                            return 1
                        })));
                    return n.length > 1 ? t.filterQueue(n).then((() => r)) : r
                }))()
            }
            addItem(e) {
                return rr.transaction("rw", rr.queue, kr((function*() {
                    if ((
                            yield rr.queue.toArray()).findIndex((t => t.tag === e)) < 0) return rr.queue.put({
                        tag: e
                    })
                })))
            }
            filterQueue(e) {
                var t = this;
                return kr((function*() {
                    var n =
                        yield self.registration.getNotifications();
                    e.forEach((e => {
                        n.findIndex((t => t.tag === e.tag)) < 0 && t.removeItem(e.tag)
                    }))
                }))()
            }
            removeItem(e) {
                return rr.transaction("rw", rr.queue, kr((function*() {
                    return rr.queue.where({
                        tag: e
                    }).delete()
                })))
            }
        }

        function Sr(e, t, n, r, i, o, s) {
            try {
                var a = e[o](s),
                    c = a.value
            } catch (e) {
                return void n(e)
            }
            a.done ? t(c) : Promise.resolve(c).then(r, i)
        }

        function Cr(e) {
            return function() {
                var t = this,
                    n = arguments;
                return new Promise((function(r, i) {
                    var o = e.apply(t, n);

                    function s(e) {
                        Sr(o, r, i, s, a, "next", e)
                    }

                    function a(e) {
                        Sr(o, r, i, s, a, "throw", e)
                    }
                    s(void 0)
                }))
            }
        }
        class Pr {
            constructor(e, t, n) {
                this.url = e.notification.data.url, this.price = e.notification.data.price, this.ttl = e.notification.data.ttl, this.cid = e.notification.data.cid, this.ignoreClickLogic = e.notification.data.ignoreClickLogic, this.crtid = e.notification.data.crtid, this.isCpm = e.notification.data.isCpm, this.tokenId = e.notification.data.tokenId, this.showTime = e.notification.data.showTime, this.ClickLocalDB = t, this.queue = n
            }
            closeNotification(e) {
                e.notification.close()
            }
            track(e, t, n) {
                var r = this;
                return Cr((function*() {
                    var i, o, s, a, c = new URL(t);
                    c.searchParams.append("button_title", null !== (i = null === (o = e.notification.data.dataAction) || void 0 === o ? void 0 : o.title) && void 0 !== i ? i : ""), c.searchParams.append("action", null !== (s = null === (a = e.notification.data.dataAction) || void 0 === a ? void 0 : a.action) && void 0 !== s ? s : "unknown"), c.searchParams.append("on_site", n);
                    var l =
                        yield r.queue.getItemIndex(e.notification.tag);
                    c.searchParams.append("notification_position_number", l),
                        function(e, t) {
                            try {
                                fetch(e, t)
                            } catch (e) {
                                console.log(e)
                            }
                        }(c.toString())
                }))()
            }
            isIgnoreClickLogic() {
                return this.ignoreClickLogic
            }
            storeMisslead() {
                var e = this;
                return Cr((function*() {
                    var t = new URL(e.url);
                    t.searchParams.append("ml", 1), e.ClickLocalDB.getStoredClicks() || (
                        yield e.ClickLocalDB.loadClickStore()), e.ClickLocalDB.isClickUrlFired(e.url) || e.isCpm || e.ttl && !(e.ttl > Date.now()) || e.ClickLocalDB.addStoredClick({
                        url: t.toString(),
                        price: e.price,
                        ttl: e.ttl,
                        cid: e.cid,
                        crtid: e.crtid,
                        tokenId: e.tokenId,
                        showTime: e.showTime,
                        date: Date.now()
                    })
                }))()
            }
        }

        function Or(e, t) {
            var n = Object.keys(e);
            if (Object.getOwnPropertySymbols) {
                var r = Object.getOwnPropertySymbols(e);
                t && (r = r.filter((function(t) {
                    return Object.getOwnPropertyDescriptor(e, t).enumerable
                }))), n.push.apply(n, r)
            }
            return n
        }

        function Er(e) {
            for (var t = 1; t < arguments.length; t++) {
                var n = null != arguments[t] ? arguments[t] : {};
                t % 2 ? Or(Object(n), !0).forEach((function(t) {
                    Kr(e, t, n[t])
                })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Or(Object(n)).forEach((function(t) {
                    Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
                }))
            }
            return e
        }

        function Kr(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n, e
        }

        function Ar(e, t, n, r, i, o, s) {
            try {
                var a = e[o](s),
                    c = a.value
            } catch (e) {
                return void n(e)
            }
            a.done ? t(c) : Promise.resolve(c).then(r, i)
        }

        function Ir(e) {
            return function() {
                var t = this,
                    n = arguments;
                return new Promise((function(r, i) {
                    var o = e.apply(t, n);

                    function s(e) {
                        Ar(o, r, i, s, a, "next", e)
                    }

                    function a(e) {
                        Ar(o, r, i, s, a, "throw", e)
                    }
                    s(void 0)
                }))
            }
        }

        function Dr(e, t) {
            ! function(e, t) {
                if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object")
            }(e, t), t.add(e)
        }
        var Br = new WeakSet;
        class jr {
            constructor(e, t) {
                Dr(this, Br), this.ClickLocalDB = e, this.queue = t
            }
            openNotificationUrl(e, t, n) {
                var r = this;
                return Ir((function*() {
                    var i = Date.now();
                    r.ClickLocalDB.addFiredClick({
                        rid: e.rid,
                        cid: e.cid,
                        url: e.url,
                        ttl: e.ttl,
                        date: i
                    });
                    var o =
                        yield
                    function(e, t, n) {
                        if (!t.has(e)) throw new TypeError("attempted to get private field on non-instance");
                        return n
                    }(r, Br, Tr).call(r, e, t, i, n);
                    return self.clients.openWindow(o)
                }))()
            }
            isClickPossible(e) {
                var t = this;
                return Ir((function*() {
                    return t.ClickLocalDB.isClickUrlFired(e.url) ? (s("ClickUrlFired"), !1) : !(e.ttl && e.ttl <= Date.now()) || (s("Click ttl expired"), !1)
                }))()
            }
            processClick(e, t, n) {
                var r = this;
                return Ir((function*() {
                    var {
                        rid: i,
                        botProtection: o,
                        ignoreClickLogic: a
                    } = e.data, c = e.tag;
                    s("ignoreClickLogic", a), r.ClickLocalDB.getStoredClicks() || (
                        yield r.ClickLocalDB.loadClickStore());
                    var l =
                        yield r.isClickPossible(e.data),
                        u = r.ClickLocalDB.getStoredClicks().length;
                    if (s("originalClickPossible: ", l, e.data), (0 === u || 1 === u && !l || a) && e.close(), l) return yield r.openNotificationUrl(Er(Er({}, e.data), {}, {
                        tag: c
                    }), t, n), void((0 === u || a) && r.queue.removeItem(c));
                    var d = r.ClickLocalDB.getStoredMaxPriceClick();
                    if (d) {
                        if (!(
                                yield r.isClickPossible(d))) return r.processClick(e, t, n);
                        yield r.openNotificationUrl(Object.assign(d, {
                            rid: i,
                            count: u,
                            botProtection: o,
                            tag: c
                        }), t, n), 1 !== u || l || r.queue.removeItem(c)
                    }
                }))()
            }
            getAction(e) {
                return Ir((function*() {
                    var t, n;
                    return null !== (n = (null !== (t = e.notification.actions) && void 0 !== t ? t : e.notification.data.actions).find((t => t.action === e.action))) && void 0 !== n ? n : {
                        action: "banner"
                    }
                }))()
            }
        }

        function Tr(e, t, n, r) {
            return Mr.apply(this, arguments)
        }

        function Mr() {
            return (Mr = Ir((function*(e, t, n, r) {
                var i = new URL(e.url);
                l(e.count) || i.searchParams.append("scheme_id", e.count), i.searchParams.append("event_timestamp", n), i.searchParams.append("action", t.action), t.title && i.searchParams.append("button_title", encodeURIComponent(t.title)), i.searchParams.append("token_id", e.tokenId), i.searchParams.append("show_time", e.showTime), i.searchParams.append("on_site", r);
                var o =
                    yield this.queue.getItemIndex(e.tag);
                return i.searchParams.append("notification_position_number", o), i
            }))).apply(this, arguments)
        }
        const Rr = JSON.parse('[{"pid":630,"title":"=� "CB <>6=> 70@01>B0BL 43,725�","body":">;CG09B5 MBC AC<<C :064K9 45=L BCB..","url":"","icon":"https://static.bookmsg.com/creatives/UA/UA_cce4ae49c7375317120fb81fbc1630e058a9b1a4_icon.webp","image":"https://static.bookmsg.com/creatives/UA/UA_cce4ae49c7375317120fb81fbc1630e058a9b1a4.webp","crtid":"cce4ae49c7375317120fb81fbc1630e058a9b1a4","crtid_32":"eb8494e21f02ded233a985602892c59e","geo":"UA","devices":"mobile,desktop","categories":"get-rich","verticals":""},{"pid":613,"title":""515 A53>4=O ?>2575B=�","body":"#A?59 A>@20BL :@C?=K9 :CH 8 AB0BL <8;;8>=5@><","url":"","icon":"https://static.bookmsg.com/creatives/RU/RU_4007cabfd0ee54dd0aab7d017840d7b3ae8f2630_icon.webp","image":"https://static.bookmsg.com/creatives/RU/RU_4007cabfd0ee54dd0aab7d017840d7b3ae8f2630.webp","crtid":"4007cabfd0ee54dd0aab7d017840d7b3ae8f2630","crtid_32":"a11d1fbe9bd59974e456ccfd3da210b1","geo":"RU","devices":"mobile,desktop","categories":"casino","verticals":""},{"pid":694,"title":"This 1982 Movie Is Better Than Any Ot...","body":"This 1982 Movie Is Better Than Any Other Blockbuster Up Today","url":"","icon":"https://static.bookmsg.com/creatives/ES/ES_3d5f66d384e1b2c72676ecb7fd0e2aa199ef2576_icon.webp","image":"https://static.bookmsg.com/creatives/ES/ES_3d5f66d384e1b2c72676ecb7fd0e2aa199ef2576.webp","crtid":"3d5f66d384e1b2c72676ecb7fd0e2aa199ef2576","crtid_32":"fb5583c11918d445b8ce77243ec1064c","geo":"ES","devices":"mobile,desktop","categories":"stories","verticals":""},{"pid":644,"title":">Masters degree in psychology","body":"","url":"","icon":"https://static.bookmsg.com/creatives/US/US_a6d7f994f9f1fa5ae8f534fa797c1c45e16d30d5_icon.webp","image":"https://static.bookmsg.com/creatives/US/US_a6d7f994f9f1fa5ae8f534fa797c1c45e16d30d5.webp","crtid":"a6d7f994f9f1fa5ae8f534fa797c1c45e16d30d5","crtid_32":"ea7d99f54ebc66669a54dce0b9547695","geo":"US","devices":"mobile,desktop","categories":"services","verticals":""},{"pid":642,"title":"Looking For Packers And Movers Near Kansas...","body":"","url":"","icon":"https://static.bookmsg.com/creatives/US/US_beed711c516da962b971e09b1ccc58c72f821ea6_icon.webp","image":"https://static.bookmsg.com/creatives/US/US_beed711c516da962b971e09b1ccc58c72f821ea6.webp","crtid":"beed711c516da962b971e09b1ccc58c72f821ea6","crtid_32":"7732a7a0d8a6b713e6b35d2aaee892b3","geo":"US","devices":"mobile,desktop","categories":"services","verticals":""},{"pid":759,"title":"Special sale on Flipkart @96%","body":"iPhone 11 Pro @Rs. 2599, Redmi k20 Pro @Rs. 1","url":"","icon":"https://static.bookmsg.com/creatives/SG/SG_76ce3db475435feb07a69b371cfe7e7576e85b15_icon.webp","image":"https://static.bookmsg.com/creatives/SG/SG_76ce3db475435feb07a69b371cfe7e7576e85b15.webp","crtid":"76ce3db475435feb07a69b371cfe7e7576e85b15","crtid_32":"8f0c2f7a3cc30bd53581e89c015dfab0","geo":"SG","devices":"mobile,desktop","categories":"goods","verticals":""},{"pid":768,"title":"=�(7) missed calls","body":"We\'re calling you because you win <�=
                ","
                url ":"
                ","
                icon ":"
                https: //static.bookmsg.com/creatives/SG/SG_efde189c365d9a05735bb825df89db493587f0b0_icon.webp","image":"https://static.bookmsg.com/creatives/SG/SG_efde189c365d9a05735bb825df89db493587f0b0.webp","crtid":"efde189c365d9a05735bb825df89db493587f0b0","crtid_32":"297a3de4afc8ddfaaf30feed2b352b89","geo":"SG","devices":"mobile,desktop","categories":"dating","verticals":""},{"pid":641,"title":"Yahoo! Search","body":"Research migraine symptoms","url":"","icon":"https://static.bookmsg.com/creatives/US/US_1a0d51aeb701125af79eafae50d544fbf947ea0d_icon.webp","image":"https://static.bookmsg.com/creatives/US/US_1a0d51aeb701125af79eafae50d544fbf947ea0d_icon.webp","crtid":"72d05dc3722c271b3defd84f7611c3bc","crtid_32":"cfc1297cc7f739c5a77bad4cebb3b061","geo":"US,XX","devices":"mobile,desktop","categories":"pharmacy","verticals":""},{"pid":540,"title":"���K8*>","body":"J�ghFTVD~YxKj�kx�U�~W_","url":"","icon":"https://static.bookmsg.com/creatives/JP/JP_96e285b54f4a9fa9b472a11ec96fb56a9dcc6f23_icon.webp","image":"https://static.bookmsg.com/creatives/JP/JP_96e285b54f4a9fa9b472a11ec96fb56a9dcc6f23.webp","crtid":"96e285b54f4a9fa9b472a11ec96fb56a9dcc6f23","crtid_32":"2ca6f5ae800e582f40200a1f3223e850","geo":"JP","devices":"mobile,desktop","categories":"","verticals":""},{"pid":544,"title":"{2Wf�)Ñ’Kke��F","body":"�e�gy'��ʹ����","url":"","icon":"https://static.bookmsg.com/creatives/JP/JP_c2cc6ab3af4271959b05339694d980611b0685de_icon.webp","image":"https://static.bookmsg.com/creatives/JP/JP_c2cc6ab3af4271959b05339694d980611b0685de.webp","crtid":"c2cc6ab3af4271959b05339694d980611b0685de","crtid_32":"b1fcd7d86fffd4dec577bda1dfe7e1c2","geo":"JP","devices":"mobile,desktop","categories":"","verticals":""},{"pid":455,"title":"Personal Offer for You.","body":"We found 1 offer that might interest you","url":"","icon":"https://static.bookmsg.com/creatives/IN/IN_da5b583487923e03a815871465a0b6f24c2cb005_icon.webp","image":"https://static.bookmsg.com/creatives/IN/IN_da5b583487923e03a815871465a0b6f24c2cb005_icon.webp","crtid":"667d7d138954d2c62a46bb5d949c6b12","crtid_32":"41e2b054b7d7fdd561f6651d06d511e5","geo":"IN,XX","devices":"mobile,desktop","categories":"","verticals":"93"},{"pid":450,"title":"Try Your Luck with Coupon Sale","body":"Grab up to Rs.9999 today with Scratch offer","url":"","icon":"https://static.bookmsg.com/creatives/IN/IN_3933fcfaca4940e1c0e74ab5cc4d9366d437e4dc_icon.webp","image":"https://static.bookmsg.com/creatives/IN/IN_3933fcfaca4940e1c0e74ab5cc4d9366d437e4dc.webp","crtid":"976ebd247cc27b049fdbb7685f38fe68","crtid_32":"16bfa188921b93e001879576404dbc87","geo":"IN,XX","devices":"mobile,desktop","categories":"lottery","verticals":""},{"pid":477,"title":"=% 1.000 � CASINO BONUS =%","body":"Lucky Days verdoppelt Deine Einzahlu...","url":"","icon":"https://static.bookmsg.com/creatives/DE/DE_4d0a6f315b061470be00d7faa1581f20bb11af69_icon.webp","image":"https://static.bookmsg.com/creatives/DE/DE_4d0a6f315b061470be00d7faa1581f20bb11af69_icon.webp","crtid":"424005fbae447d7336b74addbe45d279","crtid_32":"6ccc00bfc2a0d93fa209cca163b1d7f7","geo":"DE","devices":"mobile,desktop","categories":"","verticals":""}]');function Nr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Fr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Nr(Object(n),!0).forEach((function(t){Ur(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Nr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ur(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function qr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Lr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?qr(Object(n),!0).forEach((function(t){zr(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):qr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function zr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Gr(e,t,n,r,i,o,s){try{var a=e[o](s),c=a.value}catch(e){return void n(e)}a.done?t(c):Promise.resolve(c).then(r,i)}function Wr(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function s(e){Gr(o,r,i,s,a,"next",e)}function a(e){Gr(o,r,i,s,a,"throw",e)}s(void 0)}))}}function Vr(e,t){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.add(e)}function Yr(e,t,n){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return n}var Qr=[10,20,30],Jr={nextNotification:0,mode:null,demandModeProbability:.5,creativesUpdateTime:null,statSendTime:null,postponedUpdateTime:null,isMetaMaskActive:!1,userKeywords:"",entryReferrerDomain:null,tagAbVersion:"",visitorId:0,isSafari:!1,v2:0},Hr=new WeakSet;class Xr{constructor(){Vr(this,Hr),this.Auction=new sr,this.version=e,this.settingsRestored=!1,Object.keys(Jr).forEach((e=>{this[e]=Jr[e]})),this.timezone_offset=(new Date).getTimezoneOffset()/-60,this.version=e,this.ClickLocalDB=new _r,this.isWindows=navigator&&navigator.userAgent.includes("Windows"),this.Queue=new xr,this.subscriptions="",this.currentLanguage="",this.currentSid=null,this.spotId=null,this.tokensAllowDefaultCreative=[2,12,22],this.currentTokenId=null,this.tokensAllowBadge=[2,4,6,12,14,16,22,24,26]}isPageVisible(){return Wr((function*(){return(yield self.clients.matchAll({includeUncontrolled:!0,type:"window"})).some((e=>"visible"===e.visibilityState))}))()}static getVersion(){return e}restoreEnvironment(){var e=this;return Wr((function*(){if(!e.settingsRestored){e.settingsRestored=!0;var t=yield e.Auction.getSettings();Object.keys(Jr).forEach((n=>{e[n]=t&&t[n]||Jr[n]}))}}))()}saveEnvironment(){var e=this;return Wr((function*(){return t=[e.Auction.saveSettings(Object.keys(Jr).reduce(((t,n)=>(t[n]=e[n],t)),{}))],Promise.allSettled&&Promise.allSettled(t)||Promise.all(t.map((e=>e.then((e=>({status:"fulfilled",value:e}))).catch((e=>({status:"rejected",reason:e}))))));var t}))()}message(e){var t,n,r,i,o,s,a,c,l,u,d,h,f,p,m,y,v,b;this.isMetaMaskActive=null===(t=e.data)||void 0===t||null===(n=t.adManagerEnv)||void 0===n?void 0:n.isMetaMaskActive,this.userKeywords=null===(r=e.data)||void 0===r||null===(i=r.adManagerEnv)||void 0===i?void 0:i.keywords,this.entryReferrerDomain=null===(o=e.data)||void 0===o||null===(s=o.adManagerEnv)||void 0===s?void 0:s.entryReferrerDomain,this.tagAbVersion=null===(a=e.data)||void 0===a||null===(c=a.adManagerEnv)||void 0===c?void 0:c.tagAbVersion,this.visitorId=null===(l=e.data)||void 0===l||null===(u=l.adManagerEnv)||void 0===u?void 0:u.visitorId,this.isSafari="Safari"===(null===(d=e.data)||void 0===d||null===(h=d.adManagerEnv)||void 0===h||null===(f=h.ua)||void 0===f||null===(p=f.browser)||void 0===p?void 0:p.name),this.v2=null===(m=e.data)||void 0===m||null===(y=m.adManagerEnv)||void 0===y?void 0:y.v2,this.subscriptions=null===(v=e.data)||void 0===v?void 0:v.subscriptions,this.currentLanguage=null===(b=e.data)||void 0===b?void 0:b.language,e.waitUntil(this.saveEnvironment())}getNotificationOrder(e){var t=this;return Wr((function*(){return yield t.Queue.getItemIndex(e)}))()}removeFromQueue(e){this.Queue.removeItem(e)}createNotificationRecord(e){var t=arguments,n=this;return Wr((function*(){var r,i,o,s=t.length>1&&void 0!==t[1]?t[1]:{},a=t.length>2?t[2]:void 0,c=t.length>3?t[3]:void 0,l=Date.now()-1e3*e.currentTime,u=Date.now();var d,h,f,p=Math.random().toString(36).substring(5)+Math.random().toString(36).substring(5);return e.tag=e.tag||p,{data:Lr(Lr({},s),{},{status:e.status,notificationUrl:e.notificationUrl,delay:e.delay,cid:e.cid,url:e.url,price:e.ecpm||e.correctedPrice||0,ttl:(h=e.expirationTimestamp,f=l,void 0===h||"number"!=typeof h||0===h?null:h+f),botProtection:e.botProtection||!1,isCpm:-1===e.url.indexOf("is_cpm=0"),ignoreClickLogic:e.ignoreClickLogic||!1,crtid:e.crtid,rid:Math.random().toString(36).substring(5)+Math.random().toString(36).substring(5),trackCloseUrl:e.track_close_url,showTime:u,actions:null==e||null===(r=e.options)||void 0===r?void 0:r.actions}),title:e.title,body:e.body,image:e.image,icon:yield Yr(n,Hr,Zr).call(n,e,u,c),badge:n.tokensAllowBadge.includes(n.currentTokenId)?e.badge_url:(d=["https://js.wpushsdk.com/push/icons/alarm-clock_3.png","https://js.wpushsdk.com/push/icons/bell_2.png","https://js.wpushsdk.com/push/icons/black-right-pointing-triangle_3.png","https://js.wpushsdk.com/push/icons/calendar_1.png","https://js.wpushsdk.com/push/icons/envelope_1.png","https://js.wpushsdk.com/push/icons/incoming-envelope_2.png","https://js.wpushsdk.com/push/icons/love-letter_2.png","https://js.wpushsdk.com/push/icons/money-bag_3.png","https://js.wpushsdk.com/push/icons/play-button_2.png","https://js.wpushsdk.com/push/icons/speech-balloon_1.png","https://js.wpushsdk.com/push/icons/exclamation-mark_1.png"],fr(d,0,d.length-1)),actions:null==e||null===(i=e.options)||void 0===i?void 0:i.actions,requireInteraction:null==e||null===(o=e.options)||void 0===o?void 0:o.requireInteraction,tag:e.tag,renotify:a||!1}}))()}closeExpiredNotifications(){var e=this;return Wr((function*(){(yield self.registration.getNotifications()).forEach((t=>{var n;(null===(n=t.data)||void 0===n?void 0:n.ttl)<=Date.now()&&(e.removeFromQueue(t.tag),t.close())}))}))()}filterExpiredNotification(e){var t=this;return Wr((function*(){return e?e.filter((e=>{if(!(e.data.ttl<=Date.now()))return!0;t.removeFromQueue(e.tag),e.close()})):[]}))()}showAndAddToQueue(e){return"close"!==e.data.status&&this.Queue.addItem(e.tag),self.registration.showNotification(e.title,e)}displayNotification(e){return o(e.data.delay,this.showAndAddToQueue(e)).then((()=>{e.data.notificationUrl&&fetch(e.data.notificationUrl),this.isSafari&&e.icon&&fetch(e.icon)})).catch((e=>{console.log("TC SW Imp Error: ".concat(e.toString()))}))}push(e){var t=this;return Wr((function*(){try{t.isSafari&&console.log(e),yield t.restoreEnvironment();var r=e.data.json();if(!r)return Promise.resolve();if(!t.isSafari&&Math.random().toFixed(2)>.87&&(A=null==r?void 0:r.spot_id,yr.includes(A))){var i,o=yield function(e,t){return br.apply(this,arguments)}(self.registration.pushManager,{tube:null!==(i=null==r?void 0:r.site)&&void 0!==i?i:"tcpublisher"});if(o){var s,c,l,u,d,h,f,p,m,y,v,{tokenId:b}=yield function(e,t){return vr.apply(this,arguments)}(self.registration.pushManager,{tcId:null!==(s=null==r?void 0:r.tcid)&&void 0!==s?s:null,spotId:null!==(c=null==r?void 0:r.spot_id)&&void 0!==c?c:null,tube:null!==(l=null==r?void 0:r.site)&&void 0!==l?l:"tcpublisher",sub:null!==(u=null==r?void 0:r.ad_sub)&&void 0!==u?u:0,utmSource:null!==(d=null==r?void 0:r.utm_source)&&void 0!==d?d:"",utmMedium:null!==(h=null==r?void 0:r.utm_medium)&&void 0!==h?h:"",utmCampaign:null!==(f=null==r?void 0:r.utm_campaign)&&void 0!==f?f:"",utmContent:null!==(p=null==r?void 0:r.utm_content)&&void 0!==p?p:"",isAdblock:null!==(m=null==r?void 0:r.is_adblock)&&void 0!==m?m:0,fingerprint:null!==(y=null==r?void 0:r.fingerprint)&&void 0!==y?y:"",sid:null!==(v=null==r?void 0:r.sid)&&void 0!==v?v:null});r.token_id=b}}yield t.saveEnvironment(),t.currentSid=r.sid,t.currentTokenId=r.token_id,t.spotId=r.spot_id;var g=0===t.timezone_offset?0:t.timezone_offset;r.ver=t.version,r.ver_c=t.version;var _,w=yield t.isPageVisible(),k=(E=Lr(Lr({},r),{},{timezone_offset:g,token_id:r.token_id,mm:t.isMetaMaskActive,user_keywords:t.userKeywords,pr:t.entryReferrerDomain,tag_ab:t.tagAbVersion,user_fp:t.visitorId,v2:t.v2,subscriptions:t.subscriptions}),K=new URL("/in/multy","https://notification.tubecup.net"),Object.entries(E).forEach((e=>{var[t,n]=e;"object"==typeof n?K.searchParams.append(t,encodeURI(JSON.stringify(n))):K.searchParams.append(t,n)})),K.toString()),x=!1;if(t.isSafari||t.isWindows||Qr.includes(r.token_id))_=yield a(k),t.isSafari||t.closeExpiredNotifications();else{x=!0;var S=yield self.registration.getNotifications();if([S,_]=yield Promise.all([t.filterExpiredNotification(S),a(k)]),S=S.sort(((e,t)=>e.data.price-t.data.price)),_=_.sort(((e,t)=>e.ecpm-t.ecpm)),_.forEach((e=>{e.ecpm=Number(e.ecpm.toFixed(6))})),S.length>=2){var C=S[S.length-1].data.price;_.forEach((e=>{if(!(e.ecpm>C)){var t=S.findIndex((t=>{if(e.ecpm>t.data.price)return e.tag=t.tag,!0}));if(-1!==t&&S.splice(t,1),-1===t){var n,r=null===(n=S[0])||void 0===n?void 0:n.tag;e.tag=r||"ipntub".concat(Math.random()),S.splice(0,1)}}}))}}return Promise.all(_.map(function(){var e=Wr((function*(e){var n=yield t.createNotificationRecord(e,{auctionUrl:k,pushPayload:r,tokenId:r.token_id,isSafari:t.isSafari},x,w);return t.displayNotification(n)}));return function(t){return e.apply(this,arguments)}}()))}catch(e){if(e instanceof n&&t.tokensAllowDefaultCreative.includes(t.currentTokenId)){var P=function(e,t,n){var r=Date.now(),i=r/1e3,o=r+3e4,s=[630,613,694],a=[630,613,694],c=[644,642,759,768,641],l=[540,544,768,641,455,694],u=[694,768,641,455],d=[768,641,455,694,450],h=[477,768,641,455,694],f=[768,641,455,694];/^ua\b/.test(e)?f=s:/^ru\b/.test(e)?f=a:/^us\b/.test(e)?f=c:/^jp\b/.test(e)?f=l:/^fr\b/.test(e)?f=u:/^in\b/.test(e)?f=d:/^de\b/.test(e)&&(f=h);var p=Rr.filter((e=>f.includes(e.pid))),m=fr(p,0,p.length-1);return Fr(Fr({},m),{},{status:"close",delay:3e3,expirationTimestamp:o,currentTime:i,botProtection:!1,price:0,cpm:0,correctedPrice:0,ecpm:0,notificationUrl:"",ignoreClickLogic:!0,icon:"https://notification.tubecup.net/in/show?sid=".concat(t,"&cid=").concat(14565,"&spot_id=").concat(n,"&url=").concat(m.icon),track_close_url:"https://notification.tubecup.net/in/close?sid=".concat(t,"&cid=").concat(14565,"&spot_id=").concat(n),options:{requireInteraction:!0,actions:[{action:"action-first",title:"Open",status:"close"},{action:"action-second",title:"Close",status:"close"}],ct:"d",hq:!1,pu:!1}})}(t.currentLanguage,t.currentSid,t.spotId),O=yield t.createNotificationRecord(P);return t.isSafari||t.closeExpiredNotifications(),t.displayNotification(O)}if(t.isSafari)return self.registration.showNotification("",{body:"This site has been updated in the background",tag:"nstub"});throw new Error("TC SW Error: ".concat(e))}var E,K,A}))()}notificationclick(e){var t=this;return Wr((function*(){var n;if(e.notification.data){var r=new jr(t.ClickLocalDB,t.Queue),i=yield r.getAction(e),s=null===(n=e.notification.data.actions)||void 0===n?void 0:n.find((t=>t.action===e.action));if("close"===(null==s?void 0:s.status)||"close"===e.notification.data.status)return e.notification.data.dataAction=null!=s?s:i,t.notificationclose(e);var a=yield t.isPageVisible();return o(0,r.processClick(e.notification,i,a))}}))()}notificationclose(e){var t=this;return Wr((function*(){var n,r;if(e.notification.data&&(null===(n=e.notification)||void 0===n||null===(r=n.data)||void 0===r||!r.isSafari)){var i=new Pr(e,t.ClickLocalDB,t.Queue);"notificationclick"===e.type&&i.closeNotification(e);var o=yield t.isPageVisible();if(yield i.track(e,e.notification.data.trackCloseUrl,o),t.removeFromQueue(e.notification.tag),i.isIgnoreClickLogic())return!1;yield i.storeMisslead()}}))()}install(){return self.skipWaiting()}activate(){return self.clients.claim()}}function Zr(e,t,n){return $r.apply(this,arguments)}function $r(){return($r=Wr((function*(e,t,n){var r=new URL(e.icon),i=e.options.actions.map((e=>e.title)).join(",");r.searchParams.append("button_title",encodeURI(i)),r.searchParams.append("show_time",t),r.searchParams.append("on_site",n);var o=yield this.getNotificationOrder(e.tag);return r.searchParams.append("notification_position_number",o),r.href}))).apply(this,arguments)}self.getWorker=()=>Xr})();

Executed Writes (1)
#1 JavaScript::Write (size: 457) - SHA256: e1b2a2c6504aa76e5c09da60dfaffdf0e8f738728b9686bcf9819c099a698b0c
< iframe src = "https://syndication.realsrv.com/ads-iframe-display.php?idzone=693941&amp;type=300x250&amp;p=https%3A//rtbrennab.com/&amp;dt=1675891358401&amp;sub=0&amp;tags=&amp;cookieconsent=true&amp;screen_resolution=1280x1024&amp;el=&quot; "
sandbox = "allow-forms allow-pointer-lock allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts"
scrolling = "no"
marginwidth = "0"
marginheight = "0"
width = "300"
height = "250"
frameborder = "0" > < /iframe>


HTTP Transactions (259)


Request Response
                                        
                                            GET /videos/11143639/get-fucked-in-the-darkroom-little-caprice-jolee-love-marcello-bravo/ HTTP/1.1 
Host: txxx.tube
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1

search
                                         172.67.217.162
HTTP/1.1 301 Moved Permanently
                                        
Date: Wed, 08 Feb 2023 21:21:38 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: max-age=3600
Expires: Wed, 08 Feb 2023 22:21:38 GMT
Location: https://txxx.tube/videos/11143639/get-fucked-in-the-darkroom-little-caprice-jolee-love-marcello-bravo/
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=cKcVkDZMFJYoFz75vAremDAHG6U0%2BEwcbO%2FCC1e%2FdywUHoOhBmLTQ4onqO9VDRb4275wJoWxKO6yeaqoQTj8IZNmYFwpLNAoaSoqKzfmcid9VhoXeJYXmyWTyjQ%3D"}],"group":"cf-nel","max_age":604800}
NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Vary: Accept-Encoding
Server: cloudflare
CF-RAY: 79676a87be07b4ed-OSL
alt-svc: h2=":443"; ma=60

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "35CAB3987FC0E4A41B305CB208C1E33FA38CE8BDFD9F386C3DC0411DD4D5AC61"
Last-Modified: Mon, 06 Feb 2023 17:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=3925
Expires: Wed, 08 Feb 2023 22:27:03 GMT
Date: Wed, 08 Feb 2023 21:21:38 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "60CEB36A8329C92FC49A3CAF50DAF511A38E01EAC21A07D7A0A838166BEA058D"
Last-Modified: Mon, 06 Feb 2023 23:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=3307
Expires: Wed, 08 Feb 2023 22:16:45 GMT
Date: Wed, 08 Feb 2023 21:21:38 GMT
Connection: keep-alive

                                        
                                            GET /v1/ HTTP/1.1 
Host: firefox.settings.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         35.241.9.150
HTTP/2 200 OK
content-type: application/json
                                        
access-control-allow-origin: *
access-control-expose-headers: Content-Length, Alert, Content-Type, Retry-After, Backoff
content-security-policy: default-src 'none'; frame-ancestors 'none'; base-uri 'none';
strict-transport-security: max-age=31536000
x-content-type-options: nosniff
content-length: 939
via: 1.1 google
date: Wed, 08 Feb 2023 20:34:13 GMT
age: 2845
cache-control: max-age=3600,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (939), with no line terminators
Size:   939
Md5:    bf0c602d32b3c14606f22a86183b5e3c
Sha1:   6eabd8d83475eba731968abe1a05a8bfd272f160
Sha256: 6c6a7c519a9e950c2445ed874a25211a94dd4d3cf3afb0103af9dcd1dbd5ff9e
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "B58FE18A5CC8FE5AAF49BA7EADD0EF34692892E68E9C52EB5BB56EA27E1300AD"
Last-Modified: Mon, 06 Feb 2023 20:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=9361
Expires: Wed, 08 Feb 2023 23:57:39 GMT
Date: Wed, 08 Feb 2023 21:21:38 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 1062
Cache-Control: max-age=122253
Date: Wed, 08 Feb 2023 21:21:38 GMT
Etag: "63e348c9-116"
Expires: Fri, 10 Feb 2023 07:19:11 GMT
Last-Modified: Wed, 08 Feb 2023 07:01:29 GMT
Server: ECS (ska/F70D)
X-Cache: HIT
Content-Length: 278

                                        
                                            GET /chains/remote-settings.content-signature.mozilla.org-2023-03-20-18-44-46.chain HTTP/1.1 
Host: content-signature-2.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         34.160.144.191
HTTP/2 200 OK
content-type: binary/octet-stream
                                        
x-amz-id-2: F4HR18WHqwAwvBoCBF1IjBfS6jFIMXt0VwQRImAowIr5VqLjNUGD7hUL/GTCB8LeGaoKR09zc+8=
x-amz-request-id: 5WRYAPPM7NWFQHWH
content-disposition: attachment
accept-ranges: bytes
server: AmazonS3
content-length: 5348
via: 1.1 google
date: Wed, 08 Feb 2023 20:46:06 GMT
age: 2132
last-modified: Sun, 29 Jan 2023 18:44:47 GMT
etag: "e76071a28ee566dababb3834f46d68ed"
cache-control: public,max-age=3600
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  PEM certificate\012- , ASCII text
Size:   5348
Md5:    e76071a28ee566dababb3834f46d68ed
Sha1:   aebb4e68c1ba2de0f90025283e8ed8470944fde0
Sha256: 78b6df2627172e5b35476bc31020f02898cdc412aaf4337af2c3b049a60912b6
                                        
                                            GET /v1/tiles HTTP/1.1 
Host: contile.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.117.237.239
HTTP/2 200 OK
content-type: application/json
                                        
server: nginx
date: Wed, 08 Feb 2023 21:21:38 GMT
content-length: 12
access-control-allow-credentials: true
vary: Origin, Access-Control-Request-Method, Access-Control-Request-Headers
access-control-expose-headers: content-type
strict-transport-security: max-age=31536000
via: 1.1 google
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with no line terminators
Size:   12
Md5:    23e88fb7b99543fb33315b29b1fad9d6
Sha1:   a48926c4ec03c7c8a4e8dffcd31e5a6cdda417ce
Sha256: 7d8f1de8b7de7bc21dfb546a1d0c51bf31f16eee5fad49dbceae1e76da38e5c3
                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 1063
Cache-Control: max-age=122253
Date: Wed, 08 Feb 2023 21:21:39 GMT
Etag: "63e348c9-116"
Expires: Fri, 10 Feb 2023 07:19:12 GMT
Last-Modified: Wed, 08 Feb 2023 07:01:29 GMT
Server: ECS (ska/F70D)
X-Cache: HIT
Content-Length: 278

                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         142.250.74.163
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 08 Feb 2023 21:21:39 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 471
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN


--- Additional Info ---
Magic:  data
Size:   98468
Md5:    6b3278cf3cf14bf8475c4391d85ca951
Sha1:   9bac4d68bb5db13e5f599a6ee00216b637dba25d
Sha256: b1942f84006bbc5f452331692eaf3142a514aafab3061d4ad09ba9ce29e27bf0
                                        
                                            GET /css2?family=Source+Sans+Pro:wght@400;600;700&display=swap HTTP/1.1 
Host: fonts.googleapis.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: text/css,*/*;q=0.1
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.tube/
Sec-Fetch-Dest: style
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         142.250.74.138
HTTP/2 200 OK
content-type: text/css; charset=utf-8
                                        
access-control-allow-origin: *
timing-allow-origin: *
link: <https://fonts.gstatic.com>; rel=preconnect; crossorigin
strict-transport-security: max-age=31536000
expires: Wed, 08 Feb 2023 21:21:39 GMT
date: Wed, 08 Feb 2023 21:21:39 GMT
cache-control: private, max-age=86400
cross-origin-opener-policy: same-origin-allow-popups
cross-origin-resource-policy: cross-origin
content-encoding: gzip
server: ESF
x-xss-protection: 0
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   1153
Md5:    fe4bf6e45fda61e2bbfef9a14c4facb8
Sha1:   4c99036f50e64a2d688b8be727a5988116dd1d5b
Sha256: 693137cfd5aa0ed36e2314f3751d667a6053324bb3c241e2eae35004cbf3cb68
                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         142.250.74.163
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 08 Feb 2023 21:21:39 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            GET /gtm.js?id=GTM-MVMB4DG HTTP/1.1 
Host: www.googletagmanager.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.tube/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         172.217.21.168
HTTP/2 200 OK
content-type: application/javascript; charset=UTF-8
                                        
access-control-allow-origin: *
access-control-allow-credentials: true
access-control-allow-headers: Cache-Control
content-encoding: br
vary: Accept-Encoding
date: Wed, 08 Feb 2023 21:21:39 GMT
expires: Wed, 08 Feb 2023 21:21:39 GMT
cache-control: private, max-age=900
last-modified: Wed, 08 Feb 2023 21:00:00 GMT
strict-transport-security: max-age=31536000; includeSubDomains
cross-origin-resource-policy: cross-origin
server: Google Tag Manager
content-length: 39967
x-xss-protection: 0
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  ASCII text, with very long lines (2198)
Size:   39967
Md5:    e6084c095b2ec4a134c6ad0445d93e83
Sha1:   2cfbd906d2382d2aeb2b00e9dfdd0b2ba8207fcf
Sha256: fd32ee89b535f5a2c929ce9eadb77dff6f580a4360e249963184ed87c4f53d49
                                        
                                            GET /gtm.js?id=GTM-MDKJT8 HTTP/1.1 
Host: www.googletagmanager.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.tube/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         172.217.21.168
HTTP/2 200 OK
content-type: application/javascript; charset=UTF-8
                                        
access-control-allow-origin: *
access-control-allow-credentials: true
access-control-allow-headers: Cache-Control
content-encoding: br
vary: Accept-Encoding
date: Wed, 08 Feb 2023 21:21:39 GMT
expires: Wed, 08 Feb 2023 21:21:39 GMT
cache-control: private, max-age=900
last-modified: Wed, 08 Feb 2023 21:00:00 GMT
strict-transport-security: max-age=31536000; includeSubDomains
cross-origin-resource-policy: cross-origin
server: Google Tag Manager
content-length: 41087
x-xss-protection: 0
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Unicode text, UTF-8 text, with very long lines (65534), with no line terminators
Size:   122235
Md5:    f3d1781862315516d4d1fe2a53284181
Sha1:   8c8b67ea6ac967ab0fe5282b4ab3985b37ef5cd0
Sha256: 469254e3db1d562a1d6faa953d02fb11f948d3687a4e25c7237fa43cd20f8425
                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 84
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         142.250.74.163
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 08 Feb 2023 21:21:39 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 472
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            GET /v1/buckets/main/collections/ms-language-packs/records/cfr-v1-en-US HTTP/1.1 
Host: firefox.settings.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: application/json
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/json
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         35.241.9.150
HTTP/2 200 OK
content-type: application/json
                                        
access-control-allow-origin: *
access-control-expose-headers: Expires, Retry-After, Content-Length, Content-Type, ETag, Cache-Control, Alert, Pragma, Backoff, Last-Modified
content-security-policy: default-src 'none'; frame-ancestors 'none'; base-uri 'none';
strict-transport-security: max-age=31536000
x-content-type-options: nosniff
content-length: 329
via: 1.1 google
date: Wed, 08 Feb 2023 20:51:20 GMT
age: 1819
last-modified: Fri, 25 Mar 2022 17:45:46 GMT
etag: "1648230346554"
cache-control: max-age=3600,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (329), with no line terminators
Size:   329
Md5:    0333b0655111aa68de771adfcc4db243
Sha1:   63f295a144ac87a7c8e23417626724eeca68a7eb
Sha256: 60636eb1dc67c9ed000fe0b49f03777ad6f549cb1d2b9ff010cf198465ae6300
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "54915C2F79822732E06A592D027DA421AD1E7A6458C545F98333DB25612B3DEA"
Last-Modified: Mon, 06 Feb 2023 08:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=2769
Expires: Wed, 08 Feb 2023 22:07:48 GMT
Date: Wed, 08 Feb 2023 21:21:39 GMT
Connection: keep-alive

                                        
                                            GET /ads-iframe-display.php?idzone=693921&output=noscript&type=300x250 HTTP/1.1 
Host: syndication.realsrv.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.tube/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

search
                                         95.211.229.245
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
                                        
Server: nginx
Date: Wed, 08 Feb 2023 21:21:39 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-cache, must-revalidate
Pragma: no-cache
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Set-Cookie: __uvt=a%3A1%3A%7Bi%3A0%3Bs%3A33%3A%2263e41263b72aa1.591708983543556032%22%3B%7D; expires=Fri, 07 Feb 2025 21:21:39 GMT; path=; domain=.realsrv.com; Secure; SameSite=none impressions=oslmrxbrnxgxamrrlbbcegeicxbmsbcenxgxamrbelsllgeimmccrbebnxgxamcbexxbmgeioslmrxbmnxgxamrroelrxgeicxbmsbocnxgxamrroelrxgeimmccrlaonxgxamrcremlrgeimmccrlacnxgxamcmlarclgeicxbmsboenxgxamrmlxslxgeioslmrxlrnxgxamslescrogeimmccrbxenxgxamrescroogeislsaroornxgxamccolacbgeioslmroemnxgxamrrobxcageioslmrxlsnxgxamraobrssgeicmmsxrbonxgxamsoeamlmgeimmccrlaenxgxamrsxxxmrgeimmccrbeanxgxamcssabxegeicaocmrmanxgxamolcrcergeimcclsxronxgxamsscrmclgeimcclsxmenxgxamrceerargeialbserebnxgxamccrrssogeimcclsxaonxgxamsxsxllxgeicxbmsbxcnxgxamrblermogeimrblxebenxgxamselmborgeimcclsxconxgxamrcraoxsgeirbabxabbnxgxamrescroogeimcclsxacnxgxamsscrmclgeicmmsxaeenxgxamcmrmsrmgeialbsereanxgxamsoeabscgeicaxsscmbnxgxamsosomemgeimcclosconxgxamrrlbbcegeimcclsoeonxgxamrcraoxsgeimcclsxlcnxgxamrrxsoaageimcclossbnxgxamcscxaesgeimcclsxscnxgxamsmoooeegeimcclsxlenxgxamcbrorxbgeimaecseaenxgxamrcremlrgeimaecsxcbnxgxamsmoooeegeimcclsxoanxgxamclrbcelgeimcclsxlbnxgxamcrbalrageimccloscanxgxamrrobxcageiclsmrbsonxgxamsmmrbmbgeiclsmarsenxgxamsmmrbmbgeiccmmllebnxgxamclarlmmgeimcclsxsbnxgxamrroelrxgeiclsmrbxonxgxamsbebceegeiclsmrbxcnxgxamsbebceegeiclsmarscnxgxamsbebceegeiccmmlmlcnxgxamsbebceegeiclsmarrenxgxamsbebceegeicaormbaonxgxamsbxxbsrgeicaormlrenxgxamcememscgeimcclsxlonxgxamcsmlmxcgeimrblelronxgxamsbremaegeimaecsxobnxgxamsbremaegeiclsmrbrcnxgxamsbroemmgeiclsmrraanxgxamclsslaegeiclsmrmxbnxgxamsbroemmgeimccloscenxgxamrcraoxsgeimcclsxxonxgxamslescrogeimrblelxbnxgxamslescrogeimcclsoeenxgxamclrbcelgeimrblelmonxgxamcxcrasxgeimrbleloenxgxamcxcrasxgeiclsmrrmanxgxamcxabcxbgeiclsmrbeonxgxamcxabcxbgeiclsmrrcenxgxamcxabcxbgeiclsmrmxanxgxamcxabcxbgeiclsmrbxenxgxamcxabcxbgeiclsmaroonxgxamcxabcxbgeialbserxenxgxamcosraregeimcclsxsenxgxamrcraoxsgeimcclsxlanxgxamcblrlbcgeiccmmlleanxgxamccrrssogeicaormlabnxgxamcrllsmageicaormlconxgxamcrllsmageiclsmarsonxgxamclsslaegeiclsmrmlbnxgxamclsslaegeiclsmrmocnxgxamclsslaegeiccmmllecnxgxamclsslaegeimcclsxcanxgxamrceerscgeimrblelcenxgxamclrbcelgeimaecsxrcnxgxamclrbcelgeialbserxonxgxamclarlmmgeimcclosscnxgxamrceerscgeimaecobronxgxamrescroogeimaecobeenxgxamrescroogeimcclosccnxgxamrmlxslxgeimaecoboonxgxamrescroogeimrblxelenxgxamrescroogeimaecsxccnxgxamrcremlrgeimlxbaxlonxgxamrbbbslsgeimlxbaxbanxgxamrmlxslxgeimlxbaxbonxgxamrbelsllgeimlxbaxlanxgxamrmaleclgeimlxbaxlcnxgxamraobrssgeimlxbaxbcnxgxamrrrsbaageimlxbaxlenxgxamrrlbbcegeimmlamcecnxgxamrbxsoblgxcceimaoolcoonxgxamrboxomrgxcceimbmmcllonxgxamrborslbgxcceimbmlsebbnxgxamrborslbgxcceimbroosxcnxgxamrboaccrgxcceimxlbmxlonogxamrboaccrgxcceimboslabcnxgxamrboaccrgxcceimlommlsanxgxamrboaccagxcceimbroosxenxgxamrboaccagxcceialrexexbnxgxamrbsxboxgxcceimlseecaanxgxamrbsxboxgxcceixaoossalnxgxamrbslarogxcceixaoosscrnxgxamrbslarogxcceicmarxbbonxgxamrbslarogxcceimaoobbebnxgxamrbbacergxcceimmraexxanxgxamrbbacoxgxcceimmraexoenxgxamrbbacoxgxcceimmraexoonxgxamrbbacoxgxcceimbscxmxanxgxamrbbbslsgxcceimbsblroanrgxamrbbbslsgcbeimcssmlronogxamrbbbslsgxcceimsacexoonxgxamrbbbslsgxcceimxeoxsacnxgxamrbblalrgxcceimxlbmxlcnogxamrbblalrgxcceimbscxmobnxgxamrbblalrgxcceimcssmlrcnxgxamrbblalrgxcceimxlbmosanogxamrblermogxcceimbscxmocnxgxamrblermogxcceimxxerrxenxgxamrblermogxcceimlxocxobnxgxamrblermsgxcceimrblerrenxgxamrblermsgxcceimrbxmxmanxgxamrblermsgxcceialrexeoonxgxamrblermsgxcceimclsaoxbnxgxamrblermsgxcceimbbcemoanxgxamrblermsgxcceimbbcemobnxgxamrblermsgxcceimeembesonxgxamrblermsgxcceimeembecenxgxamrblermsgxcceimsbsocbcnxgxamrblxxaxgxcceimcssmlrenxgxamrblxxaxgxcceimxlbalsbnxgxamrblxxaxgxcceimeelaclcnxgxamrblxollgae; expires=Thu, 09 Feb 2023 21:21:39 GMT; path=/; domain=.realsrv.com; Secure; SameSite=none
X-Robots-Tag: noindex, follow
Content-Encoding: gzip


--- Additional Info ---
Magic:  HTML document text\012- HTML document, ASCII text, with very long lines (886), with no line terminators
Size:   688
Md5:    865b278c5d20182dafa7d3709d88f539
Sha1:   cfc95d2dc69fe0ac761b75e59e4997ac03de41f1
Sha256: 33f5230f503199fca5618992212df1e5c355c6ec76f0e08c1203b7cb24660b44
                                        
                                            GET /ads-iframe-display.php?idzone=693925&output=noscript&type=300x250 HTTP/1.1 
Host: syndication.realsrv.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.tube/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

search
                                         95.211.229.245
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
                                        
Server: nginx
Date: Wed, 08 Feb 2023 21:21:39 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-cache, must-revalidate
Pragma: no-cache
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Set-Cookie: __uvt=a%3A1%3A%7Bi%3A0%3Bs%3A32%3A%2263e41263b64e87.22600959210266853%22%3B%7D; expires=Fri, 07 Feb 2025 21:21:39 GMT; path=; domain=.realsrv.com; Secure; SameSite=none impressions=oslmrxbrnxgxamrrlbbcegeicxbmsbcenxgxamrbelsllgeimmccrbebnxgxamcbexxbmgeioslmrxbmnxgxamrroelrxgeicxbmsbocnxgxamrroelrxgeimmccrlaonxgxamrcremlrgeimmccrlacnxgxamcmlarclgeicxbmsboenxgxamrmlxslxgeioslmrxlrnxgxamslescrogeimmccrbxenxgxamrescroogeislsaroornxgxamccolacbgeioslmroemnxgxamrrobxcageioslmrxlsnxgxamraobrssgeicmmsxrbonxgxamsoeamlmgeimmccrlaenxgxamrsxxxmrgeimmccrbeanxgxamcssabxegeicaocmrmanxgxamolcrcergeimcclsxronxgxamsscrmclgeimcclsxmenxgxamrceerargeialbserebnxgxamccrrssogeimcclsxaonxgxamsxsxllxgeicxbmsbxcnxgxamrblermogeimrblxebenxgxamselmborgeimcclsxconxgxamrcraoxsgeirbabxabbnxgxamrescroogeimcclsxacnxgxamsscrmclgeicmmsxaeenxgxamcmrmsrmgeialbsereanxgxamsoeabscgeicaxsscmbnxgxamsosomemgeimcclosconxgxamrrlbbcegeimcclsoeonxgxamrcraoxsgeimcclsxlcnxgxamrrxsoaageimcclossbnxgxamcscxaesgeimcclsxscnxgxamsmoooeegeimcclsxlenxgxamcbrorxbgeimaecseaenxgxamrcremlrgeimaecsxcbnxgxamsmoooeegeimcclsxoanxgxamclrbcelgeimcclsxlbnxgxamcrbalrageimccloscanxgxamrrobxcageiclsmrbsonxgxamsmmrbmbgeiclsmarsenxgxamsmmrbmbgeiccmmllebnxgxamclarlmmgeimcclsxsbnxgxamrroelrxgeiclsmrbxonxgxamsbebceegeiclsmrbxcnxgxamsbebceegeiclsmarscnxgxamsbebceegeiccmmlmlcnxgxamsbebceegeiclsmarrenxgxamsbebceegeicaormbaonxgxamsbxxbsrgeicaormlrenxgxamcememscgeimcclsxlonxgxamcsmlmxcgeimrblelronxgxamsbremaegeimaecsxobnxgxamsbremaegeiclsmrbrcnxgxamsbroemmgeiclsmrraanxgxamclsslaegeiclsmrmxbnxgxamsbroemmgeimccloscenxgxamrcraoxsgeimcclsxxonxgxamslescrogeimrblelxbnxgxamslescrogeimcclsoeenxgxamclrbcelgeimrblelmonxgxamcxcrasxgeimrbleloenxgxamcxcrasxgeiclsmrrmanxgxamcxabcxbgeiclsmrbeonxgxamcxabcxbgeiclsmrrcenxgxamcxabcxbgeiclsmrmxanxgxamcxabcxbgeiclsmrbxenxgxamcxabcxbgeiclsmaroonxgxamcxabcxbgeialbserxenxgxamcosraregeimcclsxsenxgxamrcraoxsgeimcclsxlanxgxamcblrlbcgeiccmmlleanxgxamccrrssogeicaormlabnxgxamcrllsmageicaormlconxgxamcrllsmageiclsmarsonxgxamclsslaegeiclsmrmlbnxgxamclsslaegeiclsmrmocnxgxamclsslaegeiccmmllecnxgxamclsslaegeimcclsxcanxgxamrceerscgeimrblelcenxgxamclrbcelgeimaecsxrcnxgxamclrbcelgeialbserxonxgxamclarlmmgeimcclosscnxgxamrceerscgeimaecobronxgxamrescroogeimaecobeenxgxamrescroogeimcclosccnxgxamrmlxslxgeimaecoboonxgxamrescroogeimrblxelenxgxamrescroogeimaecsxccnxgxamrcremlrgeimlxbaxlonxgxamrbbbslsgeimlxbaxbanxgxamrmlxslxgeimlxbaxbonxgxamrbelsllgeimlxbaxlanxgxamrmaleclgeimlxbaxlcnxgxamraobrssgeimlxbaxbcnxgxamrrrsbaageimlxbaxlenxgxamrrlbbcegeimmlamcecnxgxamrbxsoblgxcceimaoolcoonxgxamrboxomrgxcceimbmmcllonxgxamrborslbgxcceimbmlsebbnxgxamrborslbgxcceimbroosxcnxgxamrboaccrgxcceimxlbmxlonogxamrboaccrgxcceimboslabcnxgxamrboaccrgxcceimlommlsanxgxamrboaccagxcceimbroosxenxgxamrboaccagxcceialrexexbnxgxamrbsxboxgxcceimlseecaanxgxamrbsxboxgxcceixaoossalnxgxamrbslarogxcceixaoosscrnxgxamrbslarogxcceicmarxbbonxgxamrbslarogxcceimaoobbebnxgxamrbbacergxcceimmraexxanxgxamrbbacoxgxcceimmraexoenxgxamrbbacoxgxcceimmraexoonxgxamrbbacoxgxcceimbscxmxanxgxamrbbbslsgxcceimbsblroanrgxamrbbbslsgcbeimcssmlronogxamrbbbslsgxcceimsacexoonxgxamrbbbslsgxcceimxeoxsacnxgxamrbblalrgxcceimxlbmxlcnogxamrbblalrgxcceimbscxmobnxgxamrbblalrgxcceimcssmlrcnxgxamrbblalrgxcceimxlbmosanogxamrblermogxcceimbscxmocnxgxamrblermogxcceimxxerrxenxgxamrblermogxcceimlxocxobnxgxamrblermsgxcceimrblerrenxgxamrblermsgxcceimrbxmxmanxgxamrblermsgxcceialrexeoonxgxamrblermsgxcceimclsaoxbnxgxamrblermsgxcceimbbcemoanxgxamrblermsgxcceimbbcemobnxgxamrblermsgxcceimeembesonxgxamrblermsgxcceimeembecenxgxamrblermsgxcceimsbsocbcnxgxamrblxxaxgxcceimcssmlrenxgxamrblxxaxgxcceimxlbalsbnxgxamrblxxaxgxcceimeelaclcnxgxamrblxollgae; expires=Thu, 09 Feb 2023 21:21:39 GMT; path=/; domain=.realsrv.com; Secure; SameSite=none
X-Robots-Tag: noindex, follow
Content-Encoding: gzip


--- Additional Info ---
Magic:  HTML document text\012- HTML document, ASCII text, with very long lines (886), with no line terminators
Size:   684
Md5:    e07ea3e0e9e2087643828da315f6d327
Sha1:   2a3f0248e3b432e333a3b9e529fc2a0358cc4a85
Sha256: 4b258ddb5506c73410deaee559d6b1146d77b1867b0d62268ac88816a10f2060
                                        
                                            GET /ads-iframe-display.php?idzone=693913&output=noscript&type=300x250 HTTP/1.1 
Host: syndication.realsrv.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.tube/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

search
                                         95.211.229.245
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
                                        
Server: nginx
Date: Wed, 08 Feb 2023 21:21:39 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-cache, must-revalidate
Pragma: no-cache
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Set-Cookie: __uvt=a%3A1%3A%7Bi%3A0%3Bs%3A33%3A%2263e41263b644f3.419254042833327948%22%3B%7D; expires=Fri, 07 Feb 2025 21:21:39 GMT; path=; domain=.realsrv.com; Secure; SameSite=none impressions=oslmrxbrnxgxamrrlbbcegeicxbmsbcenxgxamrbelsllgeimmccrbebnxgxamcbexxbmgeioslmrxbmnxgxamrroelrxgeicxbmsbocnxgxamrroelrxgeimmccrlaonxgxamrcremlrgeimmccrlacnxgxamcmlarclgeicxbmsboenxgxamrmlxslxgeioslmrxlrnxgxamslescrogeimmccrbxenxgxamrescroogeislsaroornxgxamccolacbgeioslmroemnxgxamrrobxcageioslmrxlsnxgxamraobrssgeicmmsxrbonxgxamsoeamlmgeimmccrlaenxgxamrsxxxmrgeimmccrbeanxgxamcssabxegeicaocmrmanxgxamolcrcergeimcclsxronxgxamsscrmclgeimcclsxmenxgxamrceerargeialbserebnxgxamccrrssogeimcclsxaonxgxamsxsxllxgeicxbmsbxcnxgxamrblermogeimrblxebenxgxamselmborgeimcclsxconxgxamrcraoxsgeirbabxabbnxgxamrescroogeimcclsxacnxgxamsscrmclgeicmmsxaeenxgxamcmrmsrmgeialbsereanxgxamsoeabscgeicaxsscmbnxgxamsosomemgeimcclosconxgxamrrlbbcegeimcclsoeonxgxamrcraoxsgeimcclsxlcnxgxamrrxsoaageimcclossbnxgxamcscxaesgeimcclsxscnxgxamsmoooeegeimcclsxlenxgxamcbrorxbgeimaecseaenxgxamrcremlrgeimaecsxcbnxgxamsmoooeegeimcclsxoanxgxamclrbcelgeimcclsxlbnxgxamcrbalrageimccloscanxgxamrrobxcageiclsmrbsonxgxamsmmrbmbgeiclsmarsenxgxamsmmrbmbgeiccmmllebnxgxamclarlmmgeimcclsxsbnxgxamrroelrxgeiclsmrbxonxgxamsbebceegeiclsmrbxcnxgxamsbebceegeiclsmarscnxgxamsbebceegeiccmmlmlcnxgxamsbebceegeiclsmarrenxgxamsbebceegeicaormbaonxgxamsbxxbsrgeicaormlrenxgxamcememscgeimcclsxlonxgxamcsmlmxcgeimrblelronxgxamsbremaegeimaecsxobnxgxamsbremaegeiclsmrbrcnxgxamsbroemmgeiclsmrraanxgxamclsslaegeiclsmrmxbnxgxamsbroemmgeimccloscenxgxamrcraoxsgeimcclsxxonxgxamslescrogeimrblelxbnxgxamslescrogeimcclsoeenxgxamclrbcelgeimrblelmonxgxamcxcrasxgeimrbleloenxgxamcxcrasxgeiclsmrrmanxgxamcxabcxbgeiclsmrbeonxgxamcxabcxbgeiclsmrrcenxgxamcxabcxbgeiclsmrmxanxgxamcxabcxbgeiclsmrbxenxgxamcxabcxbgeiclsmaroonxgxamcxabcxbgeialbserxenxgxamcosraregeimcclsxsenxgxamrcraoxsgeimcclsxlanxgxamcblrlbcgeiccmmlleanxgxamccrrssogeicaormlabnxgxamcrllsmageicaormlconxgxamcrllsmageiclsmarsonxgxamclsslaegeiclsmrmlbnxgxamclsslaegeiclsmrmocnxgxamclsslaegeiccmmllecnxgxamclsslaegeimcclsxcanxgxamrceerscgeimrblelcenxgxamclrbcelgeimaecsxrcnxgxamclrbcelgeialbserxonxgxamclarlmmgeimcclosscnxgxamrceerscgeimaecobronxgxamrescroogeimaecobeenxgxamrescroogeimcclosccnxgxamrmlxslxgeimaecoboonxgxamrescroogeimrblxelenxgxamrescroogeimaecsxccnxgxamrcremlrgeimlxbaxlonxgxamrbbbslsgeimlxbaxbanxgxamrmlxslxgeimlxbaxbonxgxamrbelsllgeimlxbaxlanxgxamrmaleclgeimlxbaxlcnxgxamraobrssgeimlxbaxbcnxgxamrrrsbaageimlxbaxlenxgxamrrlbbcegeimmlamcecnxgxamrbxsoblgxcceimaoolcoonxgxamrboxomrgxcceimbmmcllonxgxamrborslbgxcceimbmlsebbnxgxamrborslbgxcceimbroosxcnxgxamrboaccrgxcceimxlbmxlonogxamrboaccrgxcceimboslabcnxgxamrboaccrgxcceimlommlsanxgxamrboaccagxcceimbroosxenxgxamrboaccagxcceialrexexbnxgxamrbsxboxgxcceimlseecaanxgxamrbsxboxgxcceixaoossalnxgxamrbslarogxcceixaoosscrnxgxamrbslarogxcceicmarxbbonxgxamrbslarogxcceimaoobbebnxgxamrbbacergxcceimmraexxanxgxamrbbacoxgxcceimmraexoenxgxamrbbacoxgxcceimmraexoonxgxamrbbacoxgxcceimbscxmxanxgxamrbbbslsgxcceimbsblroanrgxamrbbbslsgcbeimcssmlronogxamrbbbslsgxcceimsacexoonxgxamrbbbslsgxcceimxeoxsacnxgxamrbblalrgxcceimxlbmxlcnogxamrbblalrgxcceimbscxmobnxgxamrbblalrgxcceimcssmlrcnxgxamrbblalrgxcceimxlbmosanogxamrblermogxcceimbscxmocnxgxamrblermogxcceimxxerrxenxgxamrblermogxcceimlxocxobnxgxamrblermsgxcceimrblerrenxgxamrblermsgxcceimrbxmxmanxgxamrblermsgxcceialrexeoonxgxamrblermsgxcceimclsaoxbnxgxamrblermsgxcceimbbcemoanxgxamrblermsgxcceimbbcemobnxgxamrblermsgxcceimeembesonxgxamrblermsgxcceimeembecenxgxamrblermsgxcceimsbsocbcnxgxamrblxxaxgxcceimcssmlrenxgxamrblxxaxgxcceimxlbalsbnxgxamrblxxaxgxcceimeelaclcnxgxamrblxollgae; expires=Thu, 09 Feb 2023 21:21:39 GMT; path=/; domain=.realsrv.com; Secure; SameSite=none
X-Robots-Tag: noindex, follow
Content-Encoding: gzip


--- Additional Info ---
Magic:  HTML document text\012- HTML document, ASCII text, with very long lines (886), with no line terminators
Size:   686
Md5:    feae84996f1ffcee51704db72a39d8c7
Sha1:   96e53a18df67b21db41389196b0cf1c7f79835fc
Sha256: 493c06f40fe9eddbeda7a38b20ea540fc60b0a86a5409e1ec8e218717a116836
                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         142.250.74.163
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 08 Feb 2023 21:21:39 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 471
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         142.250.74.163
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 08 Feb 2023 21:21:39 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 471
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            GET /s/sourcesanspro/v21/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlxdu.woff2 HTTP/1.1 
Host: fonts.gstatic.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: identity
Origin: https://txxx.tube
Connection: keep-alive
Referer: https://fonts.googleapis.com/
Sec-Fetch-Dest: font
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         216.58.207.227
HTTP/2 200 OK
content-type: font/woff2
                                        
accept-ranges: bytes
access-control-allow-origin: *
content-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes
cross-origin-resource-policy: cross-origin
cross-origin-opener-policy: same-origin; report-to="apps-themes"
report-to: {"group":"apps-themes","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/apps-themes"}]}
timing-allow-origin: *
content-length: 13052
x-content-type-options: nosniff
server: sffe
x-xss-protection: 0
date: Sun, 05 Feb 2023 22:02:03 GMT
expires: Mon, 05 Feb 2024 22:02:03 GMT
cache-control: public, max-age=31536000
age: 256776
last-modified: Wed, 27 Apr 2022 16:09:03 GMT
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Web Open Font Format (Version 2), TrueType, length 13052, version 1.0\012- data
Size:   13052
Md5:    7cf79fbd1df848510d7352274efc2401
Sha1:   5540b5a26cc7dfe25294c4eabe011e2c6cd60143
Sha256: bc9a16cd945457ad9463cdaed95129b01c589466978dfee3d019d9c604b2171a
                                        
                                            GET /s/sourcesanspro/v21/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7l.woff2 HTTP/1.1 
Host: fonts.gstatic.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: identity
Origin: https://txxx.tube
Connection: keep-alive
Referer: https://fonts.googleapis.com/
Sec-Fetch-Dest: font
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         216.58.207.227
HTTP/2 200 OK
content-type: font/woff2
                                        
accept-ranges: bytes
access-control-allow-origin: *
content-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes
cross-origin-resource-policy: cross-origin
cross-origin-opener-policy: same-origin; report-to="apps-themes"
report-to: {"group":"apps-themes","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/apps-themes"}]}
timing-allow-origin: *
content-length: 13036
x-content-type-options: nosniff
server: sffe
x-xss-protection: 0
date: Mon, 06 Feb 2023 15:38:44 GMT
expires: Tue, 06 Feb 2024 15:38:44 GMT
cache-control: public, max-age=31536000
age: 193375
last-modified: Wed, 27 Apr 2022 16:04:42 GMT
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Web Open Font Format (Version 2), TrueType, length 13036, version 1.0\012- data
Size:   13036
Md5:    0ad032b3d07aaf33b160ac4799dda40f
Sha1:   06b931e0d0bf37f5037d9e66d6feedfddd21c0ba
Sha256: c124c88ca4fcb4336e97617647ef0d32441329371120c8eabaea0fea226560b0
                                        
                                            GET /library/428515/42b3129e9f87ab020bdb58b17b454c794c7f0f59.jpg HTTP/1.1 
Host: s3t3d2y8.afcdn.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://syndication.realsrv.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         185.76.9.22
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Wed, 08 Feb 2023 21:21:39 GMT
content-length: 26516
last-modified: Fri, 31 Dec 2021 10:19:16 GMT
etag: "61ced924-6794"
expires: Fri, 30 Jun 2023 11:27:13 GMT
cache-control: max-age=31536000
access-control-allow-origin: *
x-cache-op: HIT
x-accel-expires: @1688195334
server: CDN77-Turbo
x-robots-tag: noindex, follow
x-77-nzt: AblMCRQUtNP/3XQlAQ
x-77-nzt-ray: af58563078877ff56312e46322aa6436
x-cache: HIT
x-age: 19231965
x-77-pop: stockholmSE
x-77-cache: HIT
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, comment: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90", baseline, precision 8, 300x250, components 3\012- data
Size:   26516
Md5:    f99745fe423daccd45b179c149c9fc77
Sha1:   42b3129e9f87ab020bdb58b17b454c794c7f0f59
Sha256: 156d2502c365b3182c9d90a45767e29629bd534be8d07b9024b4464173275865
                                        
                                            POST /gts1c3 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         142.250.74.163
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 08 Feb 2023 21:21:39 GMT
Cache-Control: public, max-age=14400
Server: ocsp_responder
Content-Length: 471
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN


--- Additional Info ---
Magic:  data
Size:   2201
Md5:    1ddfa15c921bd5b9b505557312974f58
Sha1:   f3f03abf4d70a02d6260c17ed9a0b92257695ec0
Sha256: b15f62254330f8f9463c9869e4f807fd6273b541718e55a54d64bd0fb528499f
                                        
                                            POST /gseccovsslca2018 HTTP/1.1 
Host: ocsp.globalsign.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 79
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         104.18.20.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 08 Feb 2023 21:21:40 GMT
Content-Length: 938
Connection: keep-alive
Expires: Sun, 12 Feb 2023 20:02:49 GMT
ETag: "85b2ed15cf705390df4506eb0923574177cf5b99"
Last-Modified: Wed, 08 Feb 2023 20:02:50 GMT
Cache-Control: public, no-transform, must-revalidate, s-maxage=3600
CF-Cache-Status: HIT
Age: 116
Accept-Ranges: bytes
Vary: Accept-Encoding
Server: cloudflare
CF-RAY: 79676a914fc6b4eb-OSL


--- Additional Info ---
Magic:  data
Size:   2553
Md5:    c1c85d4ada11d6b09ed1b56add2f7f79
Sha1:   b7ee9a824f9819cc383839336cfd28c54e9c9ff5
Sha256: 1fc89afff2a969c5830a9b59c9b0bb46544094a16fa8180876cd2fc435259fc0
                                        
                                            POST /gseccovsslca2018 HTTP/1.1 
Host: ocsp.globalsign.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 79
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         104.18.20.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 08 Feb 2023 21:21:40 GMT
Content-Length: 938
Connection: keep-alive
Expires: Sun, 12 Feb 2023 20:02:49 GMT
ETag: "85b2ed15cf705390df4506eb0923574177cf5b99"
Last-Modified: Wed, 08 Feb 2023 20:02:50 GMT
Cache-Control: public, no-transform, must-revalidate, s-maxage=3600
CF-Cache-Status: HIT
Age: 116
Accept-Ranges: bytes
Vary: Accept-Encoding
Server: cloudflare
CF-RAY: 79676a914c870afe-OSL


--- Additional Info ---
Magic:  data
Size:   4599
Md5:    0c5b3d48a8d7fd203757f2b68ae7b0dd
Sha1:   f208b4199b82714691267c7311cae084d75c3ae1
Sha256: 007306d65a716a6ff231937c7dfad7993890bd4dde72af5fa1af39c057ea51a9
                                        
                                            POST /gseccovsslca2018 HTTP/1.1 
Host: ocsp.globalsign.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 79
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         104.18.20.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 08 Feb 2023 21:21:40 GMT
Content-Length: 938
Connection: keep-alive
Expires: Sun, 12 Feb 2023 20:02:49 GMT
ETag: "85b2ed15cf705390df4506eb0923574177cf5b99"
Last-Modified: Wed, 08 Feb 2023 20:02:50 GMT
Cache-Control: public, no-transform, must-revalidate, s-maxage=3600
CF-Cache-Status: HIT
Age: 116
Accept-Ranges: bytes
Vary: Accept-Encoding
Server: cloudflare
CF-RAY: 79676a914f55b50f-OSL

                                        
                                            GET /ads-iframe-display.php?idzone=3069158&output=img&type=728x90 HTTP/1.1 
Host: syndication.realsrv.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.tube/
Cookie: __uvt=a%3A1%3A%7Bi%3A0%3Bs%3A33%3A%2263e41263b644f3.419254042833327948%22%3B%7D; impressions=oslmrxbrnxgxamrrlbbcegeicxbmsbcenxgxamrbelsllgeimmccrbebnxgxamcbexxbmgeioslmrxbmnxgxamrroelrxgeicxbmsbocnxgxamrroelrxgeimmccrlaonxgxamrcremlrgeimmccrlacnxgxamcmlarclgeicxbmsboenxgxamrmlxslxgeioslmrxlrnxgxamslescrogeimmccrbxenxgxamrescroogeislsaroornxgxamccolacbgeioslmroemnxgxamrrobxcageioslmrxlsnxgxamraobrssgeicmmsxrbonxgxamsoeamlmgeimmccrlaenxgxamrsxxxmrgeimmccrbeanxgxamcssabxegeicaocmrmanxgxamolcrcergeimcclsxronxgxamsscrmclgeimcclsxmenxgxamrceerargeialbserebnxgxamccrrssogeimcclsxaonxgxamsxsxllxgeicxbmsbxcnxgxamrblermogeimrblxebenxgxamselmborgeimcclsxconxgxamrcraoxsgeirbabxabbnxgxamrescroogeimcclsxacnxgxamsscrmclgeicmmsxaeenxgxamcmrmsrmgeialbsereanxgxamsoeabscgeicaxsscmbnxgxamsosomemgeimcclosconxgxamrrlbbcegeimcclsoeonxgxamrcraoxsgeimcclsxlcnxgxamrrxsoaageimcclossbnxgxamcscxaesgeimcclsxscnxgxamsmoooeegeimcclsxlenxgxamcbrorxbgeimaecseaenxgxamrcremlrgeimaecsxcbnxgxamsmoooeegeimcclsxoanxgxamclrbcelgeimcclsxlbnxgxamcrbalrageimccloscanxgxamrrobxcageiclsmrbsonxgxamsmmrbmbgeiclsmarsenxgxamsmmrbmbgeiccmmllebnxgxamclarlmmgeimcclsxsbnxgxamrroelrxgeiclsmrbxonxgxamsbebceegeiclsmrbxcnxgxamsbebceegeiclsmarscnxgxamsbebceegeiccmmlmlcnxgxamsbebceegeiclsmarrenxgxamsbebceegeicaormbaonxgxamsbxxbsrgeicaormlrenxgxamcememscgeimcclsxlonxgxamcsmlmxcgeimrblelronxgxamsbremaegeimaecsxobnxgxamsbremaegeiclsmrbrcnxgxamsbroemmgeiclsmrraanxgxamclsslaegeiclsmrmxbnxgxamsbroemmgeimccloscenxgxamrcraoxsgeimcclsxxonxgxamslescrogeimrblelxbnxgxamslescrogeimcclsoeenxgxamclrbcelgeimrblelmonxgxamcxcrasxgeimrbleloenxgxamcxcrasxgeiclsmrrmanxgxamcxabcxbgeiclsmrbeonxgxamcxabcxbgeiclsmrrcenxgxamcxabcxbgeiclsmrmxanxgxamcxabcxbgeiclsmrbxenxgxamcxabcxbgeiclsmaroonxgxamcxabcxbgeialbserxenxgxamcosraregeimcclsxsenxgxamrcraoxsgeimcclsxlanxgxamcblrlbcgeiccmmlleanxgxamccrrssogeicaormlabnxgxamcrllsmageicaormlconxgxamcrllsmageiclsmarsonxgxamclsslaegeiclsmrmlbnxgxamclsslaegeiclsmrmocnxgxamclsslaegeiccmmllecnxgxamclsslaegeimcclsxcanxgxamrceerscgeimrblelcenxgxamclrbcelgeimaecsxrcnxgxamclrbcelgeialbserxonxgxamclarlmmgeimcclosscnxgxamrceerscgeimaecobronxgxamrescroogeimaecobeenxgxamrescroogeimcclosccnxgxamrmlxslxgeimaecoboonxgxamrescroogeimrblxelenxgxamrescroogeimaecsxccnxgxamrcremlrgeimlxbaxlonxgxamrbbbslsgeimlxbaxbanxgxamrmlxslxgeimlxbaxbonxgxamrbelsllgeimlxbaxlanxgxamrmaleclgeimlxbaxlcnxgxamraobrssgeimlxbaxbcnxgxamrrrsbaageimlxbaxlenxgxamrrlbbcegeimmlamcecnxgxamrbxsoblgxcceimaoolcoonxgxamrboxomrgxcceimbmmcllonxgxamrborslbgxcceimbmlsebbnxgxamrborslbgxcceimbroosxcnxgxamrboaccrgxcceimxlbmxlonogxamrboaccrgxcceimboslabcnxgxamrboaccrgxcceimlommlsanxgxamrboaccagxcceimbroosxenxgxamrboaccagxcceialrexexbnxgxamrbsxboxgxcceimlseecaanxgxamrbsxboxgxcceixaoossalnxgxamrbslarogxcceixaoosscrnxgxamrbslarogxcceicmarxbbonxgxamrbslarogxcceimaoobbebnxgxamrbbacergxcceimmraexxanxgxamrbbacoxgxcceimmraexoenxgxamrbbacoxgxcceimmraexoonxgxamrbbacoxgxcceimbscxmxanxgxamrbbbslsgxcceimbsblroanrgxamrbbbslsgcbeimcssmlronogxamrbbbslsgxcceimsacexoonxgxamrbbbslsgxcceimxeoxsacnxgxamrbblalrgxcceimxlbmxlcnogxamrbblalrgxcceimbscxmobnxgxamrbblalrgxcceimcssmlrcnxgxamrbblalrgxcceimxlbmosanogxamrblermogxcceimbscxmocnxgxamrblermogxcceimxxerrxenxgxamrblermogxcceimlxocxobnxgxamrblermsgxcceimrblerrenxgxamrblermsgxcceimrbxmxmanxgxamrblermsgxcceialrexeoonxgxamrblermsgxcceimclsaoxbnxgxamrblermsgxcceimbbcemoanxgxamrblermsgxcceimbbcemobnxgxamrblermsgxcceimeembesonxgxamrblermsgxcceimeembecenxgxamrblermsgxcceimsbsocbcnxgxamrblxxaxgxcceimcssmlrenxgxamrblxxaxgxcceimxlbalsbnxgxamrblxxaxgxcceimeelaclcnxgxamrblxollgae
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         95.211.229.245
HTTP/1.1 302 Found
Content-Type: text/html; charset=UTF-8
                                        
Server: nginx
Date: Wed, 08 Feb 2023 21:21:40 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-cache, must-revalidate
Pragma: no-cache
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Set-Cookie: __uvt=a%3A1%3A%7Bi%3A0%3Bs%3A33%3A%2263e41263b644f3.419254042833327948%22%3B%7D; expires=Fri, 07 Feb 2025 21:21:40 GMT; path=; domain=.realsrv.com; Secure; SameSite=none img_click_3069158=https%3A%2F%2Fsyndication.realsrv.com%2Fclick.php%3Fdata%3DH4sIAAAAAAAAA02Rz27DIAzGnybHRgYMgeOmqZcd9ggVIaSNtoaJ0Kyd_PAjfzuZw.fvZxsLJKtQMyQogdElpe.hEC8FP.aTSj8extCULlxzylqutK.bg1ZOHlB7lVWFB2EVGm0lSFsX4ujs9btrCvFWVK.Ttt25P2Wjeiu4Gm3c2CRt6sITDuEWnV_oEN3pEobU26tf6Kd__IS4Nm_JTJI9D4s9q2VWl_x206T3S35Dv4NJ78DlZfa1kz.H.HiycOtTfKx0TWbShni1aQGrXjuG1bUu3ezXaTa2dbdB_ejjkJ9gOKVo3WfXn3MJERBTldSGCQBK9_t9.gEyrDRQIi.ZRKqQC6OMIgHKMKlJgiZCRoIQaIqK67vJk3KQEh4ZV6JWiK0okRkuEZBrIQSvDGriUiBSrgWipX9JnjGvpemfg3uFWhppRPp4J2DonKrrGurG6Ba4aFttFXjTNtBY9weiET9DcwIAAA--; expires=Wed, 08 Feb 2023 21:36:40 GMT; path=; domain=.realsrv.com; Secure; SameSite=none
Location: https://s3t3d2y8.afcdn.net/library/802424/37f351dcba12644206e5619b14d813aa0ea393a6.jpg
X-Robots-Tag: noindex, follow


--- Additional Info ---
Magic:  data
Size:   6082
Md5:    d27fd22cdd93f9c002cb81d9ffb3ecbc
Sha1:   7ae88c5961e423cdf1637dc31e6046c449da9df0
Sha256: 338807aa81b28eedce557981e8a998c13479accc21c58bed09a099beed40cd3c
                                        
                                            GET / HTTP/1.1 
Host: push.services.mozilla.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Sec-WebSocket-Version: 13
Origin: wss://push.services.mozilla.com/
Sec-WebSocket-Protocol: push-notification
Sec-WebSocket-Extensions: permessage-deflate
Sec-WebSocket-Key: V8AtJR96e1dsxjsIeZRzzA==
Connection: keep-alive, Upgrade
Sec-Fetch-Dest: websocket
Sec-Fetch-Mode: websocket
Sec-Fetch-Site: cross-site
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket

search
                                         35.155.255.170
HTTP/1.1 101 Switching Protocols
                                        
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Accept: R/G6mcLTPHLrCW4kZJuRNxEGbbE=

                                        
                                            GET /metrika/tag.js HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.tube/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         93.158.134.119
HTTP/2 200 OK
content-type: application/javascript
                                        
content-length: 73769
date: Wed, 08 Feb 2023 21:21:40 GMT
access-control-allow-origin: *
etag: "63e36f34-12029"
expires: Wed, 08 Feb 2023 22:21:40 GMT
last-modified: Wed, 08 Feb 2023 12:45:24 GMT
accept-ch: Sec-CH-UA-Bitness, Sec-CH-UA-Arch, Sec-CH-UA-Full-Version, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Platform, Sec-CH-UA, UA-Bitness, UA-Arch, UA-Full-Version, UA-Mobile, UA-Model, UA-Platform-Version, UA-Platform, UA
cache-control: max-age=3600
content-encoding: br
strict-transport-security: max-age=31536000
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Unicode text, UTF-8 (with BOM) text, with very long lines (659)
Size:   73769
Md5:    a236c7014c1f1a1e52d356f59e5d665a
Sha1:   b66c638eb2346287364c37725819bbab1f409d66
Sha256: ad2d57579e453af0eac49156840bcd1dcfbd802a82135af98f41f714d7e698f2
                                        
                                            GET /library/802424/37f351dcba12644206e5619b14d813aa0ea393a6.jpg HTTP/1.1 
Host: s3t3d2y8.afcdn.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://txxx.tube/
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         185.76.9.22
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Wed, 08 Feb 2023 21:21:40 GMT
content-length: 19528
last-modified: Wed, 06 Jul 2022 07:25:02 GMT
etag: "62c538ce-4c48"
expires: Thu, 06 Jul 2023 07:28:02 GMT
cache-control: max-age=31536000
access-control-allow-origin: *
x-cache-op: HIT
x-accel-expires: @1689098743
server: CDN77-Turbo
x-robots-tag: noindex, follow
x-77-nzt: AblMCRS1j/b/7asXAQ
x-77-nzt-ray: af58563078877ff56412e463138bab09
x-cache: HIT
x-age: 18328557
x-77-pop: stockholmSE
x-77-cache: HIT
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, comment: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90", baseline, precision 8, 728x90, components 3\012- data
Size:   19528
Md5:    726bfb778f8072bcfd5c17a637fa449b
Sha1:   37f351dcba12644206e5619b14d813aa0ea393a6
Sha256: 7573118f5900b3f082e04f60af9e65de8c0c8fe2bdaae3fed2b23351ca175384
                                        
                                            GET /metrika/watch.js HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.tube/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         93.158.134.119
HTTP/2 200 OK
content-type: application/javascript
                                        
content-length: 58140
date: Wed, 08 Feb 2023 21:21:40 GMT
access-control-allow-origin: *
etag: "63e36f34-e31c"
expires: Wed, 08 Feb 2023 22:21:40 GMT
last-modified: Wed, 08 Feb 2023 12:45:24 GMT
accept-ch: Sec-CH-UA-Bitness, Sec-CH-UA-Arch, Sec-CH-UA-Full-Version, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Platform, Sec-CH-UA, UA-Bitness, UA-Arch, UA-Full-Version, UA-Mobile, UA-Model, UA-Platform-Version, UA-Platform, UA
cache-control: max-age=3600
content-encoding: br
strict-transport-security: max-age=31536000
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  Unicode text, UTF-8 (with BOM) text, with very long lines (554)
Size:   58140
Md5:    315a601116a9b3b0fbc85feb58375ba4
Sha1:   5d283ed923d0b3beb8a2ec4e80c2958d1d132fbf
Sha256: 251ba0fc04953e3615e7c19a9a10c5d6a4f25cc03bef190f8a5e7c6cd72a991a
                                        
                                            GET /ads-iframe-display.php?idzone=693979&output=noscript&type=300x250 HTTP/1.1 
Host: syndication.realsrv.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.tube/
Cookie: __uvt=a%3A1%3A%7Bi%3A0%3Bs%3A33%3A%2263e41263b644f3.419254042833327948%22%3B%7D; impressions=oslmrxbrnxgxamrrlbbcegeicxbmsbcenxgxamrbelsllgeimmccrbebnxgxamcbexxbmgeioslmrxbmnxgxamrroelrxgeicxbmsbocnxgxamrroelrxgeimmccrlaonxgxamrcremlrgeimmccrlacnxgxamcmlarclgeicxbmsboenxgxamrmlxslxgeioslmrxlrnxgxamslescrogeimmccrbxenxgxamrescroogeislsaroornxgxamccolacbgeioslmroemnxgxamrrobxcageioslmrxlsnxgxamraobrssgeicmmsxrbonxgxamsoeamlmgeimmccrlaenxgxamrsxxxmrgeimmccrbeanxgxamcssabxegeicaocmrmanxgxamolcrcergeimcclsxronxgxamsscrmclgeimcclsxmenxgxamrceerargeialbserebnxgxamccrrssogeimcclsxaonxgxamsxsxllxgeicxbmsbxcnxgxamrblermogeimrblxebenxgxamselmborgeimcclsxconxgxamrcraoxsgeirbabxabbnxgxamrescroogeimcclsxacnxgxamsscrmclgeicmmsxaeenxgxamcmrmsrmgeialbsereanxgxamsoeabscgeicaxsscmbnxgxamsosomemgeimcclosconxgxamrrlbbcegeimcclsoeonxgxamrcraoxsgeimcclsxlcnxgxamrrxsoaageimcclossbnxgxamcscxaesgeimcclsxscnxgxamsmoooeegeimcclsxlenxgxamcbrorxbgeimaecseaenxgxamrcremlrgeimaecsxcbnxgxamsmoooeegeimcclsxoanxgxamclrbcelgeimcclsxlbnxgxamcrbalrageimccloscanxgxamrrobxcageiclsmrbsonxgxamsmmrbmbgeiclsmarsenxgxamsmmrbmbgeiccmmllebnxgxamclarlmmgeimcclsxsbnxgxamrroelrxgeiclsmrbxonxgxamsbebceegeiclsmrbxcnxgxamsbebceegeiclsmarscnxgxamsbebceegeiccmmlmlcnxgxamsbebceegeiclsmarrenxgxamsbebceegeicaormbaonxgxamsbxxbsrgeicaormlrenxgxamcememscgeimcclsxlonxgxamcsmlmxcgeimrblelronxgxamsbremaegeimaecsxobnxgxamsbremaegeiclsmrbrcnxgxamsbroemmgeiclsmrraanxgxamclsslaegeiclsmrmxbnxgxamsbroemmgeimccloscenxgxamrcraoxsgeimcclsxxonxgxamslescrogeimrblelxbnxgxamslescrogeimcclsoeenxgxamclrbcelgeimrblelmonxgxamcxcrasxgeimrbleloenxgxamcxcrasxgeiclsmrrmanxgxamcxabcxbgeiclsmrbeonxgxamcxabcxbgeiclsmrrcenxgxamcxabcxbgeiclsmrmxanxgxamcxabcxbgeiclsmrbxenxgxamcxabcxbgeiclsmaroonxgxamcxabcxbgeialbserxenxgxamcosraregeimcclsxsenxgxamrcraoxsgeimcclsxlanxgxamcblrlbcgeiccmmlleanxgxamccrrssogeicaormlabnxgxamcrllsmageicaormlconxgxamcrllsmageiclsmarsonxgxamclsslaegeiclsmrmlbnxgxamclsslaegeiclsmrmocnxgxamclsslaegeiccmmllecnxgxamclsslaegeimcclsxcanxgxamrceerscgeimrblelcenxgxamclrbcelgeimaecsxrcnxgxamclrbcelgeialbserxonxgxamclarlmmgeimcclosscnxgxamrceerscgeimaecobronxgxamrescroogeimaecobeenxgxamrescroogeimcclosccnxgxamrmlxslxgeimaecoboonxgxamrescroogeimrblxelenxgxamrescroogeimaecsxccnxgxamrcremlrgeimlxbaxlonxgxamrbbbslsgeimlxbaxbanxgxamrmlxslxgeimlxbaxbonxgxamrbelsllgeimlxbaxlanxgxamrmaleclgeimlxbaxlcnxgxamraobrssgeimlxbaxbcnxgxamrrrsbaageimlxbaxlenxgxamrrlbbcegeimmlamcecnxgxamrbxsoblgxcceimaoolcoonxgxamrboxomrgxcceimbmmcllonxgxamrborslbgxcceimbmlsebbnxgxamrborslbgxcceimbroosxcnxgxamrboaccrgxcceimxlbmxlonogxamrboaccrgxcceimboslabcnxgxamrboaccrgxcceimlommlsanxgxamrboaccagxcceimbroosxenxgxamrboaccagxcceialrexexbnxgxamrbsxboxgxcceimlseecaanxgxamrbsxboxgxcceixaoossalnxgxamrbslarogxcceixaoosscrnxgxamrbslarogxcceicmarxbbonxgxamrbslarogxcceimaoobbebnxgxamrbbacergxcceimmraexxanxgxamrbbacoxgxcceimmraexoenxgxamrbbacoxgxcceimmraexoonxgxamrbbacoxgxcceimbscxmxanxgxamrbbbslsgxcceimbsblroanrgxamrbbbslsgcbeimcssmlronogxamrbbbslsgxcceimsacexoonxgxamrbbbslsgxcceimxeoxsacnxgxamrbblalrgxcceimxlbmxlcnogxamrbblalrgxcceimbscxmobnxgxamrbblalrgxcceimcssmlrcnxgxamrbblalrgxcceimxlbmosanogxamrblermogxcceimbscxmocnxgxamrblermogxcceimxxerrxenxgxamrblermogxcceimlxocxobnxgxamrblermsgxcceimrblerrenxgxamrblermsgxcceimrbxmxmanxgxamrblermsgxcceialrexeoonxgxamrblermsgxcceimclsaoxbnxgxamrblermsgxcceimbbcemoanxgxamrblermsgxcceimbbcemobnxgxamrblermsgxcceimeembesonxgxamrblermsgxcceimeembecenxgxamrblermsgxcceimsbsocbcnxgxamrblxxaxgxcceimcssmlrenxgxamrblxxaxgxcceimxlbalsbnxgxamrblxxaxgxcceimeelaclcnxgxamrblxollgae; img_click_3069158=https%3A%2F%2Fsyndication.realsrv.com%2Fclick.php%3Fdata%3DH4sIAAAAAAAAA02Rz27DIAzGnybHRgYMgeOmqZcd9ggVIaSNtoaJ0Kyd_PAjfzuZw.fvZxsLJKtQMyQogdElpe.hEC8FP.aTSj8extCULlxzylqutK.bg1ZOHlB7lVWFB2EVGm0lSFsX4ujs9btrCvFWVK.Ttt25P2Wjeiu4Gm3c2CRt6sITDuEWnV_oEN3pEobU26tf6Kd__IS4Nm_JTJI9D4s9q2VWl_x206T3S35Dv4NJ78DlZfa1kz.H.HiycOtTfKx0TWbShni1aQGrXjuG1bUu3ezXaTa2dbdB_ejjkJ9gOKVo3WfXn3MJERBTldSGCQBK9_t9.gEyrDRQIi.ZRKqQC6OMIgHKMKlJgiZCRoIQaIqK67vJk3KQEh4ZV6JWiK0okRkuEZBrIQSvDGriUiBSrgWipX9JnjGvpemfg3uFWhppRPp4J2DonKrrGurG6Ba4aFttFXjTNtBY9weiET9DcwIAAA--
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

search
                                         95.211.229.245
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
                                        
Server: nginx
Date: Wed, 08 Feb 2023 21:21:40 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-cache, must-revalidate
Pragma: no-cache
P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Set-Cookie: __uvt=a%3A1%3A%7Bi%3A0%3Bs%3A33%3A%2263e41263b644f3.419254042833327948%22%3B%7D; expires=Fri, 07 Feb 2025 21:21:40 GMT; path=; domain=.realsrv.com; Secure; SameSite=none impressions=oslmrxbrnxgxamrrlbbcegeicxbmsbcenxgxamrbelsllgeimmccrbebnxgxamcbexxbmgeioslmrxbmnxgxamrroelrxgeicxbmsbocnxgxamrroelrxgeimmccrlaonxgxamrcremlrgeimmccrlacnxgxamcmlarclgeicxbmsboenxgxamrmlxslxgeioslmrxlrnxgxamslescrogeimmccrbxenxgxamrescroogeislsaroornxgxamccolacbgeioslmroemnxgxamrrobxcageioslmrxlsnxgxamraobrssgeicmmsxrbonxgxamsoeamlmgeimmccrlaenxgxamrsxxxmrgeimmccrbeanxgxamcssabxegeicaocmrmanxgxamolcrcergeimcclsxronxgxamsscrmclgeimcclsxmenxgxamrceerargeialbserebnxgxamccrrssogeimcclsxaonxgxamsxsxllxgeicxbmsbxcnxgxamrblermogeimrblxebenxgxamselmborgeimcclsxconxgxamrcraoxsgeirbabxabbnxgxamrescroogeimcclsxacnxgxamsscrmclgeicmmsxaeenxgxamcmrmsrmgeialbsereanxgxamsoeabscgeicaxsscmbnxgxamsosomemgeimcclosconxgxamrrlbbcegeimcclsoeonxgxamrcraoxsgeimcclsxlcnxgxamrrxsoaageimcclossbnxgxamcscxaesgeimcclsxscnxgxamsmoooeegeimcclsxlenxgxamcbrorxbgeimaecseaenxgxamrcremlrgeimaecsxcbnxgxamsmoooeegeimcclsxoanxgxamclrbcelgeimcclsxlbnxgxamcrbalrageimccloscanxgxamrrobxcageiclsmrbsonxgxamsmmrbmbgeiclsmarsenxgxamsmmrbmbgeiccmmllebnxgxamclarlmmgeimcclsxsbnxgxamrroelrxgeiclsmrbxonxgxamsbebceegeiclsmrbxcnxgxamsbebceegeiclsmarscnxgxamsbebceegeiccmmlmlcnxgxamsbebceegeiclsmarrenxgxamsbebceegeicaormbaonxgxamsbxxbsrgeicaormlrenxgxamcememscgeimcclsxlonxgxamcsmlmxcgeimrblelronxgxamsbremaegeimaecsxobnxgxamsbremaegeiclsmrbrcnxgxamsbroemmgeiclsmrraanxgxamclsslaegeiclsmrmxbnxgxamsbroemmgeimccloscenxgxamrcraoxsgeimcclsxxonxgxamslescrogeimrblelxbnxgxamslescrogeimcclsoeenxgxamclrbcelgeimrblelmonxgxamcxcrasxgeimrbleloenxgxamcxcrasxgeiclsmrrmanxgxamcxabcxbgeiclsmrbeonxgxamcxabcxbgeiclsmrrcenxgxamcxabcxbgeiclsmrmxanxgxamcxabcxbgeiclsmrbxenxgxamcxabcxbgeiclsmaroonxgxamcxabcxbgeialbserxenxgxamcosraregeimcclsxsenxgxamrcraoxsgeimcclsxlanxgxamcblrlbcgeiccmmlleanxgxamccrrssogeicaormlabnxgxamcrllsmageicaormlconxgxamcrllsmageiclsmarsonxgxamclsslaegeiclsmrmlbnxgxamclsslaegeiclsmrmocnxgxamclsslaegeiccmmllecnxgxamclsslaegeimcclsxcanxgxamrceerscgeimrblelcenxgxamclrbcelgeimaecsxrcnxgxamclrbcelgeialbserxonxgxamclarlmmgeimcclosscnxgxamrceerscgeimaecobronxgxamrescroogeimaecobeenxgxamrescroogeimcclosccnxgxamrmlxslxgeimaecoboonxgxamrescroogeimrblxelenxgxamrescroogeimaecsxccnxgxamrcremlrgeimlxbaxlonxgxamrbbbslsgeimlxbaxbanxgxamrmlxslxgeimlxbaxbonxgxamrbelsllgeimlxbaxlanxgxamrmaleclgeimlxbaxlcnxgxamraobrssgeimlxbaxbcnxgxamrrrsbaageimlxbaxlenxgxamrrlbbcegeimmlamcecnxgxamrbxsoblgxcceimaoolcoonxgxamrboxomrgxcceimbmmcllonxgxamrborslbgxcceimbmlsebbnxgxamrborslbgxcceimbroosxcnxgxamrboaccrgxcceimxlbmxlonogxamrboaccrgxcceimboslabcnxgxamrboaccrgxcceimlommlsanxgxamrboaccagxcceimbroosxenxgxamrboaccagxcceialrexexbnxgxamrbsxboxgxcceimlseecaanxgxamrbsxboxgxcceixaoossalnxgxamrbslarogxcceixaoosscrnxgxamrbslarogxcceicmarxbbonxgxamrbslarogxcceimaoobbebnxgxamrbbacergxcceimmraexxanxgxamrbbacoxgxcceimmraexoenxgxamrbbacoxgxcceimmraexoonxgxamrbbacoxgxcceimbscxmxanxgxamrbbbslsgxcceimbsblroanrgxamrbbbslsgcbeimcssmlronogxamrbbbslsgxcceimsacexoonxgxamrbbbslsgxcceimxeoxsacnxgxamrbblalrgxcceimxlbmxlcnogxamrbblalrgxcceimbscxmobnxgxamrbblalrgxcceimcssmlrcnxgxamrbblalrgxcceimxlbmosanogxamrblermogxcceimbscxmocnxgxamrblermogxcceimxxerrxenxgxamrblermogxcceimlxocxobnxgxamrblermsgxcceimrblerrenxgxamrblermsgxcceimrbxmxmanxgxamrblermsgxcceialrexeoonxgxamrblermsgxcceimclsaoxbnxgxamrblermsgxcceimbbcemoanxgxamrblermsgxcceimbbcemobnxgxamrblermsgxcceimeembesonxgxamrblermsgxcceimeembecenxgxamrblermsgxcceimsbsocbcnxgxamrblxxaxgxcceimcssmlrenxgxamrblxxaxgxcceimxlbalsbnxgxamrblxxaxgxcceimeelaclcnxgxamrblxollgaeimeelaclonxgxamrblxseegae; expires=Thu, 09 Feb 2023 21:21:40 GMT; path=/; domain=.realsrv.com; Secure; SameSite=none
X-Robots-Tag: noindex, follow
Content-Encoding: gzip


--- Additional Info ---
Magic:  HTML document text\012- HTML document, ASCII text, with very long lines (914), with no line terminators
Size:   706
Md5:    23bc5ad55ff54fbd1262bd39758f78f1
Sha1:   b2f7252870ecca8fa53107c4ef03f0350c3e9a83
Sha256: a64998656e681028f948273b499e32896e13f225d5dd46757cf2696e54644678
                                        
                                            GET /library/428515/b67b7634d6bf1fbca848b3fcaef75d1a80bb6bac.jpg HTTP/1.1 
Host: s3t3d2y8.afcdn.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://syndication.realsrv.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         185.76.9.22
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Wed, 08 Feb 2023 21:21:40 GMT
content-length: 28017
last-modified: Fri, 31 Dec 2021 10:19:16 GMT
etag: "61ced924-6d71"
expires: Fri, 30 Jun 2023 11:19:10 GMT
cache-control: max-age=31536000
access-control-allow-origin: *
x-cache-op: HIT
x-accel-expires: @1688195211
server: CDN77-Turbo
x-robots-tag: noindex, follow
x-77-nzt: AblMCRRfZJX/WXUlAQ
x-77-nzt-ray: af58563078877ff56412e46368007d0f
x-cache: HIT
x-age: 19232089
x-77-pop: stockholmSE
x-77-cache: HIT
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, comment: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90", baseline, precision 8, 300x250, components 3\012- data
Size:   28017
Md5:    144ba67cf814d9d3a7caea125cf22d1d
Sha1:   b67b7634d6bf1fbca848b3fcaef75d1a80bb6bac
Sha256: c3b28149251d3e50c3567df1c0c1d372fa1e0734df3532926d653263deef921a
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "0D2F8D397E6302AB73734AC5B613BF05118065671D7C94B46FDE7F8062A973B0"
Last-Modified: Mon, 06 Feb 2023 13:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=3416
Expires: Wed, 08 Feb 2023 22:18:36 GMT
Date: Wed, 08 Feb 2023 21:21:40 GMT
Connection: keep-alive

                                        
                                            GET /ads.js HTTP/1.1 
Host: ads.exoclick.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.tube/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         205.185.216.42
HTTP/1.1 200 OK
Content-Type: application/javascript
                                        
Date: Wed, 08 Feb 2023 21:21:40 GMT
Connection: Keep-Alive
Content-Encoding: gzip
Content-Length: 974
Accept-Ranges: bytes
Cache-Control: max-age=10800
Server: nginx
etag: W/"8f3c7314efe500b41baba9f571b"
X-HW: 1675891300.dop219.sk1.t,1675891300.cds237.sk1.shn,1675891300.dop219.sk1.t,1675891300.cds003.sk1.c
Access-Control-Allow-Origin: *, *


--- Additional Info ---
Magic:  ASCII text, with very long lines (2476), with no line terminators
Size:   974
Md5:    92af51b4341a31ff621022c2a648c05e
Sha1:   3761459319128e7349981f338926abcd89ba58e0
Sha256: 6dd1f44f60b3c9584b3d9a54af5348c3fc36c7e13585f593f205ed42a0fa7e9f
                                        
                                            GET /contents/videos_sources/11143000/11143639/screenshots/1.jpg HTTP/1.1 
Host: tn.txxx.tube
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.tube/
Cookie: kt_lang=en
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-site

search
                                         45.133.44.25
HTTP/2 200 OK
content-type: image/jpeg
                                        
date: Wed, 08 Feb 2023 21:21:40 GMT
content-length: 72915
server: nginx/1.18.0
last-modified: Mon, 04 Feb 2019 09:11:32 GMT
etag: "5c5801c4-11cd3"
cache-control: max-age=7776000
expires: Tue, 09 May 2023 21:21:40 GMT
x-proxy-cache: HIT
access-control-allow-origin: *
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, baseline, precision 8, 1280x720, components 3\012- data
Size:   72915
Md5:    4debe2a78766d663898cba15c12897b8
Sha1:   4c148bb2497def9f49ca6c825dceb41d8e72cd9d
Sha256: 6acec36447112c142b559a5e62e8e71ddbaf632df71c1e50e2bf4132bd2ee349
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "CFAB68626C99177DEC1A49F95ABD671456D9EACD1E503F707EE5C17A9F570CB1"
Last-Modified: Mon, 06 Feb 2023 17:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=4714
Expires: Wed, 08 Feb 2023 22:40:14 GMT
Date: Wed, 08 Feb 2023 21:21:40 GMT
Connection: keep-alive

                                        
                                            GET /npc/sdk/wp-banners.js HTTP/1.1 
Host: js.wpadmngr.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.tube/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         45.133.44.24
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Wed, 08 Feb 2023 21:21:40 GMT
content-length: 0
server: nginx/1.18.0
last-modified: Fri, 20 Aug 2021 15:14:31 GMT
etag: "611fc6d7-0"
expires: Wed, 08 Feb 2023 21:26:40 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
accept-ranges: bytes
X-Firefox-Spdy: h2

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "2FED57555FEE781DC1184D4BF2278B77B7F616578BC6A5535C61655234F2C99B"
Last-Modified: Tue, 07 Feb 2023 04:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=6386
Expires: Wed, 08 Feb 2023 23:08:06 GMT
Date: Wed, 08 Feb 2023 21:21:40 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "2FED57555FEE781DC1184D4BF2278B77B7F616578BC6A5535C61655234F2C99B"
Last-Modified: Tue, 07 Feb 2023 04:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=6386
Expires: Wed, 08 Feb 2023 23:08:06 GMT
Date: Wed, 08 Feb 2023 21:21:40 GMT
Connection: keep-alive

                                        
                                            OPTIONS /vast HTTP/1.1 
Host: vast.yomeno.xyz
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
Referer: https://txxx.tube/
Origin: https://txxx.tube
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         109.206.163.116
HTTP/2 204 No Content
content-type: text/plain; charset=utf-8
                                        
server: nginx/1.20.1
date: Wed, 08 Feb 2023 21:21:39 GMT
access-control-allow-credentials: true
access-control-allow-origin: https://txxx.tube
access-control-allow-methods: GET, POST, OPTIONS
access-control-allow-headers: DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range
content-length: 0
X-Firefox-Spdy: h2

                                        
                                            GET /metrika/advert.gif HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.tube/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         93.158.134.119
HTTP/2 200 OK
content-type: image/gif
                                        
content-length: 43
date: Wed, 08 Feb 2023 21:21:40 GMT
access-control-allow-origin: *
etag: "63e36f34-2b"
expires: Wed, 08 Feb 2023 22:21:40 GMT
accept-ranges: bytes
last-modified: Wed, 08 Feb 2023 12:45:24 GMT
accept-ch: Sec-CH-UA-Bitness, Sec-CH-UA-Arch, Sec-CH-UA-Full-Version, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Platform, Sec-CH-UA, UA-Bitness, UA-Arch, UA-Full-Version, UA-Mobile, UA-Model, UA-Platform-Version, UA-Platform, UA
cache-control: max-age=3600
strict-transport-security: max-age=31536000
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   37232
Md5:    96526609022eb8fa894f50e3ebd040f8
Sha1:   c01d635d6966b5317729c045dd8e787a073ec797
Sha256: 75bd14ffbeec37ac2b8fa52764d1807e72c4071787a73a42a867e4a64ea55feb
                                        
                                            GET /watch/49315045/1?wmode=7&page-url=https%3A%2F%2Ftxxx.tube%2Fvideos%2F11143639%2Fget-fucked-in-the-darkroom-little-caprice-jolee-love-marcello-bravo%2F&charset=utf-8&browser-info=pv%3A1%3Avf%3Asm0eap24hzlr84c06sesn%3Afp%3A1270%3Afu%3A0%3Aen%3Autf-8%3Ala%3Aen-US%3Av%3A960%3Acn%3A1%3Adp%3A0%3Als%3A51876595653%3Ahid%3A471331777%3Az%3A0%3Ai%3A20230208212236%3Aet%3A1675891356%3Ac%3A1%3Arn%3A179497153%3Arqn%3A1%3Au%3A1675891356288619341%3Aw%3A1268x939%3As%3A1280x1024x24%3Ask%3A1%3Awv%3A2%3Ads%3A0%2C86%2C61%2C0%2C409%2C0%2C%2C671%2C3%2C%2C%2C%2C1305%3Aco%3A0%3Ans%3A1675891354476%3Afip%3Aa81f3b9bcdd80a361c14af38dc09b309-a81f3b9bcdd80a361c14af38dc09b309-a81f3b9bcdd80a361c14af38dc09b309-4bd84c89c35a312599d807af285e7b5f-4335742423629acc806791d3e9f585f3-5b56a9f28e63b1a76c5f94a136cc484e-61b9878bbce18de73aafc8582a198c0c-e9c964637c807fcca817e718cc2d1338-a81f3b9bcdd80a361c14af38dc09b309-c6d7b47b2dcff33f80cab17f3a360d0b-2facd2c41a0047c68391f933b930bc3a%3Arqnl%3A1%3Ast%3A1675891357%3At%3AGet%20fucked%20in%20the%20darkroom%20-%20Little%20Caprice%2C%20Jolee%20Love%2C%20Marcello%20Bravo%20-%20Porn%20video%20%7C%20TXXX.com&t=gdpr%2814%29clc%280-0-0%29rqnt%281%29aw%281%29fip%281%29ti%282%29 HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://txxx.tube
Referer: https://txxx.tube/
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         93.158.134.119
HTTP/2 200 OK
content-type: application/json; charset=utf-8
                                        
content-length: 419
date: Wed, 08 Feb 2023 21:21:40 GMT
x-content-type-options: nosniff
access-control-allow-origin: https://txxx.tube
access-control-allow-credentials: true
pragma: no-cache
x-xss-protection: 1; mode=block
expires: Wed, 08-Feb-2023 21:21:40 GMT
last-modified: Wed, 08-Feb-2023 21:21:40 GMT
accept-ch: Sec-CH-UA-Bitness, Sec-CH-UA-Arch, Sec-CH-UA-Full-Version, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Platform, Sec-CH-UA, UA-Bitness, UA-Arch, UA-Full-Version, UA-Mobile, UA-Model, UA-Platform-Version, UA-Platform, UA
cache-control: private, no-cache, no-store, must-revalidate, max-age=0
strict-transport-security: max-age=31536000
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (419), with no line terminators
Size:   419
Md5:    318aee56dd64e077891b2e5f5b484d47
Sha1:   47ea9b921dc57c8e10e927611a291fd65f9536b1
Sha256: 415dda5c717b320fcc601ff92964819ed334f402593790e9098ae366a933f204
                                        
                                            GET /watch/23578849/1?wmode=7&page-url=https%3A%2F%2Ftxxx.tube%2Fvideos%2F11143639%2Fget-fucked-in-the-darkroom-little-caprice-jolee-love-marcello-bravo%2F&charset=utf-8&browser-info=pv%3A1%3Avf%3A3kqlg6e9sjiwxr6f2njdv%3Afp%3A1270%3Afu%3A0%3Aen%3Autf-8%3Ala%3Aen-US%3Av%3A960%3Acn%3A2%3Adp%3A0%3Als%3A894827467526%3Ahid%3A471331777%3Az%3A0%3Ai%3A20230208212236%3Aet%3A1675891357%3Ac%3A1%3Arn%3A935394633%3Arqn%3A1%3Au%3A1675891356288619341%3Aw%3A1268x939%3As%3A1280x1024x24%3Ask%3A1%3Ads%3A0%2C86%2C61%2C0%2C409%2C0%2C%2C671%2C3%2C%2C%2C%2C1305%3Aco%3A0%3Ans%3A1675891354476%3Afip%3Aa81f3b9bcdd80a361c14af38dc09b309-a81f3b9bcdd80a361c14af38dc09b309-a81f3b9bcdd80a361c14af38dc09b309-4bd84c89c35a312599d807af285e7b5f-4335742423629acc806791d3e9f585f3-5b56a9f28e63b1a76c5f94a136cc484e-61b9878bbce18de73aafc8582a198c0c-e9c964637c807fcca817e718cc2d1338-a81f3b9bcdd80a361c14af38dc09b309-c6d7b47b2dcff33f80cab17f3a360d0b-2facd2c41a0047c68391f933b930bc3a%3Arqnl%3A1%3Ast%3A1675891357%3At%3AGet%20fucked%20in%20the%20darkroom%20-%20Little%20Caprice%2C%20Jolee%20Love%2C%20Marcello%20Bravo%20-%20Porn%20video%20%7C%20TXXX.com&t=gdpr%2814%29clc%280-0-0%29rqnt%281%29aw%281%29fip%281%29ti%282%29 HTTP/1.1 
Host: mc.yandex.ru
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://txxx.tube
Referer: https://txxx.tube/
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         93.158.134.119
HTTP/2 200 OK
content-type: application/json; charset=utf-8
                                        
content-length: 400
date: Wed, 08 Feb 2023 21:21:40 GMT
x-content-type-options: nosniff
access-control-allow-origin: https://txxx.tube
access-control-allow-credentials: true
pragma: no-cache
x-xss-protection: 1; mode=block
expires: Wed, 08-Feb-2023 21:21:40 GMT
last-modified: Wed, 08-Feb-2023 21:21:40 GMT
accept-ch: Sec-CH-UA-Bitness, Sec-CH-UA-Arch, Sec-CH-UA-Full-Version, Sec-CH-UA-Mobile, Sec-CH-UA-Model, Sec-CH-UA-Platform-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Platform, Sec-CH-UA, UA-Bitness, UA-Arch, UA-Full-Version, UA-Mobile, UA-Model, UA-Platform-Version, UA-Platform, UA
cache-control: private, no-cache, no-store, must-revalidate, max-age=0
strict-transport-security: max-age=31536000
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (400), with no line terminators
Size:   400
Md5:    6bbd6f213c632df70b239a8a4d08c274
Sha1:   5213b41bc94ea4249948d6965eb0f88db2e8d8bd
Sha256: 4ccdaf45a57a051dee92ee0a0f59a4a086c01a122e5875d6b16939b67bf6cd13
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "C04ADFD3B918A92D2228918AE55DD004BF5A8B2F30B1F3C89A4845B597382506"
Last-Modified: Wed, 08 Feb 2023 16:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=2946
Expires: Wed, 08 Feb 2023 22:10:47 GMT
Date: Wed, 08 Feb 2023 21:21:41 GMT
Connection: keep-alive

                                        
                                            OPTIONS /fp?tag_id=755 HTTP/1.1 
Host: fp.metricswpsh.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
Referer: https://txxx.tube/
Origin: https://txxx.tube
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         157.90.84.242
HTTP/1.1 204 No Content
                                        
Server: nginx/1.20.1
Date: Wed, 08 Feb 2023 21:21:41 GMT
Connection: keep-alive
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: content-type
Access-Control-Allow-Methods: GET,HEAD,PUT,PATCH,POST,DELETE
Access-Control-Allow-Origin: https://txxx.tube
Vary: Origin, Access-Control-Request-Method, Access-Control-Request-Headers

                                        
                                            OPTIONS /prepare HTTP/1.1 
Host: vast.yomeno.xyz
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
Referer: https://txxx.tube/
Origin: https://txxx.tube
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         109.206.163.116
HTTP/2 204 No Content
content-type: text/plain; charset=utf-8
                                        
server: nginx/1.20.1
date: Wed, 08 Feb 2023 21:21:40 GMT
access-control-allow-credentials: true
access-control-allow-origin: https://txxx.tube
access-control-allow-methods: GET, POST, OPTIONS
access-control-allow-headers: DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range
content-length: 0
X-Firefox-Spdy: h2

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "83ED2C28D8ACF84331EDA72A5D44D350CEF5757BD45704AB966ECE166EB29BB3"
Last-Modified: Tue, 07 Feb 2023 15:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=8829
Expires: Wed, 08 Feb 2023 23:48:50 GMT
Date: Wed, 08 Feb 2023 21:21:41 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "6A459B05F0CCAA27ECD4FEDECAA1CFCFDBAC3F7296C2BE580E00E8ACD612234A"
Last-Modified: Mon, 06 Feb 2023 17:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=2438
Expires: Wed, 08 Feb 2023 22:02:19 GMT
Date: Wed, 08 Feb 2023 21:21:41 GMT
Connection: keep-alive

                                        
                                            POST /prepare HTTP/1.1 
Host: vast.yomeno.xyz
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/json;charset=utf-8
Content-Length: 1212
Origin: https://txxx.tube
Connection: keep-alive
Referer: https://txxx.tube/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         109.206.163.116
HTTP/2 204 No Content
                                        
server: nginx/1.20.1
date: Wed, 08 Feb 2023 21:21:40 GMT
access-control-allow-credentials: true
access-control-allow-origin: https://txxx.tube
access-control-expose-headers: Content-Length,Content-Range
X-Firefox-Spdy: h2

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "6A459B05F0CCAA27ECD4FEDECAA1CFCFDBAC3F7296C2BE580E00E8ACD612234A"
Last-Modified: Mon, 06 Feb 2023 17:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=2438
Expires: Wed, 08 Feb 2023 22:02:19 GMT
Date: Wed, 08 Feb 2023 21:21:41 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "6A459B05F0CCAA27ECD4FEDECAA1CFCFDBAC3F7296C2BE580E00E8ACD612234A"
Last-Modified: Mon, 06 Feb 2023 17:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=2438
Expires: Wed, 08 Feb 2023 22:02:19 GMT
Date: Wed, 08 Feb 2023 21:21:41 GMT
Connection: keep-alive

                                        
                                            GET /in/track?data=eyJ3bCI6MSwic3ViaWQiOjAsInVzZXJfaWQiOiIxNTIxMzc1NjAzMzA1MjEyNTAwMCIsInRpbWV6b25lIjowLCJ2ZXIiOiIzLjIyLjAiLCJ0YWdfaWQiOjc1NSwic2NyZWVuX3Jlc29sdXRpb24iOiIxMjgweDEwMjQiLCJhZGJsb2NrIjowLCJ0aW1lem9uZV9vbHNvbiI6IlVUQyIsInV0bV9zb3VyY2UiOiIiLCJ1dG1fbWVkaXVtIjoiIiwidXRtX2NhbXBhaWduIjoiIiwidXRtX2NvbnRlbnQiOiIiLCJtbSI6MCwiaW5pdF9zdGFydF9sYXRlbmN5IjowLjM1LCJpc192MiI6MCwiaXNfdjJfZW1wdHkiOjAsInVzZXJfa2V5d29yZHMiOiJHZXQlMkNmdWNrZWQlMkNpbiUyQ3RoZSUyQ2Rhcmtyb29tJTJDTGl0dGxlJTJDQ2FwcmljZSUyQ0pvbGVlJTJDTG92ZSUyQ01hcmNlbGxvJTJDQnJhdm8lMkNQb3JuJTJDdmlkZW8lMkNUWFhYLmNvbSUyQ3R4eHguY29tJTJDcG9ybiUyQ3R1YmUlMkN4eHglMkN0dWJlJTJDZnJlZSUyQ3Bvcm4lMkN2aWRlb3MlMkNmcmVlJTJDcG9ybiUyQ3h4eCUyQ21vdmllcyUyQ3h4eCUyQ3R1YmUlMkN2aWRlbyUyQ2ZyZWUlMkN4eHglMkN2aWRpbyUyQ2NsaXBzJTJDeHh4dHViZSUyQ1dhdGNoJTJDZnJlZSUyQyUyMkdldCUyQ2Z1Y2tlZCUyQ2luJTJDdGhlJTJDZGFya3Jvb20lMkNMaXR0bGUlMkNDYXByaWNlJTJDSm9sZWUlMkNMb3ZlJTJDTWFyY2VsbG8lMkNCcmF2byUyMiUyQ3Bvcm4lMkN2aWRlbyUyQ2NhdGVnb3J5JTJDb24lMkNUeHh4LmNvbSUyQ0hvbWVtYWRlJTJDZnVjayUyQ3ZpZGVvcyUyQ0ZyZWUlMkNhbWF0ZXVyJTJDcG9ybiUyQ29uJTJDVHh4eC5jb20ifQ== HTTP/1.1 
Host: fafeef7fc5.c58f1b26aa.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://txxx.tube
Connection: keep-alive
Referer: https://txxx.tube/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         45.133.44.25
HTTP/2 200 OK
                                        
date: Wed, 08 Feb 2023 21:21:41 GMT
content-length: 0
server: nginx/1.18.0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  
Size:   0
Md5:    d41d8cd98f00b204e9800998ecf8427e
Sha1:   da39a3ee5e6b4b0d3255bfef95601890afd80709
Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "C83F285A1F3DF0F7AC758A68EE95CC3D2671F80264C2E143CC0561CC574E3F19"
Last-Modified: Mon, 06 Feb 2023 17:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=5847
Expires: Wed, 08 Feb 2023 22:59:08 GMT
Date: Wed, 08 Feb 2023 21:21:41 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "C83F285A1F3DF0F7AC758A68EE95CC3D2671F80264C2E143CC0561CC574E3F19"
Last-Modified: Mon, 06 Feb 2023 17:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=5847
Expires: Wed, 08 Feb 2023 22:59:08 GMT
Date: Wed, 08 Feb 2023 21:21:41 GMT
Connection: keep-alive

                                        
                                            POST /fp?tag_id=755 HTTP/1.1 
Host: fp.metricswpsh.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/json;charset=utf-8
Content-Length: 22285
Origin: https://txxx.tube
Connection: keep-alive
Referer: https://txxx.tube/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         157.90.84.242
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
                                        
Server: nginx/1.20.1
Date: Wed, 08 Feb 2023 21:21:41 GMT
Content-Length: 28
Connection: keep-alive
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: https://txxx.tube
Set-Cookie: id=2714420279822273879; Expires=Thu, 08 Feb 2024 21:21:41 GMT; Secure; SameSite=None
Vary: Origin


--- Additional Info ---
Magic:  JSON data\012- , ASCII text
Size:   28
Md5:    e3af49472d683a217237a6ebaf79bcb7
Sha1:   378db4d7e6171a2676ee15c80b4475d7f5ec9742
Sha256: 7714898d715fb8b1ce7a1de73e0e7c9f6394acc8a08cf1a3b342a7829d4de84a
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F5708e132-62b1-4b5b-aa88-fe22e522eb0e.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 6838
x-amzn-requestid: 54fc5ae9-d37a-46cf-97e0-d05de1417cfb
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: f_O7QEsCoAMFY1w=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63e2c514-40de6212468fcd0e78a93708;Sampled=0
x-amzn-remapped-date: Tue, 07 Feb 2023 21:39:32 GMT
x-amz-cf-pop: HIO50-C1, SEA19-C2
x-cache: Hit from cloudfront
x-amz-cf-id: mgfr5wO7Bj5BVjKYY7O0c4ogLognfq09QrA9khZROr2CVyOWgKTz1g==
via: 1.1 efe54e8b68e074d39b2ecd249f85100a.cloudfront.net (CloudFront), 1.1 d8792dbd3191bbe722eba5b536b979c8.cloudfront.net (CloudFront), 1.1 google
date: Tue, 07 Feb 2023 21:52:35 GMT
age: 84546
etag: "771070be61d0724b1c90ca86ea34c804bd7e501a"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   6838
Md5:    4b327816bc2c6fd7291c75c693685d54
Sha1:   771070be61d0724b1c90ca86ea34c804bd7e501a
Sha256: d45188239cacc7b228bc75ccc95afb48914aaa434c418cd5b786533e8b9cb983
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F99e021e8-f66e-44fd-94ca-b30d25a8f5b4.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 4961
x-amzn-requestid: c3b9db99-726f-4473-a6b6-9cff0dceb949
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: fswe1GeRoAMFiAA=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63db612b-17b52fcd74e374f1104af709;Sampled=0
x-amzn-remapped-date: Thu, 02 Feb 2023 07:07:23 GMT
x-amz-cf-pop: SEA19-C2
x-cache: Miss from cloudfront
x-amz-cf-id: dSxTM3mmYK8cLOy5_x4o-lew1goEgwT4fBHi0pM-HSK_qBC6rDAlzg==
via: 1.1 a4fe306096165bb1e86e69365dc8fac2.cloudfront.net (CloudFront), 1.1 476c2ba6d9f6cd69dbcedbd65688cbc0.cloudfront.net (CloudFront), 1.1 google
date: Wed, 08 Feb 2023 05:47:57 GMT
age: 56024
etag: "2b117270563b8c466ec774acce55271c38f6135b"
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   4961
Md5:    544181f4aba24fc687a14522dd20f720
Sha1:   2b117270563b8c466ec774acce55271c38f6135b
Sha256: 607c45cc5b4726b92c8507988bbb90ac6a44a3cf22b290030d440266350099a1
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2Fdcf61053-67f6-4767-ad44-fa802c5ef5b4.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 10058
x-amzn-requestid: 94374454-1e89-4c43-895b-0a90f39b851d
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: f_O5vEgcoAMFctg=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63e2c50a-0bf11cad4b0818c36188ba91;Sampled=0
x-amzn-remapped-date: Tue, 07 Feb 2023 21:39:22 GMT
x-amz-cf-pop: HIO50-C1, SEA19-C2
x-cache: Miss from cloudfront
x-amz-cf-id: qYXu_I4vL00EOopA1nQcxCTMKf4nObKFk9XQozhw6FezKsfTDem3Mw==
via: 1.1 9b311162717b41c968f6f00426d88aaa.cloudfront.net (CloudFront), 1.1 e66162aafd55b64ba1478ff7105150fa.cloudfront.net (CloudFront), 1.1 google
date: Tue, 07 Feb 2023 22:06:35 GMT
etag: "520b122e3ce52220af153fee26bb7067283f9075"
age: 83706
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   10058
Md5:    a9c2a9eee923b84d4e06438a8b2acaff
Sha1:   520b122e3ce52220af153fee26bb7067283f9075
Sha256: 9ff4236fdcd05210a9c8bb48ea68179e142b1b05c8b19dd66282590dff69fa22
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2Fcf4a5986-35e6-4c6b-9dba-c981908d9ec1.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 8644
x-amzn-requestid: d6d71f42-f887-4ad0-a2b7-9073d3857b03
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: f_OjRHBFoAMF4_Q=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63e2c47b-57490f255d8d30a561fdcd3a;Sampled=0
x-amzn-remapped-date: Tue, 07 Feb 2023 21:36:59 GMT
x-amz-cf-pop: HIO50-C1, SEA19-C2
x-cache: Miss from cloudfront
x-amz-cf-id: qfHMhMAdnYcOa0Xm23enTGXj4CQC-QFHV50Pq6QQdvM5YcIgUZVPRQ==
via: 1.1 a4fe306096165bb1e86e69365dc8fac2.cloudfront.net (CloudFront), 1.1 5565a51537c689d1d16f6b4d41f40082.cloudfront.net (CloudFront), 1.1 google
date: Tue, 07 Feb 2023 21:54:36 GMT
etag: "bdaba3ed0c7efb65de88af96063d830683c8499b"
age: 84425
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   8644
Md5:    726928e5de19ef978faebbe933c34008
Sha1:   bdaba3ed0c7efb65de88af96063d830683c8499b
Sha256: c6d208fcee052da80de1bf2dcccbbc48853511b8888c4777799ee676abba51b5
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2F7f728fd1-646b-418a-ab1a-194a7bf42969.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 6805
x-amzn-requestid: ef7a879d-25be-42b0-a5c5-df6ad8f1482c
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: f_R2FFv5IAMFZ7g=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63e2c9c0-2f8fa7ef41b70de04cfb5ac6;Sampled=0
x-amzn-remapped-date: Tue, 07 Feb 2023 21:59:28 GMT
x-amz-cf-pop: HIO50-C1, SEA19-C2
x-cache: Miss from cloudfront
x-amz-cf-id: JxJrYYY7fMm_DCBcuC4OEdR62HL5VMvJbt_a6TWp4QfqN0qxgFgj-A==
via: 1.1 112c6b3f9aea37a6cb00b7d933e5af6e.cloudfront.net (CloudFront), 1.1 5565a51537c689d1d16f6b4d41f40082.cloudfront.net (CloudFront), 1.1 google
date: Tue, 07 Feb 2023 22:06:50 GMT
etag: "5b37f807a19ffc80c0b9334e6d24d5bb717496ce"
age: 83691
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   6805
Md5:    c8f31c82179856e39ee5fc43d7f0b685
Sha1:   5b37f807a19ffc80c0b9334e6d24d5bb717496ce
Sha256: c099c91c6f2125a8a89ee6e9dc0e37e2c2c9914adadb2c8b77795063baa62037
                                        
                                            GET /296x148/filters:format(jpeg):quality(60):no_upscale():strip_exif()/https%3A%2F%2Fs3.amazonaws.com%2Fpocket-curatedcorpusapi-prod-images%2Ffcee4072-2c9e-4db4-b200-065a1ef67ace.jpeg HTTP/1.1 
Host: img-getpocket.cdn.mozilla.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: null
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         34.120.237.76
HTTP/2 200 OK
content-type: image/jpeg
                                        
server: nginx
content-length: 10202
x-amzn-requestid: 15e6c7ee-acef-4638-9a15-a01864ac74f6
x-xss-protection: 1; mode=block
access-control-allow-origin: *
strict-transport-security: max-age=63072000; includeSubdomains; preload
x-frame-options: DENY
content-security-policy: default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'
x-amz-apigw-id: f_PEYFZOoAMFzEA=
x-content-type-options: nosniff
x-amzn-trace-id: Root=1-63e2c54f-3681217a71e5b9472b9cdb8a;Sampled=0
x-amzn-remapped-date: Tue, 07 Feb 2023 21:40:31 GMT
x-amz-cf-pop: HIO50-C1, SEA19-C2
x-cache: Miss from cloudfront
x-amz-cf-id: PyOVGtKFSYIU2don5C7_L_pTUxdP_VEAhLZUhtBWo2PZ4kvPqaTg9g==
via: 1.1 e291f351a18746d40754b367095a2872.cloudfront.net (CloudFront), 1.1 1b74ccf4cb51eacf97a0e6d60ae46a3e.cloudfront.net (CloudFront), 1.1 google
date: Tue, 07 Feb 2023 21:55:22 GMT
etag: "e6da63e9b03289bfded190d999a20da78232437c"
age: 84379
cache-control: max-age=3600,public,public
alt-svc: clear
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 296x148, components 3\012- data
Size:   10202
Md5:    f175de8eebe398f5de2829cd551b3f04
Sha1:   e6da63e9b03289bfded190d999a20da78232437c
Sha256: b5d1ee4bd6186cbac1e4ac037766c9e453e166b0cfb2e08004cb11b8bb7daa88
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "B5882E433A703927F00AE5503806CD534DF3818CC79EC0699C9D64C0314D0DB7"
Last-Modified: Tue, 07 Feb 2023 06:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=8441
Expires: Wed, 08 Feb 2023 23:42:22 GMT
Date: Wed, 08 Feb 2023 21:21:41 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "DCE87F0775EF57E3F860F6D51E0E03B6C8659A2D9EF6C45BEE741F8DDD5A4F08"
Last-Modified: Tue, 07 Feb 2023 07:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=13783
Expires: Thu, 09 Feb 2023 01:11:24 GMT
Date: Wed, 08 Feb 2023 21:21:41 GMT
Connection: keep-alive

                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "DCE87F0775EF57E3F860F6D51E0E03B6C8659A2D9EF6C45BEE741F8DDD5A4F08"
Last-Modified: Tue, 07 Feb 2023 07:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=13783
Expires: Thu, 09 Feb 2023 01:11:24 GMT
Date: Wed, 08 Feb 2023 21:21:41 GMT
Connection: keep-alive

                                        
                                            GET /npc/sdk/wp-banners.js HTTP/1.1 
Host: js.wpshsdk.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.tube/
Sec-Fetch-Dest: script
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         45.133.44.25
HTTP/2 200 OK
content-type: application/javascript; charset=utf-8
                                        
date: Wed, 08 Feb 2023 21:21:41 GMT
content-length: 0
server: nginx/1.18.0
last-modified: Fri, 20 Aug 2021 15:14:31 GMT
etag: "611fc6d7-0"
expires: Wed, 08 Feb 2023 21:26:41 GMT
cache-control: max-age=300
x-proxy-cache: HIT
access-control-allow-origin: *
accept-ranges: bytes
X-Firefox-Spdy: h2

                                        
                                            GET /banner/in/show/?mid=640594477230369361&pid=0&site=31085&sc=NO&usage_type=DCH&subid=0&sid=0&cid=12774&price=0&is_cpm=1&cpm=0.0045&ecpm=0.0044073&crid=&crtid=d41d8cd98f00b204e9800998ecf8427e&tcid=0&out_id=&ver=&ver_c=&refdom=txxx.tube&hostname=auc-banner-hz-6&site_id=0&spot_id=31085&utm_source=&utm_medium=&utm_campaign=&utm_content=&expiration_timestamp=0&created_at=0000-00-00&is_native=6&auction_queue=0&pop_winurl=&ip=91.90.42.154&testab=&px_id=0&adblock=0&auction_host=&mm=&yc=&render_type=&campaign_type=&uniq=&exp=&resp_type=iframeAd&iabcat=IAB25-3&min_cpm=0.002485195017357566&placement_type_id=2&skin_test=&verify_hash=&score=99.79317768234696&ml=&tag_ab=c&v2=0&ttl=&space_id=31085&banner_width=300&banner_height=250&accel=0&gyr=0&iabcat=IAB25-3&url=%2F%2Fin16.zog.link%2Fin%2Ftishow%2F%3Fkatds_ep%3D7OZs2Weotjoj7Nd76kLM5fLedZCYppPf0BNj78yd6COIp1GuO3k-s9JwZz5_cEc9YHHvebka1HbQTsl3WX_16CQoM-17qv8CyN-A8GE_Ht7C4rt5fK_Xn9gW5fh8hHrpW7GEvZvUMLLDCWFPsxcJIfex7u7I1QfEGBmvQTRAYIyR2uUuxGjOjI15E4f3fzKlV9nTPfUcB1fyDnS4YzI8WSgOw09PHL198SSCgsSHZ08nzWUEYEiLUr08N_gcLgmMmxPDuwL0LoOo6IS-wHs62io-TC8v-SDduuNkNTHORs2ly0Zk-sE_FkTmTSM97sIP3Os5sdMxPP_vhPCa0hxPl0kLASHxebLrxt-EG3Jyl2-h1MgPYCimSY6R7FxnI-nJwzrA0aNCPgiGVzcJ1BB1PhiuVpjbTojkA2M5Ilv9xYzdCotwjHkS-hsIn2Uf97hty_U8p4etSvradH8wZ1vCXOJlSHLfQw12mkn9fjdFXWQRPfnRHLmT2zqj61aj7Ifx0Lb210kLs_d02E4SEfAWt8Y-x_x8Z560NkOraCPS4qOqySO5Gpu9jyVtTxVpdVgpQZJ0aVlUr7D0bDSCs4UksXBlTnREIiKgRgRY7OjfKKcU9CBFJ5vmktDXBArLiYwdleDr_8i3V_sElHGohTpbreHa7auQcEZFgO6NiABebM9RkmNL029wZNfoB4yjCU5XasBFC-Fvy3nYyliTuvlgPcIaX3lf5Y8p9woYCZDWrDLykn7g_6lKLUEl8OtwbJwh-nTaDvkXjWNT6pTY3ls4806U5agGGS8TDiE-2RHrQjQ-eGhXZhBnggNWuK48PZIKYoHiJqCIfJf0NiQmEl3NMEL6szAHdYCUsIgV4wZx6Z1ZmZTNBcACeH5_JL5-OetdBbyBbWkgNM6NUNLrLCzJN9udYBsIAJ_eWS-QbkiCumfBprHYY6d_PwQMw4Cuvm7wQJjrqAgP_Yu7AkzcNkOnJ3ZoE_BDop2Q0OX7-MjRJz7ZNmkbpR1uc_zUwU-B0EveoTUTgbll2JfcHKm-Pg-bj2QG7qNG-pZPudIggJCUtlDvcC9axKgOcFjg32V1uzpfSnwuvP0oB-5fKjMBTEWlODUPORPMcTQgTi3ZK_EWnOoST0CBg8LADKw5NfTWSC5U4eTIhBIbpJr_6rwTi2srVAjm5DFyPkr8nFrqPI6runBi3xPfQS_kC6-_JdB3eiPCoFO3Hm2TZQUF9x0O7FcVDD0i_NYgfVuaqCKaPjNYSLi03mScuhqpB1-FzpiB-s31tFP0kOqPAjVQLnq-Xvwvg1gk1Zmx4ne_3Ahemlt_7VXO7Zeayf03VnuMkiGC4_HOKliL9U_-U4jIlhAHVkftCr6-QI89w8MVcZepbmJcZmcTrWcuMlj-ozA5PrZQpDlKsfNHeM9O00CBgl-7UKnRa4nQopLRkxxuvhMlYaeN4Jy6XXCEjZO93NTRN41EMrPLWzM2gSxmq-8s3W7GgZgSh5xUw7GKasw76XmizJnzjpDlnkzGMj8Iwh5hkRIpksoY0WiD4aHoHDRxTse4MiF-PVdejrakzJHU3NAuLkXXpP0n2WqCrfwUVvWOB-bsuuAl-74B8RMgpOJglAihs91_cn1H6JGPzLmwiaTUi8hbqRVYqs4lr7L8HItsFBSmODDrpXqYzaX2rXN2QK0PCGZ7i0mw7c15CXfXVDspy5ZanK5pKjAJfyYFITWOkwCt8kNuFjSoo9DSmZ2Kh1WgU77svzaHDpQqamUbN-RKxEh93UugwNIj2eO4dgxbSqHx9UNZGkhVq2-UcvMpeJZK_C3ib1G1fVKG0TTYTx_bHO_Nw4QABCnk6ui38KTMoUEAseEIL7VYXVPo8hwyTPwg5ygShEWb8MOBDS4D9vSQkf25xGLx0_bhkVdBoGCOph2xw-SIa16Qn4yXkeEO9tKx5Kx1HLQL9wdfNMEZeWwyHiC99ILW-dpn3uMQHwjEXJ4viElbuXOfmepbHDvuNXDpbleMvBTz_EzaQ4liw3SJFmH_un1v66iqB2JkkcvAgQ5HKcLo6EEqHwl7JMsoQj6BII7gWtQKLjxv0jOonZ5Q94C_OogFU5qnuDnd9Pf-9-4gMURCZ4Go27RtGMUBCnxl3Bp768DDt6ZQYqdRiNjif1VldBZuRE20NzW12l8W4Ir5-1jZwrj30g%26sp%3D%24%7BSECOND_PRICE%7D&pr=&bid_crid=&bid_cid=&is_iframe=0&ad_tags=Straight%2CBrunette%2CHD%2CPornstar%2CHardcore%2CThreesome,&stratagem=nlabel-a&ssp=3756&refresh=1 HTTP/1.1 
Host: rtbrennab.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://rtbrennab.com/get/?go=1&data=eyJpbXAiOlt7InNlY3VyZSI6MSwiZXh0Ijp7InRhZ19hYiI6ImMiLCJtdWx0aSI6ZmFsc2UsInVzZXJfa2V5d29yZHMiOiIiLCJpZCI6MTQ5Niwic3BhY2VpZCI6MzEwODUsInR5cGUiOiJwb3AiLCJpZHpvbmUiOjY5MzkyMSwiYWRfdGFncyI6IlN0cmFpZ2h0JTJDQnJ1bmV0dGUlMkNIRCUyQ1Bvcm5zdGFyJTJDSGFyZGNvcmUlMkNUaHJlZXNvbWUsIiwibGFiZWxzIjoiIiwiYWxsb3dlZF9sYWJlbHMiOiIiLCJ0aXRsZSI6IiIsInN1YmlkIjoiMCIsInJlZnJlc2giOjEsInV0bTEiOiIiLCJ1dG0yIjoiIiwidXRtNCI6IiIsInNwb3RfaWQiOjMxMDg1LCJtdWx0aXBsZSI6ZmFsc2UsImlzX2lmcmFtZSI6ZmFsc2UsInJlZmRvbWFpbiI6IiIsInBsIjoyLCJzdHJhdGFnZW0iOiJubGFiZWwtYSIsImd5ciI6MCwiYWNjZWwiOjAsInNzcCI6Mzc1NiwiYnR5cGUiOjAsInYyIjowLCJyY2hhbmdlIjpmYWxzZX0sImJhbm5lciI6eyJ3IjozMDAsImgiOjI1MH19XSwic2l0ZSI6eyJpZCI6IjMxMDg1IiwiY2F0IjpbIklBQjI1Il0sInBhZ2UiOiJodHRwczovL3R4eHgudHViZS92aWRlb3MvMTExNDM2MzkvZ2V0LWZ1Y2tlZC1pbi10aGUtZGFya3Jvb20tbGl0dGxlLWNhcHJpY2Utam9sZWUtbG92ZS1tYXJjZWxsby1icmF2by8ifSwiZGV2aWNlIjp7InciOjEyODAsImgiOjEwMjR9LCJ1c2VyIjp7ImlkIjoiOWU0OTQ3ZjM1NzUxNDY1NDExZmQxYTRmNWMzNThjNzgiLCJmcCI6bnVsbH0sImV4dCI6eyJkdCI6MTY3NTg5MTM1NzI1N319
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         159.69.163.6
HTTP/2 302 Found
                                        
server: nginx/1.18.0
date: Wed, 08 Feb 2023 21:21:41 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
location: //in16.zog.link/in/tishow/?katds_ep=7OZs2Weotjoj7Nd76kLM5fLedZCYppPf0BNj78yd6COIp1GuO3k-s9JwZz5_cEc9YHHvebka1HbQTsl3WX_16CQoM-17qv8CyN-A8GE_Ht7C4rt5fK_Xn9gW5fh8hHrpW7GEvZvUMLLDCWFPsxcJIfex7u7I1QfEGBmvQTRAYIyR2uUuxGjOjI15E4f3fzKlV9nTPfUcB1fyDnS4YzI8WSgOw09PHL198SSCgsSHZ08nzWUEYEiLUr08N_gcLgmMmxPDuwL0LoOo6IS-wHs62io-TC8v-SDduuNkNTHORs2ly0Zk-sE_FkTmTSM97sIP3Os5sdMxPP_vhPCa0hxPl0kLASHxebLrxt-EG3Jyl2-h1MgPYCimSY6R7FxnI-nJwzrA0aNCPgiGVzcJ1BB1PhiuVpjbTojkA2M5Ilv9xYzdCotwjHkS-hsIn2Uf97hty_U8p4etSvradH8wZ1vCXOJlSHLfQw12mkn9fjdFXWQRPfnRHLmT2zqj61aj7Ifx0Lb210kLs_d02E4SEfAWt8Y-x_x8Z560NkOraCPS4qOqySO5Gpu9jyVtTxVpdVgpQZJ0aVlUr7D0bDSCs4UksXBlTnREIiKgRgRY7OjfKKcU9CBFJ5vmktDXBArLiYwdleDr_8i3V_sElHGohTpbreHa7auQcEZFgO6NiABebM9RkmNL029wZNfoB4yjCU5XasBFC-Fvy3nYyliTuvlgPcIaX3lf5Y8p9woYCZDWrDLykn7g_6lKLUEl8OtwbJwh-nTaDvkXjWNT6pTY3ls4806U5agGGS8TDiE-2RHrQjQ-eGhXZhBnggNWuK48PZIKYoHiJqCIfJf0NiQmEl3NMEL6szAHdYCUsIgV4wZx6Z1ZmZTNBcACeH5_JL5-OetdBbyBbWkgNM6NUNLrLCzJN9udYBsIAJ_eWS-QbkiCumfBprHYY6d_PwQMw4Cuvm7wQJjrqAgP_Yu7AkzcNkOnJ3ZoE_BDop2Q0OX7-MjRJz7ZNmkbpR1uc_zUwU-B0EveoTUTgbll2JfcHKm-Pg-bj2QG7qNG-pZPudIggJCUtlDvcC9axKgOcFjg32V1uzpfSnwuvP0oB-5fKjMBTEWlODUPORPMcTQgTi3ZK_EWnOoST0CBg8LADKw5NfTWSC5U4eTIhBIbpJr_6rwTi2srVAjm5DFyPkr8nFrqPI6runBi3xPfQS_kC6-_JdB3eiPCoFO3Hm2TZQUF9x0O7FcVDD0i_NYgfVuaqCKaPjNYSLi03mScuhqpB1-FzpiB-s31tFP0kOqPAjVQLnq-Xvwvg1gk1Zmx4ne_3Ahemlt_7VXO7Zeayf03VnuMkiGC4_HOKliL9U_-U4jIlhAHVkftCr6-QI89w8MVcZepbmJcZmcTrWcuMlj-ozA5PrZQpDlKsfNHeM9O00CBgl-7UKnRa4nQopLRkxxuvhMlYaeN4Jy6XXCEjZO93NTRN41EMrPLWzM2gSxmq-8s3W7GgZgSh5xUw7GKasw76XmizJnzjpDlnkzGMj8Iwh5hkRIpksoY0WiD4aHoHDRxTse4MiF-PVdejrakzJHU3NAuLkXXpP0n2WqCrfwUVvWOB-bsuuAl-74B8RMgpOJglAihs91_cn1H6JGPzLmwiaTUi8hbqRVYqs4lr7L8HItsFBSmODDrpXqYzaX2rXN2QK0PCGZ7i0mw7c15CXfXVDspy5ZanK5pKjAJfyYFITWOkwCt8kNuFjSoo9DSmZ2Kh1WgU77svzaHDpQqamUbN-RKxEh93UugwNIj2eO4dgxbSqHx9UNZGkhVq2-UcvMpeJZK_C3ib1G1fVKG0TTYTx_bHO_Nw4QABCnk6ui38KTMoUEAseEIL7VYXVPo8hwyTPwg5ygShEWb8MOBDS4D9vSQkf25xGLx0_bhkVdBoGCOph2xw-SIa16Qn4yXkeEO9tKx5Kx1HLQL9wdfNMEZeWwyHiC99ILW-dpn3uMQHwjEXJ4viElbuXOfmepbHDvuNXDpbleMvBTz_EzaQ4liw3SJFmH_un1v66iqB2JkkcvAgQ5HKcLo6EEqHwl7JMsoQj6BII7gWtQKLjxv0jOonZ5Q94C_OogFU5qnuDnd9Pf-9-4gMURCZ4Go27RtGMUBCnxl3Bp768DDt6ZQYqdRiNjif1VldBZuRE20NzW12l8W4Ir5-1jZwrj30g&sp=${SECOND_PRICE}
X-Firefox-Spdy: h2

                                        
                                            GET /dli/stars.svg?fill=%23F8F9FA HTTP/1.1 
Host: cdntocdn.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.tube/
Sec-Fetch-Dest: object
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

search
                                         45.133.44.24
HTTP/2 200 OK
content-type: image/svg+xml
                                        
date: Wed, 08 Feb 2023 21:21:41 GMT
content-length: 806
server: nginx/1.12.2
last-modified: Tue, 16 Jun 2020 16:25:10 GMT
etag: "5ee8f266-326"
cache-control: no-cache, no-store, must-revalidate
pragma: no-cache, no-cache
expires: 0
x-proxy-cache: HIT, HIT
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  SVG Scalable Vector Graphics image\012- HTML document, ASCII text, with very long lines (394), with CRLF line terminators
Size:   806
Md5:    b3abb3998f17bfd29fa9ac1ea792c629
Sha1:   1a09bcb47f879892481b624953e267e943e3eff4
Sha256: e1d58e96d3d6f3d1e401c67dddaa7908219f9a3fd30229a22093a906930bd23d
                                        
                                            GET /dli/webcamera.svg?fill=%23F8F9FA HTTP/1.1 
Host: cdntocdn.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.tube/
Sec-Fetch-Dest: object
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

search
                                         45.133.44.24
HTTP/2 200 OK
content-type: image/svg+xml
                                        
date: Wed, 08 Feb 2023 21:21:41 GMT
content-length: 1349
server: nginx/1.12.2
last-modified: Tue, 16 Jun 2020 16:25:10 GMT
etag: "5ee8f266-545"
cache-control: no-cache, no-store, must-revalidate
pragma: no-cache, no-cache
expires: 0
x-proxy-cache: HIT, HIT
accept-ranges: bytes
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  SVG Scalable Vector Graphics image\012- HTML document, ASCII text, with very long lines (937), with CRLF line terminators
Size:   1349
Md5:    bafc3550493f70677afb95f4bd7d1135
Sha1:   b267787e31ea33a55b6a3140d4e802279098abb4
Sha256: e7e6cd17d4242ba2a6f09e75b85b089287f2da80ce04bce096f6f40e048315f3
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "3E4D913CE760C0A3025391FBD4A966840BF747752C8F74198FB12391B7D4A7DD"
Last-Modified: Tue, 07 Feb 2023 16:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=12811
Expires: Thu, 09 Feb 2023 00:55:12 GMT
Date: Wed, 08 Feb 2023 21:21:41 GMT
Connection: keep-alive

                                        
                                            GET /in/dip?site=native-push&wl=1&event_id=fa417497-80e2-4550-991b-551d390e98f0&subid=1406986554&sid=1367301603&spot_id=360&created_at=2023-02-08&timezone=0&ver=8.25.0&is_native=1 HTTP/1.1 
Host: nereserv.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://txxx.tube
Connection: keep-alive
Referer: https://txxx.tube/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         94.130.198.6
HTTP/2 200 OK
                                        
server: nginx/1.20.1
date: Wed, 08 Feb 2023 21:21:41 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2

                                        
                                            POST /s/gts1p5/jnZwydICX54 HTTP/1.1 
Host: ocsp.pki.goog
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         142.250.74.163
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Date: Wed, 08 Feb 2023 21:21:41 GMT
Cache-Control: public, max-age=14400
Server: scaffolding on HTTPServer2
Content-Length: 471
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN

                                        
                                            OPTIONS /in/multy HTTP/1.1 
Host: af4b7a0c7f.45136f1b12.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
Referer: https://txxx.tube/
Origin: https://txxx.tube
Connection: keep-alive
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         94.130.198.6
HTTP/2 204 No Content
                                        
server: nginx/1.20.1
date: Wed, 08 Feb 2023 21:21:41 GMT
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  data
Size:   36452
Md5:    f9cf96c452eae68c865108887fe6ecbb
Sha1:   3a87e2a58c8c047b5bfabfd5cbc56bc464de4b7f
Sha256: 684015cb3fc96a5a026f84a55dda8a5122fbaa8ae0115776ec90f47cc6a902ca

Alerts:
  Blocklists:
    - quad9: Sinkholed
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "A3B3DC31377DDD734E449AF41DBE352086D276BE2A9A3A5A95930C76FA978E53"
Last-Modified: Wed, 08 Feb 2023 00:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=4867
Expires: Wed, 08 Feb 2023 22:42:48 GMT
Date: Wed, 08 Feb 2023 21:21:41 GMT
Connection: keep-alive

                                        
                                            GET /banner/in/show/?mid=3151012535887928434&pid=0&site=31075&sc=NO&usage_type=DCH&subid=0&sid=0&cid=10461&price=0&is_cpm=1&cpm=0.004&ecpm=0.0031872&crid=&crtid=d41d8cd98f00b204e9800998ecf8427e&tcid=0&out_id=&ver=&ver_c=&refdom=txxx.tube&hostname=auc-banner-hz-7&site_id=0&spot_id=31075&utm_source=&utm_medium=&utm_campaign=&utm_content=&expiration_timestamp=0&created_at=0000-00-00&is_native=6&auction_queue=0&pop_winurl=&ip=91.90.42.154&testab=&px_id=0&adblock=0&auction_host=&mm=&yc=&render_type=&campaign_type=&uniq=&exp=&resp_type=a2&iabcat=IAB25-3&min_cpm=0.002742218875502008&placement_type_id=8&skin_test=&verify_hash=&score=99.8190809413673&ml=&tag_ab=c&v2=0&ttl=&space_id=31075&banner_width=300&banner_height=250&accel=0&gyr=0&iabcat=IAB25-3&url=https%3A%2F%2Fpreroll.hostave3.net%2Fnotifications%2Fzeropixel.png&pr=&bid_crid=&bid_cid=&is_iframe=0&ad_tags=Straight%2CBrunette%2CHD%2CPornstar%2CHardcore%2CThreesome,&stratagem=nlabel-b&ssp=3756&refresh=1 HTTP/1.1 
Host: rtbrennab.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://rtbrennab.com/get/?go=1&data=eyJpbXAiOlt7InNlY3VyZSI6MSwiZXh0Ijp7InRhZ19hYiI6ImMiLCJtdWx0aSI6ZmFsc2UsInVzZXJfa2V5d29yZHMiOiIiLCJpZCI6MTQ5Niwic3BhY2VpZCI6MzEwNzUsInR5cGUiOiJwb3AiLCJpZHpvbmUiOjY5MzkzNywiYWRfdGFncyI6IlN0cmFpZ2h0JTJDQnJ1bmV0dGUlMkNIRCUyQ1Bvcm5zdGFyJTJDSGFyZGNvcmUlMkNUaHJlZXNvbWUsIiwibGFiZWxzIjoiIiwiYWxsb3dlZF9sYWJlbHMiOiIiLCJ0aXRsZSI6IiIsInN1YmlkIjoiMCIsInJlZnJlc2giOjEsInV0bTEiOiIiLCJ1dG0yIjoiIiwidXRtNCI6IiIsInNwb3RfaWQiOjMxMDc1LCJtdWx0aXBsZSI6ZmFsc2UsImlzX2lmcmFtZSI6ZmFsc2UsInJlZmRvbWFpbiI6IiIsInBsIjo4LCJzdHJhdGFnZW0iOiJubGFiZWwtYiIsImd5ciI6MCwiYWNjZWwiOjAsInNzcCI6Mzc1NiwiYnR5cGUiOjAsInYyIjowLCJyY2hhbmdlIjpmYWxzZX0sImJhbm5lciI6eyJ3IjozMDAsImgiOjI1MH19XSwic2l0ZSI6eyJpZCI6IjMxMDc1IiwiY2F0IjpbIklBQjI1Il0sInBhZ2UiOiJodHRwczovL3R4eHgudHViZS92aWRlb3MvMTExNDM2MzkvZ2V0LWZ1Y2tlZC1pbi10aGUtZGFya3Jvb20tbGl0dGxlLWNhcHJpY2Utam9sZWUtbG92ZS1tYXJjZWxsby1icmF2by8ifSwiZGV2aWNlIjp7InciOjEyODAsImgiOjEwMjR9LCJ1c2VyIjp7ImlkIjoiOWU0OTQ3ZjM1NzUxNDY1NDExZmQxYTRmNWMzNThjNzgiLCJmcCI6bnVsbH0sImV4dCI6eyJkdCI6MTY3NTg5MTM1NzI3MX19
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         159.69.163.6
HTTP/2 302 Found
                                        
server: nginx/1.18.0
date: Wed, 08 Feb 2023 21:21:41 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
location: https://preroll.hostave3.net/notifications/zeropixel.png
X-Firefox-Spdy: h2

                                        
                                            GET /in/tishow/?katds_ep=7OZs2Weotjoj7Nd76kLM5fLedZCYppPf0BNj78yd6COIp1GuO3k-s9JwZz5_cEc9YHHvebka1HbQTsl3WX_16CQoM-17qv8CyN-A8GE_Ht7C4rt5fK_Xn9gW5fh8hHrpW7GEvZvUMLLDCWFPsxcJIfex7u7I1QfEGBmvQTRAYIyR2uUuxGjOjI15E4f3fzKlV9nTPfUcB1fyDnS4YzI8WSgOw09PHL198SSCgsSHZ08nzWUEYEiLUr08N_gcLgmMmxPDuwL0LoOo6IS-wHs62io-TC8v-SDduuNkNTHORs2ly0Zk-sE_FkTmTSM97sIP3Os5sdMxPP_vhPCa0hxPl0kLASHxebLrxt-EG3Jyl2-h1MgPYCimSY6R7FxnI-nJwzrA0aNCPgiGVzcJ1BB1PhiuVpjbTojkA2M5Ilv9xYzdCotwjHkS-hsIn2Uf97hty_U8p4etSvradH8wZ1vCXOJlSHLfQw12mkn9fjdFXWQRPfnRHLmT2zqj61aj7Ifx0Lb210kLs_d02E4SEfAWt8Y-x_x8Z560NkOraCPS4qOqySO5Gpu9jyVtTxVpdVgpQZJ0aVlUr7D0bDSCs4UksXBlTnREIiKgRgRY7OjfKKcU9CBFJ5vmktDXBArLiYwdleDr_8i3V_sElHGohTpbreHa7auQcEZFgO6NiABebM9RkmNL029wZNfoB4yjCU5XasBFC-Fvy3nYyliTuvlgPcIaX3lf5Y8p9woYCZDWrDLykn7g_6lKLUEl8OtwbJwh-nTaDvkXjWNT6pTY3ls4806U5agGGS8TDiE-2RHrQjQ-eGhXZhBnggNWuK48PZIKYoHiJqCIfJf0NiQmEl3NMEL6szAHdYCUsIgV4wZx6Z1ZmZTNBcACeH5_JL5-OetdBbyBbWkgNM6NUNLrLCzJN9udYBsIAJ_eWS-QbkiCumfBprHYY6d_PwQMw4Cuvm7wQJjrqAgP_Yu7AkzcNkOnJ3ZoE_BDop2Q0OX7-MjRJz7ZNmkbpR1uc_zUwU-B0EveoTUTgbll2JfcHKm-Pg-bj2QG7qNG-pZPudIggJCUtlDvcC9axKgOcFjg32V1uzpfSnwuvP0oB-5fKjMBTEWlODUPORPMcTQgTi3ZK_EWnOoST0CBg8LADKw5NfTWSC5U4eTIhBIbpJr_6rwTi2srVAjm5DFyPkr8nFrqPI6runBi3xPfQS_kC6-_JdB3eiPCoFO3Hm2TZQUF9x0O7FcVDD0i_NYgfVuaqCKaPjNYSLi03mScuhqpB1-FzpiB-s31tFP0kOqPAjVQLnq-Xvwvg1gk1Zmx4ne_3Ahemlt_7VXO7Zeayf03VnuMkiGC4_HOKliL9U_-U4jIlhAHVkftCr6-QI89w8MVcZepbmJcZmcTrWcuMlj-ozA5PrZQpDlKsfNHeM9O00CBgl-7UKnRa4nQopLRkxxuvhMlYaeN4Jy6XXCEjZO93NTRN41EMrPLWzM2gSxmq-8s3W7GgZgSh5xUw7GKasw76XmizJnzjpDlnkzGMj8Iwh5hkRIpksoY0WiD4aHoHDRxTse4MiF-PVdejrakzJHU3NAuLkXXpP0n2WqCrfwUVvWOB-bsuuAl-74B8RMgpOJglAihs91_cn1H6JGPzLmwiaTUi8hbqRVYqs4lr7L8HItsFBSmODDrpXqYzaX2rXN2QK0PCGZ7i0mw7c15CXfXVDspy5ZanK5pKjAJfyYFITWOkwCt8kNuFjSoo9DSmZ2Kh1WgU77svzaHDpQqamUbN-RKxEh93UugwNIj2eO4dgxbSqHx9UNZGkhVq2-UcvMpeJZK_C3ib1G1fVKG0TTYTx_bHO_Nw4QABCnk6ui38KTMoUEAseEIL7VYXVPo8hwyTPwg5ygShEWb8MOBDS4D9vSQkf25xGLx0_bhkVdBoGCOph2xw-SIa16Qn4yXkeEO9tKx5Kx1HLQL9wdfNMEZeWwyHiC99ILW-dpn3uMQHwjEXJ4viElbuXOfmepbHDvuNXDpbleMvBTz_EzaQ4liw3SJFmH_un1v66iqB2JkkcvAgQ5HKcLo6EEqHwl7JMsoQj6BII7gWtQKLjxv0jOonZ5Q94C_OogFU5qnuDnd9Pf-9-4gMURCZ4Go27RtGMUBCnxl3Bp768DDt6ZQYqdRiNjif1VldBZuRE20NzW12l8W4Ir5-1jZwrj30g&sp=${SECOND_PRICE} HTTP/1.1 
Host: in16.zog.link
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://rtbrennab.com/
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

search
                                         109.206.175.85
HTTP/2 302 Found
                                        
server: nginx/1.20.1
date: Wed, 08 Feb 2023 21:21:41 GMT
content-length: 0
location: https://12112336.pix-cdn.org/m/p/0/11/11508/yPndOg0m.html?&utm1=tcb&__OS_FAMILY__=%7B%7B+__OS_FAMILY__+%7D%7D&utm4=0-10346131-0&PRICING_MODEL=%5BPRICING_MODEL%5D&CLICK_ID=747bd9ed-386f-40fb-ad79-7c4e1823f043&MOBILE_BRAND=%5BMOBILE_BRAND%5D&pricebox_price=0.0370&OS_TYPE=%5BOS_TYPE%5D&campaign_id=37319&OS_FAMILY=%5BOS_FAMILY%5D&price=0.0050&COUNTRY_ISO_CODE=%5BCOUNTRY_ISO_CODE%5D&__IP2L_MOBILE__=%7B%7B+__IP2L_MOBILE__+%7D%7D&DOMAIN=txxx.tube&out_name=37319%7C4317%7Ccpm%7C0.0045%7C%24+0.0050&id_zone=%5Bidzone%5D&pricing_model=cpm&ad_sub=173501021&__BROWSER_FAMILY__=%7B%7B+__BROWSER_FAMILY__+%7D%7D&CAMPAIGN_ID=6435&utm3=249-6435-14933&bidding_price=0.0045&site=%7B%7B+site+%7D%7D&PRICE=0.0050&__OS_TYPE__=%7B%7B+__OS_TYPE__+%7D%7D&priority=%5BPRIORITY%5D&utm2=878669509-100&__GEOIP_COUNTRY_SHORT__=%7B%7B+__GEOIP_COUNTRY_SHORT__+%7D%7D&BROWSER_FAMILY=%5BBROWSER_FAMILY%5D
cache-control: no-cache, no-store, must-revalidate
pragma: no-cache
vary: *
set-cookie: 2325.37319=1; expires=Thu, 09 Feb 2023 21:21:41 GMT; path=/; secure; SameSite=None
X-Firefox-Spdy: h2

                                        
                                            GET /banner/in/show/?mid=2432130270663164266&pid=0&site=38541&sc=NO&usage_type=DCH&subid=0&sid=0&cid=10461&price=0&is_cpm=1&cpm=0.004&ecpm=0.0031872&crid=&crtid=d41d8cd98f00b204e9800998ecf8427e&tcid=0&out_id=&ver=&ver_c=&refdom=txxx.tube&hostname=auc-banner-hz-9&site_id=0&spot_id=38541&utm_source=&utm_medium=&utm_campaign=&utm_content=&expiration_timestamp=0&created_at=0000-00-00&is_native=6&auction_queue=0&pop_winurl=&ip=91.90.42.154&testab=&px_id=0&adblock=0&auction_host=&mm=&yc=&render_type=&campaign_type=&uniq=&exp=&resp_type=a2&iabcat=IAB25-3&min_cpm=0.002428463855421687&placement_type_id=3&skin_test=&verify_hash=&score=99.80287737163471&ml=&tag_ab=c&v2=0&ttl=&space_id=38541&banner_width=300&banner_height=250&accel=0&gyr=0&iabcat=IAB25-3&url=https%3A%2F%2Fpreroll.hostave3.net%2Fnotifications%2Fzeropixel.png&pr=&bid_crid=&bid_cid=&is_iframe=0&ad_tags=Straight%2CBrunette%2CHD%2CPornstar%2CHardcore%2CThreesome,&stratagem=nlabel-b&ssp=3756&refresh=1 HTTP/1.1 
Host: rtbrennab.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://rtbrennab.com/get/?go=1&data=eyJpbXAiOlt7InNlY3VyZSI6MSwiZXh0Ijp7InRhZ19hYiI6ImMiLCJtdWx0aSI6ZmFsc2UsInVzZXJfa2V5d29yZHMiOiIiLCJpZCI6MTQ5Niwic3BhY2VpZCI6Mzg1NDEsInR5cGUiOiJwb3AiLCJpZHpvbmUiOjY5Mzk3OSwiYWRfdGFncyI6IlN0cmFpZ2h0JTJDQnJ1bmV0dGUlMkNIRCUyQ1Bvcm5zdGFyJTJDSGFyZGNvcmUlMkNUaHJlZXNvbWUsIiwibGFiZWxzIjoiIiwiYWxsb3dlZF9sYWJlbHMiOiIiLCJ0aXRsZSI6IiIsInN1YmlkIjoiMCIsInJlZnJlc2giOjEsInV0bTEiOiIiLCJ1dG0yIjoiIiwidXRtNCI6IiIsInNwb3RfaWQiOjM4NTQxLCJtdWx0aXBsZSI6ZmFsc2UsImlzX2lmcmFtZSI6ZmFsc2UsInJlZmRvbWFpbiI6IiIsInBsIjozLCJzdHJhdGFnZW0iOiJubGFiZWwtYiIsImd5ciI6MCwiYWNjZWwiOjAsInNzcCI6Mzc1NiwiYnR5cGUiOjAsInYyIjowLCJyY2hhbmdlIjpmYWxzZX0sImJhbm5lciI6eyJ3IjozMDAsImgiOjI1MH19XSwic2l0ZSI6eyJpZCI6IjM4NTQxIiwiY2F0IjpbIklBQjI1Il0sInBhZ2UiOiJodHRwczovL3R4eHgudHViZS92aWRlb3MvMTExNDM2MzkvZ2V0LWZ1Y2tlZC1pbi10aGUtZGFya3Jvb20tbGl0dGxlLWNhcHJpY2Utam9sZWUtbG92ZS1tYXJjZWxsby1icmF2by8ifSwiZGV2aWNlIjp7InciOjEyODAsImgiOjEwMjR9LCJ1c2VyIjp7ImlkIjoiOWU0OTQ3ZjM1NzUxNDY1NDExZmQxYTRmNWMzNThjNzgiLCJmcCI6bnVsbH0sImV4dCI6eyJkdCI6MTY3NTg5MTM1NzI4OX19
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         159.69.163.6
HTTP/2 302 Found
                                        
server: nginx/1.18.0
date: Wed, 08 Feb 2023 21:21:41 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
location: https://preroll.hostave3.net/notifications/zeropixel.png
X-Firefox-Spdy: h2

                                        
                                            POST / HTTP/1.1 
Host: ocsp.digicert.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 83
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         93.184.220.29
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Accept-Ranges: bytes
Age: 3347
Cache-Control: 'max-age=158059'
Date: Wed, 08 Feb 2023 21:21:41 GMT
Last-Modified: Wed, 08 Feb 2023 20:25:54 GMT
Server: ECS (ska/F70D)
X-Cache: HIT
Content-Length: 279

                                        
                                            GET /banner/in/show/?mid=3307288127172369276&pid=0&site=31086&sc=NO&usage_type=DCH&subid=0&sid=0&cid=0&price=0&is_cpm=0&cpm=0&ecpm=0&crid=&crtid=&tcid=0&out_id=&ver=&ver_c=&refdom=txxx.tube&hostname=auc-banner-hz-7&site_id=0&spot_id=31086&utm_source=&utm_medium=&utm_campaign=&utm_content=&expiration_timestamp=0&created_at=0000-00-00&is_native=0&auction_queue=0&pop_winurl=&ip=91.90.42.154&testab=&px_id=0&adblock=0&auction_host=&mm=&yc=&render_type=&campaign_type=&uniq=&exp=&resp_type=default&iabcat=IAB25-3&min_cpm=0.00239&placement_type_id=&skin_test=&verify_hash=&score=99.79796419808959&ml=&tag_ab=c&v2=0&ttl=&space_id=31086&banner_width=300&banner_height=250&accel=0&gyr=0&iabcat=IAB25-3&url=https%3A%2F%2Fbtds.zog.link%2Fin%2F912%2F%3Fsid%3D31086%26source%3D0%26idzone%3D693925%26w%3D300%26h%3D250%26mo%3D%26ve%3D%26site_id%3D31086%26utm1%3D%26utm2%3D%26utm3%3D%26utm4%3D%26ad_tags%3DStraight%252CBrunette%252CHD%252CPornstar%252CHardcore%252CThreesome%2C%26spot_id%3D31086%26p%3Dhttps%253A%252F%252Ftxxx.tube%252Fvideos%252F11143639%252Fget-fucked-in-the-darkroom-little-caprice-jolee-love-marcello-bravo%252F%26katds_labels%3D%26btype%3D0%26score%3D99.79796419808959%26bf%3D0.00239&pr=&bid_crid=&bid_cid=&is_iframe=0&ad_tags=Straight%2CBrunette%2CHD%2CPornstar%2CHardcore%2CThreesome,&stratagem=nlabel-b&ssp=3756&refresh=1 HTTP/1.1 
Host: rtbrennab.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://rtbrennab.com/get/?go=1&data=eyJpbXAiOlt7InNlY3VyZSI6MSwiZXh0Ijp7InRhZ19hYiI6ImMiLCJtdWx0aSI6ZmFsc2UsInVzZXJfa2V5d29yZHMiOiIiLCJpZCI6MTQ5Niwic3BhY2VpZCI6MzEwODYsInR5cGUiOiJwb3AiLCJpZHpvbmUiOjY5MzkyNSwiYWRfdGFncyI6IlN0cmFpZ2h0JTJDQnJ1bmV0dGUlMkNIRCUyQ1Bvcm5zdGFyJTJDSGFyZGNvcmUlMkNUaHJlZXNvbWUsIiwibGFiZWxzIjoiIiwiYWxsb3dlZF9sYWJlbHMiOiIiLCJ0aXRsZSI6IiIsInN1YmlkIjoiMCIsInJlZnJlc2giOjEsInV0bTEiOiIiLCJ1dG0yIjoiIiwidXRtNCI6IiIsInNwb3RfaWQiOjMxMDg2LCJtdWx0aXBsZSI6ZmFsc2UsImlzX2lmcmFtZSI6ZmFsc2UsInJlZmRvbWFpbiI6IiIsInBsIjo1LCJzdHJhdGFnZW0iOiJubGFiZWwtYiIsImd5ciI6MCwiYWNjZWwiOjAsInNzcCI6Mzc1NiwiYnR5cGUiOjAsInYyIjowLCJyY2hhbmdlIjpmYWxzZX0sImJhbm5lciI6eyJ3IjozMDAsImgiOjI1MH19XSwic2l0ZSI6eyJpZCI6IjMxMDg2IiwiY2F0IjpbIklBQjI1Il0sInBhZ2UiOiJodHRwczovL3R4eHgudHViZS92aWRlb3MvMTExNDM2MzkvZ2V0LWZ1Y2tlZC1pbi10aGUtZGFya3Jvb20tbGl0dGxlLWNhcHJpY2Utam9sZWUtbG92ZS1tYXJjZWxsby1icmF2by8ifSwiZGV2aWNlIjp7InciOjEyODAsImgiOjEwMjR9LCJ1c2VyIjp7ImlkIjoiOWU0OTQ3ZjM1NzUxNDY1NDExZmQxYTRmNWMzNThjNzgiLCJmcCI6bnVsbH0sImV4dCI6eyJkdCI6MTY3NTg5MTM1NzI2MX19
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         159.69.163.6
HTTP/2 302 Found
                                        
server: nginx/1.18.0
date: Wed, 08 Feb 2023 21:21:41 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
location: https://btds.zog.link/in/912/?sid=31086&source=0&idzone=693925&w=300&h=250&mo=&ve=&site_id=31086&utm1=&utm2=&utm3=&utm4=&ad_tags=Straight%2CBrunette%2CHD%2CPornstar%2CHardcore%2CThreesome,&spot_id=31086&p=https%3A%2F%2Ftxxx.tube%2Fvideos%2F11143639%2Fget-fucked-in-the-darkroom-little-caprice-jolee-love-marcello-bravo%2F&katds_labels=&btype=0&score=99.79796419808959&bf=0.00239
X-Firefox-Spdy: h2

                                        
                                            GET /banner/in/show/?mid=4541031648772419438&pid=0&site=31089&sc=NO&usage_type=DCH&subid=0&sid=0&cid=0&price=0&is_cpm=0&cpm=0&ecpm=0&crid=&crtid=&tcid=0&out_id=&ver=&ver_c=&refdom=txxx.tube&hostname=auc-banner-hz-4&site_id=0&spot_id=31089&utm_source=&utm_medium=&utm_campaign=&utm_content=&expiration_timestamp=0&created_at=0000-00-00&is_native=0&auction_queue=0&pop_winurl=&ip=91.90.42.154&testab=&px_id=0&adblock=0&auction_host=&mm=&yc=&render_type=&campaign_type=&uniq=&exp=&resp_type=default&iabcat=IAB25-3&min_cpm=0.001663&placement_type_id=&skin_test=&verify_hash=&score=99.79862640758968&ml=&tag_ab=c&v2=0&ttl=&space_id=31089&banner_width=728&banner_height=90&accel=0&gyr=0&iabcat=IAB25-3&url=https%3A%2F%2Fbtds.zog.link%2Fin%2F912%2F%3Fsid%3D31089%26source%3D0%26idzone%3D3069158%26w%3D728%26h%3D90%26mo%3D%26ve%3D%26site_id%3D31089%26utm1%3D%26utm2%3D%26utm3%3D%26utm4%3D%26ad_tags%3DStraight%252CBrunette%252CHD%252CPornstar%252CHardcore%252CThreesome%2C%26spot_id%3D31089%26p%3Dhttps%253A%252F%252Ftxxx.tube%252Fvideos%252F11143639%252Fget-fucked-in-the-darkroom-little-caprice-jolee-love-marcello-bravo%252F%26katds_labels%3D%26btype%3D0%26score%3D99.79862640758968%26bf%3D0.001663&pr=&bid_crid=&bid_cid=&is_iframe=0&ad_tags=Straight%2CBrunette%2CHD%2CPornstar%2CHardcore%2CThreesome,&stratagem=nlabel-b&ssp=3756&refresh=1 HTTP/1.1 
Host: rtbrennab.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://rtbrennab.com/get/?go=1&data=eyJpbXAiOlt7InNlY3VyZSI6MSwiZXh0Ijp7InRhZ19hYiI6ImMiLCJtdWx0aSI6ZmFsc2UsInVzZXJfa2V5d29yZHMiOiIiLCJpZCI6MTQ5Nywic3BhY2VpZCI6MzEwODksInR5cGUiOiJwb3AiLCJpZHpvbmUiOjMwNjkxNTgsImFkX3RhZ3MiOiJTdHJhaWdodCUyQ0JydW5ldHRlJTJDSEQlMkNQb3Juc3RhciUyQ0hhcmRjb3JlJTJDVGhyZWVzb21lLCIsImxhYmVscyI6IiIsImFsbG93ZWRfbGFiZWxzIjoiIiwidGl0bGUiOiIiLCJzdWJpZCI6IjAiLCJyZWZyZXNoIjoxLCJ1dG0xIjoiIiwidXRtMiI6IiIsInV0bTQiOiIiLCJzcG90X2lkIjozMTA4OSwibXVsdGlwbGUiOmZhbHNlLCJpc19pZnJhbWUiOmZhbHNlLCJyZWZkb21haW4iOiIiLCJwbCI6MTIsInN0cmF0YWdlbSI6Im5sYWJlbC1iIiwiZ3lyIjowLCJhY2NlbCI6MCwic3NwIjozNzU2LCJidHlwZSI6MCwidjIiOjAsInJjaGFuZ2UiOmZhbHNlfSwiYmFubmVyIjp7InciOjcyOCwiaCI6OTB9fV0sInNpdGUiOnsiaWQiOiIzMTA4OSIsImNhdCI6WyJJQUIyNSJdLCJwYWdlIjoiaHR0cHM6Ly90eHh4LnR1YmUvdmlkZW9zLzExMTQzNjM5L2dldC1mdWNrZWQtaW4tdGhlLWRhcmtyb29tLWxpdHRsZS1jYXByaWNlLWpvbGVlLWxvdmUtbWFyY2VsbG8tYnJhdm8vIn0sImRldmljZSI6eyJ3IjoxMjgwLCJoIjoxMDI0fSwidXNlciI6eyJpZCI6IjllNDk0N2YzNTc1MTQ2NTQxMWZkMWE0ZjVjMzU4Yzc4IiwiZnAiOm51bGx9LCJleHQiOnsiZHQiOjE2NzU4OTEzNTcyNzl9fQ==
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         159.69.163.6
HTTP/2 302 Found
                                        
server: nginx/1.18.0
date: Wed, 08 Feb 2023 21:21:41 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
location: https://btds.zog.link/in/912/?sid=31089&source=0&idzone=3069158&w=728&h=90&mo=&ve=&site_id=31089&utm1=&utm2=&utm3=&utm4=&ad_tags=Straight%2CBrunette%2CHD%2CPornstar%2CHardcore%2CThreesome,&spot_id=31089&p=https%3A%2F%2Ftxxx.tube%2Fvideos%2F11143639%2Fget-fucked-in-the-darkroom-little-caprice-jolee-love-marcello-bravo%2F&katds_labels=&btype=0&score=99.79862640758968&bf=0.001663
X-Firefox-Spdy: h2

                                        
                                            GET /api/v1/p/p.gif?p=APeIQFMmDJkycuaI0HGDhYgwY-gsjOGQzpmFImiYgVFDDA0bYlrguEFjTIuSNGCIlFHGJA4yMUDmqJEDRwwxMUQ4nCMmDRmFOraIgCGii8MxboDWiAHDYZg6YzDOiLEURgwZNWbUwDEyhwwcNGbQ0CmiJxmMaeiUafMlp1MydibaoCGjqQg4dcQszFpDhlM4cCbGmKF1JxyJOmbYyEFjKUURZfDQ-TLnMEaDet64KfNlKowbNciOaRNYx1IaqGe8NTPRoRg3bhbOkPExRowcDtu4uZgYRk0bDuHo5h3jBgwYwEXUkcNGdg0YNGJEd1hHBkY0dOjAmaPjxQs5cMiIkbMGj4sxb9q8qNKmzBsobpK8OWJFRpg7bZxU0cOkCRQjWOChURE4yEEFHkuMQQMRMiRxRhx2FJFGHHHAEQMdd_TwQhpuHIRHDC7AgQYcP2yGRw8xcFHHcTLYUAcdbLVHRhp1tNHDaam5MFttt6nIog10yBGGGWakMQZlbyw3Rhk9yEFGkGv4CEOLL7Kl1hx0-ITiXCPBICWVMH5h0HhvrIFQD1QISaSRU9ARRkJfyPCli2EaZMYbcrQRBh09zHAcHlh5ueKUdLI1R5JyLIniYFrNmdlmfS7WmG1zjsGGkWtoecQSYbiRhRFlnAGHGlJcgdAZZNyQKBI5lNGCEmmUQUUeSMjxhBNFEBFFGEQwcQUZwiERB1M4wCBGEGnEEEcTReDhBB11XGHFE2m0EIURcjhRhhl1GAEDDkOMEQYNcrihhRIzWFEEFViMgYUedCghRQ1X4DHHE1GYEUMYNyiBBBswzCHFGVUI8QXBSRAhRRVpkEVGehjRgcfELkArRhmi7bnQFlexIINqLRp1V6J7uYqca6zpAIMLx9VwlHBfwEGyyixD55AcdpRWl0MtCbfQyi1TV0fDOojQKg2M3WCGVqBJZ0MN0cVgBkzjmlHDGFrhMMYNOJCVRmlGg5jDynS5QNVY1IWBURNv6JEGG2yE8UINLIOAwhUcPnzHHCA4QQUITLG8Awh4uzHX4HgcDgLOOjBFNwwpgHBES2u88UJdTFllFQhGpCHHtm_g8YLjLIsWVdFOPEEWnl-McboIqZPFxutFOOFwGXZ88XlzjddwA9eKFWuXHGfEpgNWIzl0UO7jLcSV8rh_0cYbZx2Pgw2PkSHHG7I59AZQNAS3PR55LBS-CJ-nPFB223X3gsQUW1zGC3b45N4co9sWlg0z5PDCGWWgQwu4NQYzkaEFHGoBHQjSAjK8aQ3bS08LLpUdNrhKXDIzkqvU8AYLuooNb7CDq_SUqDLA7Q0tGE8Y7GA5sswBZxjZnpvogKcW1MENaWkBdFxAhq057HUH-UIPb0AWGMkFNDjIwWCsUpE2WKdxNkCiEv0kHZu8RXdlqIyYEBMTKS7xMdELgwXlQAegbEErIguDGBAjgoOY4SlskEhwZvezo_AGBn1QQEAA&r=1&s=09d12a62c6b9a69ed29560302b8bc7b3c60841ddbdb0c901531539dba32f1efa1675891301&w=t HTTP/1.1 
Host: pxl.tsyndicate.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://rtbrennab.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         148.251.120.78
HTTP/2 200 OK
content-type: text/plain; charset=utf-8
                                        
server: nginx
date: Wed, 08 Feb 2023 21:21:41 GMT
content-length: 35
x-robots-tag: noindex, nofollow
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1\012- data
Size:   35
Md5:    c2196de8ba412c60c22ab491af7b1409
Sha1:   5fbd472222feb8a22cf5b8aa5dc5b8e13af88e2b
Sha256: 6adc3d4c1056996e4e8b765a62604c78b1f867cceb3b15d0b9bedb7c4857f992
                                        
                                            GET /api/v1/p/p.gif?p=APeIQFMmDJkycuaI0HGDhYgwY-gsjOGQzpmFImyQGVMGRxgcZFrQmFFGjMgcMXC0yCGGhpkWNczYkEGGTI0ZMWzkCCPC4Rwxacgo1LFFBAwRXRyOcTO0RgwYDsPUGYNRxkgZMWbAkHEDhg0bOG3QkPG1pwigZDCmoVOmzZcYZg3amShWBlQRcOqIWXizhoyocOBMzDqjhk84EnXM0EnDKUURZfDQ-TIHMUaDet64KfNlBo4aNOAqbSNYh1MaqGdEJWNmokMxbtwsnGHVRozbDtu4uagYRg4cNhzC0c07RlevDuvIYTO7BozQM1SLqCMDIxo6dODM0fHihRw4ZMTIWYPHxZg3bV5UaVPmDRQ3Sd4csSIjzJ02TqroYdIEihEseLhUBA5yUIHHEmPQQIQMSZwRhx1FpBFHHHDEQMcdPbyQhhsH4RGDC3CgAccPm-HRQwxc1AHDVjbUQYdb7JGRRh1t9HBaai7QRoNtt6W4Ill0yBGGGWakMQZlbyjHUQ9ykBHkGj6y6KJbbM1BR1AnioVDV1GSNeUXBon3xhoI9UCFkEQaOQUdYST0hQxdtvgimKy9IUcbYdDRg1Yw4CGDc3F-OUeScix5W3Q1xJnZZnsy5licY7Bh5BpY5qfFGkWYMYMaSJhRhh5hVIEGE0bQgMUVSqQxRRB3LKHHEHLEIMQZchQBQxNt1ICFHE80cUcWTuDhGRoxDAHFg1lIIccVdNjABBZJhBGDFlqkUQYRbESBxgxQSEEHFG_AoUcVZkjKhBliHDEEDEZAoR8NZOCRx2RzoDGEE2jIcAa8b9zxxRlVJEGEFFWkYRYZ6GFEBx4Mu0CHXmWYNUaeC20Rw18yqEZWUngVylcZLSB3Vms6wODCioaJMMZwX8DhccknP-eQHHaUZpdDZazcxkImo5xcHQbrIEIOZdCQAw03aFrDDafZANptZpARQxgu1TBGYTiMcQMOZqVR2tAf5mDyWC7EAJpZdfAkdBNv6JEGG2yE8UINJ4OAwhUbInzHHCA4QQUIT528Awh4uyHW4HgcDgLNOjxFNwwpgHBEzmu88YJdT8HwVAwgGJGGHGWY8QYeLzh-ssRUCe3EE2bZ-cUYqYuwullsxF6EEweXYccXoDPX-NJbL4bDijOfIZsOf27p0EG7i7cQDjgsr_sXbbyRFvLAPUaGHG_M5tAbQ9EgHPfyLiS-CKCTPBB22nH3wsINPyxGGS_YEVR7c5R-20hg5fDCGWWgQwvMMBUyhWRDLaADQVpAhjatgXvoaYGksMMGkE3MZUYCmRreUEGQseENdgAZngpVBri9oQXiCYMdLGeWOdAMI9xjEx3s1II6uGEtLdCKCzZyg4PF7iBf4KFZXkQXpuEAJVp5zIuq0zgbGBGJmhtLQx5CBt6VoTJgSkxOnpgVzeFsd2GooBzoMJQtFIZjYRBDYkRwEDNIhQ0SEU7teKYU3sCgDwoICA%3D%3D&r=1&s=823b66edd84041ca2c3982dd607c089457f1ee18e46f980524abf55b2571a5591675891301&w=t HTTP/1.1 
Host: pxl.tsyndicate.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://rtbrennab.com/
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site
TE: trailers

search
                                         148.251.120.78
HTTP/2 200 OK
content-type: text/plain; charset=utf-8
                                        
server: nginx
date: Wed, 08 Feb 2023 21:21:41 GMT
content-length: 35
x-robots-tag: noindex, nofollow
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1\012- data
Size:   35
Md5:    c2196de8ba412c60c22ab491af7b1409
Sha1:   5fbd472222feb8a22cf5b8aa5dc5b8e13af88e2b
Sha256: 6adc3d4c1056996e4e8b765a62604c78b1f867cceb3b15d0b9bedb7c4857f992
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "BF9990ABAB4534D83E42D78C8FEF488A73B13840A6C0443327DB8120E5D3E586"
Last-Modified: Tue, 07 Feb 2023 02:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=6623
Expires: Wed, 08 Feb 2023 23:12:04 GMT
Date: Wed, 08 Feb 2023 21:21:41 GMT
Connection: keep-alive

                                        
                                            GET /banner/in/show/?mid=1151310446567289128&pid=0&site=31083&sc=NO&usage_type=DCH&subid=0&sid=0&cid=0&price=0&is_cpm=0&cpm=0&ecpm=0&crid=&crtid=&tcid=0&out_id=&ver=&ver_c=&refdom=txxx.tube&hostname=auc-banner-hz-3&site_id=0&spot_id=31083&utm_source=&utm_medium=&utm_campaign=&utm_content=&expiration_timestamp=0&created_at=0000-00-00&is_native=0&auction_queue=0&pop_winurl=&ip=91.90.42.154&testab=&px_id=0&adblock=0&auction_host=&mm=&yc=&render_type=&campaign_type=&uniq=&exp=&resp_type=default&iabcat=IAB25-3&min_cpm=0.002434&placement_type_id=&skin_test=&verify_hash=&score=99.81932178758454&ml=&tag_ab=c&v2=0&ttl=&space_id=31083&banner_width=300&banner_height=250&accel=0&gyr=0&iabcat=IAB25-3&url=https%3A%2F%2Fbtds.zog.link%2Fin%2F912%2F%3Fsid%3D31083%26source%3D0%26idzone%3D693941%26w%3D300%26h%3D250%26mo%3D%26ve%3D%26site_id%3D31083%26utm1%3D%26utm2%3D%26utm3%3D%26utm4%3D%26ad_tags%3DStraight%252CBrunette%252CHD%252CPornstar%252CHardcore%252CThreesome%2C%26spot_id%3D31083%26p%3Dhttps%253A%252F%252Ftxxx.tube%252Fvideos%252F11143639%252Fget-fucked-in-the-darkroom-little-caprice-jolee-love-marcello-bravo%252F%26katds_labels%3D%26btype%3D0%26score%3D99.81932178758454%26bf%3D0.002434&pr=&bid_crid=&bid_cid=&is_iframe=0&ad_tags=Straight%2CBrunette%2CHD%2CPornstar%2CHardcore%2CThreesome,&stratagem=nlabel-a&ssp=3756&refresh=1 HTTP/1.1 
Host: rtbrennab.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://rtbrennab.com/get/?go=1&data=eyJpbXAiOlt7InNlY3VyZSI6MSwiZXh0Ijp7InRhZ19hYiI6ImMiLCJtdWx0aSI6ZmFsc2UsInVzZXJfa2V5d29yZHMiOiIiLCJpZCI6MTQ5Niwic3BhY2VpZCI6MzEwODMsInR5cGUiOiJwb3AiLCJpZHpvbmUiOjY5Mzk0MSwiYWRfdGFncyI6IlN0cmFpZ2h0JTJDQnJ1bmV0dGUlMkNIRCUyQ1Bvcm5zdGFyJTJDSGFyZGNvcmUlMkNUaHJlZXNvbWUsIiwibGFiZWxzIjoiIiwiYWxsb3dlZF9sYWJlbHMiOiIiLCJ0aXRsZSI6IiIsInN1YmlkIjoiMCIsInJlZnJlc2giOjEsInV0bTEiOiIiLCJ1dG0yIjoiIiwidXRtNCI6IiIsInNwb3RfaWQiOjMxMDgzLCJtdWx0aXBsZSI6ZmFsc2UsImlzX2lmcmFtZSI6ZmFsc2UsInJlZmRvbWFpbiI6IiIsInBsIjo4LCJzdHJhdGFnZW0iOiJubGFiZWwtYSIsImd5ciI6MCwiYWNjZWwiOjAsInNzcCI6Mzc1NiwiYnR5cGUiOjAsInYyIjowLCJyY2hhbmdlIjpmYWxzZX0sImJhbm5lciI6eyJ3IjozMDAsImgiOjI1MH19XSwic2l0ZSI6eyJpZCI6IjMxMDgzIiwiY2F0IjpbIklBQjI1Il0sInBhZ2UiOiJodHRwczovL3R4eHgudHViZS92aWRlb3MvMTExNDM2MzkvZ2V0LWZ1Y2tlZC1pbi10aGUtZGFya3Jvb20tbGl0dGxlLWNhcHJpY2Utam9sZWUtbG92ZS1tYXJjZWxsby1icmF2by8ifSwiZGV2aWNlIjp7InciOjEyODAsImgiOjEwMjR9LCJ1c2VyIjp7ImlkIjoiOWU0OTQ3ZjM1NzUxNDY1NDExZmQxYTRmNWMzNThjNzgiLCJmcCI6bnVsbH0sImV4dCI6eyJkdCI6MTY3NTg5MTM1NzI3N319
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         159.69.163.6
HTTP/2 302 Found
                                        
server: nginx/1.18.0
date: Wed, 08 Feb 2023 21:21:41 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
location: https://btds.zog.link/in/912/?sid=31083&source=0&idzone=693941&w=300&h=250&mo=&ve=&site_id=31083&utm1=&utm2=&utm3=&utm4=&ad_tags=Straight%2CBrunette%2CHD%2CPornstar%2CHardcore%2CThreesome,&spot_id=31083&p=https%3A%2F%2Ftxxx.tube%2Fvideos%2F11143639%2Fget-fucked-in-the-darkroom-little-caprice-jolee-love-marcello-bravo%2F&katds_labels=&btype=0&score=99.81932178758454&bf=0.002434
X-Firefox-Spdy: h2

                                        
                                            GET /notifications/zeropixel.png HTTP/1.1 
Host: preroll.hostave3.net
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://rtbrennab.com/
Connection: keep-alive
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: cross-site

search
                                         104.21.235.3
HTTP/2 200 OK
content-type: image/png
                                        
date: Wed, 08 Feb 2023 21:21:41 GMT
content-length: 42
last-modified: Tue, 11 Sep 2018 08:40:52 GMT
etag: "5b977f94-2a"
expires: Thu, 31 Dec 2037 23:55:55 GMT
cache-control: max-age=315360000
cf-cache-status: HIT
age: 1122252
accept-ranges: bytes
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=J4hLinbMFXfE4NlJmKzs1yQqAUtciZm83DlRORfzJ4k7UuMiwzNyd0%2F4i2f1lanmgvefg7PxQdFljq9Khw164GHMB04gjWceYRTxRtjir9GnycI8NV5l9XjQFioet%2FxSlb2Q405dQg%3D%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
vary: Accept-Encoding
strict-transport-security: max-age=0
server: cloudflare
cf-ray: 79676a9c3ffc06d9-LHR
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  GIF image data, version 89a, 1 x 1\012- data
Size:   42
Md5:    d89746888da2d9510b64a9f031eaecd5
Sha1:   d5fceb6532643d0d84ffe09c40c481ecdf59e15a
Sha256: ef1955ae757c8b966c83248350331bd3a30f658ced11f387f8ebf05ab3368629
                                        
                                            GET /in/multy?spot_size=5&spot_id=18641&subid=718272788&label=1&session_id=26e09f28-3a4b-4195-9931-d1aff44d2942&cpa=d02272c4-30e3-4dd0-89b6-bab4c999900e&ver=6.14.0&adblock=0&ad_type=native&iw=229&ih=229&iframe=0&mm=0&pr=&user_keywords=Get%2Cfucked%2Cin%2Cthe%2Cdarkroom%2CLittle%2CCaprice%2CJolee%2CLove%2CMarcello%2CBravo%2CPorn%2Cvideo%2CTXXX.com%2Ctxxx.com%2Cporn%2Ctube%2Cxxx%2Ctube%2Cfree%2Cporn%2Cvideos%2Cfree%2Cporn%2Cxxx%2Cmovies%2Cxxx%2Ctube%2Cvideo%2Cfree%2Cxxx%2Cvidio%2Cclips%2Cxxxtube%2CWatch%2Cfree%2C%22Get%2Cfucked%2Cin%2Cthe%2Cdarkroom%2CLittle%2CCaprice%2CJolee%2CLove%2CMarcello%2CBravo%22%2Cporn%2Cvideo%2Ccategory%2Con%2CTxxx.com%2CHomemade%2Cfuck%2Cvideos%2CFree%2Camateur%2Cporn%2Con%2CTxxx.com&tag_ab=c&user_fp=0&v2=0&utm_source=&utm_medium=&utm_campaign=&utm_content=&campaign= HTTP/1.1 
Host: 2f5ca8af5f.caaaaaaaaa.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Origin: https://txxx.tube
Connection: keep-alive
Referer: https://txxx.tube/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site

search
                                         172.64.128.25
HTTP/2 200 OK
content-type: application/json; charset=utf-8
                                        
date: Wed, 08 Feb 2023 21:21:41 GMT
content-length: 28927
access-control-allow-origin: *
cache-control: no-cache, no-store, must-revalidate, no-transform
pragma: no-cache
cf-cache-status: DYNAMIC
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=qpIngm6iDfmhtr8xqFFCzZEMarFHMJZaMDpHjqU7dlwpCVv%2BANq%2FlspVTuNHxJZdA1EJ%2F5cLRofMgs%2FXo5iiN4tMwI%2B7HR5x2WIWfYs3yS%2B7EpEDubWsuoK9mZqjq5orhRPgmNuq7ccf6HcM"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
server: cloudflare
cf-ray: 79676a9b384b23ff-LHR
alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  JSON data\012- , ASCII text, with very long lines (28926)
Size:   28927
Md5:    30ad554d249543a2bdb7856c215eeec9
Sha1:   e9f86bc7759a16453e40e55287a3766d4bcc5e99
Sha256: d3938ce7e6232673811683b2cdfc15fe4bb6104920cb550e93e5a9670a3b43ee
                                        
                                            POST / HTTP/1.1 
Host: r3.o.lencr.org
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/ocsp-request
Content-Length: 85
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

search
                                         23.36.76.226
HTTP/1.1 200 OK
Content-Type: application/ocsp-response
                                        
Server: nginx
Content-Length: 503
ETag: "B49797B957B5144B432B0FA84A03A375302DFA6E433DBAF2C2B3989479F3422D"
Last-Modified: Wed, 08 Feb 2023 12:00:00 UTC
Cache-Control: public, no-transform, must-revalidate, max-age=16562
Expires: Thu, 09 Feb 2023 01:57:43 GMT
Date: Wed, 08 Feb 2023 21:21:41 GMT
Connection: keep-alive

                                        
                                            GET /banner/in/show/?mid=4128246742414613435&pid=0&site=31074&sc=NO&usage_type=DCH&subid=0&sid=0&cid=10461&price=0&is_cpm=1&cpm=0.004&ecpm=0.0031872&crid=&crtid=d41d8cd98f00b204e9800998ecf8427e&tcid=0&out_id=&ver=&ver_c=&refdom=txxx.tube&hostname=auc-banner-hz-6&site_id=0&spot_id=31074&utm_source=&utm_medium=&utm_campaign=&utm_content=&expiration_timestamp=0&created_at=0000-00-00&is_native=6&auction_queue=0&pop_winurl=&ip=91.90.42.154&testab=&px_id=0&adblock=0&auction_host=&mm=&yc=&render_type=&campaign_type=&uniq=&exp=&resp_type=a2&iabcat=IAB25-3&min_cpm=0.0038792670682730925&placement_type_id=8&skin_test=&verify_hash=&score=99.81939614184735&ml=&tag_ab=c&v2=0&ttl=&space_id=31074&banner_width=300&banner_height=250&accel=0&gyr=0&iabcat=IAB25-3&url=https%3A%2F%2Fpreroll.hostave3.net%2Fnotifications%2Fzeropixel.png&pr=&bid_crid=&bid_cid=&is_iframe=0&ad_tags=Straight%2CBrunette%2CHD%2CPornstar%2CHardcore%2CThreesome,&stratagem=nlabel-b&ssp=3756&refresh=1 HTTP/1.1 
Host: rtbrennab.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: image/avif,image/webp,*/*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://rtbrennab.com/get/?go=1&data=eyJpbXAiOlt7InNlY3VyZSI6MSwiZXh0Ijp7InRhZ19hYiI6ImMiLCJtdWx0aSI6ZmFsc2UsInVzZXJfa2V5d29yZHMiOiIiLCJpZCI6MTQ5Niwic3BhY2VpZCI6MzEwNzQsInR5cGUiOiJwb3AiLCJpZHpvbmUiOjY5MzkzNSwiYWRfdGFncyI6IlN0cmFpZ2h0JTJDQnJ1bmV0dGUlMkNIRCUyQ1Bvcm5zdGFyJTJDSGFyZGNvcmUlMkNUaHJlZXNvbWUsIiwibGFiZWxzIjoiIiwiYWxsb3dlZF9sYWJlbHMiOiIiLCJ0aXRsZSI6IiIsInN1YmlkIjoiMCIsInJlZnJlc2giOjEsInV0bTEiOiIiLCJ1dG0yIjoiIiwidXRtNCI6IiIsInNwb3RfaWQiOjMxMDc0LCJtdWx0aXBsZSI6ZmFsc2UsImlzX2lmcmFtZSI6ZmFsc2UsInJlZmRvbWFpbiI6IiIsInBsIjo4LCJzdHJhdGFnZW0iOiJubGFiZWwtYiIsImd5ciI6MCwiYWNjZWwiOjAsInNzcCI6Mzc1NiwiYnR5cGUiOjAsInYyIjowLCJyY2hhbmdlIjpmYWxzZX0sImJhbm5lciI6eyJ3IjozMDAsImgiOjI1MH19XSwic2l0ZSI6eyJpZCI6IjMxMDc0IiwiY2F0IjpbIklBQjI1Il0sInBhZ2UiOiJodHRwczovL3R4eHgudHViZS92aWRlb3MvMTExNDM2MzkvZ2V0LWZ1Y2tlZC1pbi10aGUtZGFya3Jvb20tbGl0dGxlLWNhcHJpY2Utam9sZWUtbG92ZS1tYXJjZWxsby1icmF2by8ifSwiZGV2aWNlIjp7InciOjEyODAsImgiOjEwMjR9LCJ1c2VyIjp7ImlkIjoiOWU0OTQ3ZjM1NzUxNDY1NDExZmQxYTRmNWMzNThjNzgiLCJmcCI6bnVsbH0sImV4dCI6eyJkdCI6MTY3NTg5MTM1NzI2Nn19
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
TE: trailers

search
                                         159.69.163.6
HTTP/2 302 Found
                                        
server: nginx/1.18.0
date: Wed, 08 Feb 2023 21:21:41 GMT
content-length: 0
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
location: https://preroll.hostave3.net/notifications/zeropixel.png
X-Firefox-Spdy: h2

                                        
                                            GET /get/?go=1&data=eyJpbXAiOlt7InNlY3VyZSI6MSwiZXh0Ijp7InRhZ19hYiI6ImMiLCJtdWx0aSI6ZmFsc2UsInVzZXJfa2V5d29yZHMiOiIiLCJpZCI6MTQ5Niwic3BhY2VpZCI6MzEwODQsInR5cGUiOiJwb3AiLCJpZHpvbmUiOjY5MzkxMywiYWRfdGFncyI6IlN0cmFpZ2h0JTJDQnJ1bmV0dGUlMkNIRCUyQ1Bvcm5zdGFyJTJDSGFyZGNvcmUlMkNUaHJlZXNvbWUsIiwibGFiZWxzIjoiIiwiYWxsb3dlZF9sYWJlbHMiOiIiLCJ0aXRsZSI6IiIsInN1YmlkIjoiMCIsInJlZnJlc2giOjEsInV0bTEiOiIiLCJ1dG0yIjoiIiwidXRtNCI6IiIsInNwb3RfaWQiOjMxMDg0LCJtdWx0aXBsZSI6ZmFsc2UsImlzX2lmcmFtZSI6ZmFsc2UsInJlZmRvbWFpbiI6IiIsInBsIjoxLCJzdHJhdGFnZW0iOiJubGFiZWwtYiIsImd5ciI6MCwiYWNjZWwiOjAsInNzcCI6Mzc1NiwiYnR5cGUiOjAsInYyIjowLCJyY2hhbmdlIjpmYWxzZX0sImJhbm5lciI6eyJ3IjozMDAsImgiOjI1MH19XSwic2l0ZSI6eyJpZCI6IjMxMDg0IiwiY2F0IjpbIklBQjI1Il0sInBhZ2UiOiJodHRwczovL3R4eHgudHViZS92aWRlb3MvMTExNDM2MzkvZ2V0LWZ1Y2tlZC1pbi10aGUtZGFya3Jvb20tbGl0dGxlLWNhcHJpY2Utam9sZWUtbG92ZS1tYXJjZWxsby1icmF2by8ifSwiZGV2aWNlIjp7InciOjEyODAsImgiOjEwMjR9LCJ1c2VyIjp7ImlkIjoiOWU0OTQ3ZjM1NzUxNDY1NDExZmQxYTRmNWMzNThjNzgiLCJmcCI6bnVsbH0sImV4dCI6eyJkdCI6MTY3NTg5MTM1NzI1NH19 HTTP/1.1 
Host: rtbrennab.com
                                        
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://txxx.tube/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site

search
                                         159.69.163.6
HTTP/2 200 OK
content-type: text/html
                                        
server: nginx/1.18.0
date: Wed, 08 Feb 2023 21:21:41 GMT
vary: Origin
cache-control: no-transform, no-cache, no-store, must-revalidate
pragma: no-cache
access-control-allow-origin: *
access-control-allow-headers: Content-Type
access-control-allow-methods: *
content-encoding: gzip
X-Firefox-Spdy: h2


--- Additional Info ---
Magic:  HTML document text\012- HTML document text\012- HTML document text\012- exported SGML document, ASCII text, with very long lines (4442)
Size:   3468
Md5:    493af6bd77d543ac9ba9dc2ae7d5ef12
Sha1:   b0db58519f73ae415093b8db56d460eca18ad827
Sha256: 4ad1e1c6d833f585f2b57d8d1b2a326a64ef0ff849a0dd755f56cfc69a16827b
                                        
                                            GET /api/v1/p/p.gif?p=APeIQFMmDJkycuaI0HGDhYgwY-gsjOGQzpmFInLkKDPGBo4YYVrkgCGmTAsaNcTEaIGjjA0YLcrIiCEDxo0YZnKWmSHC4Rwxacgo1LFFBAwRXRyOcTO0RgwYDsPUGYORBk0cMmjYuEEjawytMWbQmFGjpwigZDCmoVOmzZcYZg3amWijK1QRcOqIWViDrIyocOBMDEvWJxyJOmbYyIEyBkURZfDQ-TLnMEaDet64KfNlxlOuZse0EazDKY3TM6KSMTPRoRg3b